ambrosia


Nameambrosia JSON
Version 0.4.1 PyPI version JSON
download
home_pagehttps://github.com/MobileTeleSystems/Ambrosia
SummaryA Python library for working with A/B tests.
upload_time2023-04-21 16:52:33
maintainer
docs_urlNone
authorAslan Bayramkulov
requires_python>=3.7.2,<3.11.0
licenseApache-2.0
keywords ambrosia ab testing split testing experiment design groups split
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. shields start

Ambrosia
========

|PyPI| |PyPI License| |ReadTheDocs| |Tests| |Coverage| |Black| |Python Versions| |Telegram Channel|

.. |PyPI| image:: https://img.shields.io/pypi/v/ambrosia
    :target: https://pypi.org/project/ambrosia
.. |PyPI License| image:: https://img.shields.io/pypi/l/ambrosia.svg
    :target: https://github.com/MobileTeleSystems/Ambrosia/blob/main/LICENSE
.. |ReadTheDocs| image:: https://img.shields.io/readthedocs/ambrosia.svg
    :target: https://ambrosia.readthedocs.io
.. |Tests| image:: https://img.shields.io/github/actions/workflow/status/MobileTeleSystems/Ambrosia/test.yaml?branch=main
    :target: https://github.com/MobileTeleSystems/Ambrosia/actions/workflows/test.yaml?query=branch%3Amain+
.. |Coverage| image:: https://codecov.io/gh/MobileTeleSystems/Ambrosia/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/MobileTeleSystems/Ambrosia
.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black
.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/ambrosia.svg
    :target: https://pypi.org/project/ambrosia  
.. |Telegram Channel| image:: https://img.shields.io/badge/telegram-Ambrosia-blueviolet.svg?logo=telegram
    :target: https://t.me/+Tkt43TNUUSAxNWNi

.. shields end

.. image:: https://raw.githubusercontent.com/MobileTeleSystems/Ambrosia/main/docs/source/_static/ambrosia.png
   :height: 320 px
   :width: 320 px
   :align: center

.. title

*Ambrosia* is a Python library for A/B tests design, split and effect measurement. 
It provides rich set of methods for conducting full A/B testing pipeline. 

The project is intended for use in research and production environments 
based on data in pandas and Spark format.

.. functional

Key functionality
-----------------

* Pilots design 🛫
* Multi-group split 🎳
* Matching of new control group to the existing pilot 🎏
* Experiments result evaluation as p-value, point estimate of effect and confidence interval 🎞
* Data preprocessing ✂️
* Experiments acceleration 🎢

.. documentation

Documentation
-------------

For more details, see the `Documentation <https://ambrosia.readthedocs.io/>`_ 
and `Tutorials <https://github.com/MobileTeleSystems/Ambrosia/tree/main/examples>`_.

.. install

Installation
------------

You can always get the newest *Ambrosia* release using ``pip``.
Stable version is released on every tag to ``main`` branch. 

.. code:: bash
    
    pip install ambrosia 

Starting from version ``0.4.0``, the ability to process PySpark data is optional and can be enabled 
using ``pip`` extras during the installation.

.. code:: bash
    
    pip install ambrosia[spark]

.. usage

Usage
-----

The main functionality of *Ambrosia* is contained in several core classes and methods, 
which are autonomic for each stage of an experiment and have very intuitive interface. 

|

Below is a brief overview example of using a set of three classes to conduct some simple experiment.

**Designer**

.. code:: python

    from ambrosia.designer import Designer
    designer = Designer(dataframe=df, effects=1.2, metrics='portfel_clc') # 20% effect, and loaded data frame df
    designer.run('size') 


**Splitter**

.. code:: python

    from ambrosia.splitter import Splitter
    splitter = Splitter(dataframe=df, id_column='id') # loaded data frame df with column with id - 'id'
    splitter.run(groups_size=500, method='simple') 


**Tester**

.. code:: python

    from ambrosia.tester import Tester
    tester = Tester(dataframe=df, column_groups='group') # loaded data frame df with groups info 'group'
    tester.run(metrics='retention', method='theory', criterion='ttest')

.. develop

Development
-----------

To install all requirements run

.. code:: bash

    make install

You must have ``python3`` and ``poetry`` installed.

For autoformatting run

.. code:: bash

    make autoformat

For linters check run

.. code:: bash

    make lint

For tests run

.. code:: bash

    make test

For coverage run

.. code:: bash

    make coverage

To remove virtual environment run

.. code:: bash

    make clean

.. contributors

Authors
-------

**Developers and evangelists**:

* `Bayramkulov Aslan <https://github.com/aslanbm>`_
* `Khakimov Artem <https://github.com/xandaau>`_
* `Vasin Artem <https://github.com/VictorFromChoback>`_

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/MobileTeleSystems/Ambrosia",
    "name": "ambrosia",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7.2,<3.11.0",
    "maintainer_email": "",
    "keywords": "ambrosia,ab testing,split testing,experiment design,groups split",
    "author": "Aslan Bayramkulov",
    "author_email": "aslan.bayramkulov96@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/1f/2f/ecb5fe91285056ae1c9ff62761f72f526e59e8b6a7ee4f78dfa729e279ff/ambrosia-0.4.1.tar.gz",
    "platform": null,
    "description": ".. shields start\n\nAmbrosia\n========\n\n|PyPI| |PyPI License| |ReadTheDocs| |Tests| |Coverage| |Black| |Python Versions| |Telegram Channel|\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/ambrosia\n    :target: https://pypi.org/project/ambrosia\n.. |PyPI License| image:: https://img.shields.io/pypi/l/ambrosia.svg\n    :target: https://github.com/MobileTeleSystems/Ambrosia/blob/main/LICENSE\n.. |ReadTheDocs| image:: https://img.shields.io/readthedocs/ambrosia.svg\n    :target: https://ambrosia.readthedocs.io\n.. |Tests| image:: https://img.shields.io/github/actions/workflow/status/MobileTeleSystems/Ambrosia/test.yaml?branch=main\n    :target: https://github.com/MobileTeleSystems/Ambrosia/actions/workflows/test.yaml?query=branch%3Amain+\n.. |Coverage| image:: https://codecov.io/gh/MobileTeleSystems/Ambrosia/branch/main/graph/badge.svg\n    :target: https://codecov.io/gh/MobileTeleSystems/Ambrosia\n.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :target: https://github.com/psf/black\n.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/ambrosia.svg\n    :target: https://pypi.org/project/ambrosia  \n.. |Telegram Channel| image:: https://img.shields.io/badge/telegram-Ambrosia-blueviolet.svg?logo=telegram\n    :target: https://t.me/+Tkt43TNUUSAxNWNi\n\n.. shields end\n\n.. image:: https://raw.githubusercontent.com/MobileTeleSystems/Ambrosia/main/docs/source/_static/ambrosia.png\n   :height: 320 px\n   :width: 320 px\n   :align: center\n\n.. title\n\n*Ambrosia* is a Python library for A/B tests design, split and effect measurement. \nIt provides rich set of methods for conducting full A/B testing pipeline. \n\nThe project is intended for use in research and production environments \nbased on data in pandas and Spark format.\n\n.. functional\n\nKey functionality\n-----------------\n\n* Pilots design \ud83d\udeeb\n* Multi-group split \ud83c\udfb3\n* Matching of new control group to the existing pilot \ud83c\udf8f\n* Experiments result evaluation as p-value, point estimate of effect and confidence interval \ud83c\udf9e\n* Data preprocessing \u2702\ufe0f\n* Experiments acceleration \ud83c\udfa2\n\n.. documentation\n\nDocumentation\n-------------\n\nFor more details, see the `Documentation <https://ambrosia.readthedocs.io/>`_ \nand `Tutorials <https://github.com/MobileTeleSystems/Ambrosia/tree/main/examples>`_.\n\n.. install\n\nInstallation\n------------\n\nYou can always get the newest *Ambrosia* release using ``pip``.\nStable version is released on every tag to ``main`` branch. \n\n.. code:: bash\n    \n    pip install ambrosia \n\nStarting from version ``0.4.0``, the ability to process PySpark data is optional and can be enabled \nusing ``pip`` extras during the installation.\n\n.. code:: bash\n    \n    pip install ambrosia[spark]\n\n.. usage\n\nUsage\n-----\n\nThe main functionality of *Ambrosia* is contained in several core classes and methods, \nwhich are autonomic for each stage of an experiment and have very intuitive interface. \n\n|\n\nBelow is a brief overview example of using a set of three classes to conduct some simple experiment.\n\n**Designer**\n\n.. code:: python\n\n    from ambrosia.designer import Designer\n    designer = Designer(dataframe=df, effects=1.2, metrics='portfel_clc') # 20% effect, and loaded data frame df\n    designer.run('size') \n\n\n**Splitter**\n\n.. code:: python\n\n    from ambrosia.splitter import Splitter\n    splitter = Splitter(dataframe=df, id_column='id') # loaded data frame df with column with id - 'id'\n    splitter.run(groups_size=500, method='simple') \n\n\n**Tester**\n\n.. code:: python\n\n    from ambrosia.tester import Tester\n    tester = Tester(dataframe=df, column_groups='group') # loaded data frame df with groups info 'group'\n    tester.run(metrics='retention', method='theory', criterion='ttest')\n\n.. develop\n\nDevelopment\n-----------\n\nTo install all requirements run\n\n.. code:: bash\n\n    make install\n\nYou must have ``python3`` and ``poetry`` installed.\n\nFor autoformatting run\n\n.. code:: bash\n\n    make autoformat\n\nFor linters check run\n\n.. code:: bash\n\n    make lint\n\nFor tests run\n\n.. code:: bash\n\n    make test\n\nFor coverage run\n\n.. code:: bash\n\n    make coverage\n\nTo remove virtual environment run\n\n.. code:: bash\n\n    make clean\n\n.. contributors\n\nAuthors\n-------\n\n**Developers and evangelists**:\n\n* `Bayramkulov Aslan <https://github.com/aslanbm>`_\n* `Khakimov Artem <https://github.com/xandaau>`_\n* `Vasin Artem <https://github.com/VictorFromChoback>`_\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "A Python library for working with A/B tests.",
    "version": "0.4.1",
    "split_keywords": [
        "ambrosia",
        "ab testing",
        "split testing",
        "experiment design",
        "groups split"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "85726387dbb9ddd8954c507e830679924af7d45e804766d7564e63d82a30249f",
                "md5": "c1272e2e8765875c7159d2221d9d11ef",
                "sha256": "21d52dbfa4357df6cb4ef6107a855db8b0425fd90f8b827cdc10af2aa1ee9660"
            },
            "downloads": -1,
            "filename": "ambrosia-0.4.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c1272e2e8765875c7159d2221d9d11ef",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7.2,<3.11.0",
            "size": 120790,
            "upload_time": "2023-04-21T16:52:32",
            "upload_time_iso_8601": "2023-04-21T16:52:32.114809Z",
            "url": "https://files.pythonhosted.org/packages/85/72/6387dbb9ddd8954c507e830679924af7d45e804766d7564e63d82a30249f/ambrosia-0.4.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1f2fecb5fe91285056ae1c9ff62761f72f526e59e8b6a7ee4f78dfa729e279ff",
                "md5": "001b7e28bf1b0ce5301d2a7a5be1f3e3",
                "sha256": "fce128842183ebacea6db6726f514d4c928ccb2a57b9211b270b9dc3e5b896f9"
            },
            "downloads": -1,
            "filename": "ambrosia-0.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "001b7e28bf1b0ce5301d2a7a5be1f3e3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7.2,<3.11.0",
            "size": 87369,
            "upload_time": "2023-04-21T16:52:33",
            "upload_time_iso_8601": "2023-04-21T16:52:33.969658Z",
            "url": "https://files.pythonhosted.org/packages/1f/2f/ecb5fe91285056ae1c9ff62761f72f526e59e8b6a7ee4f78dfa729e279ff/ambrosia-0.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-21 16:52:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "MobileTeleSystems",
    "github_project": "Ambrosia",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ambrosia"
}
        
Elapsed time: 0.12816s