.. 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"
}