# seqabpy
![python-package-build](https://github.com/NPodlozhniy/seqabpy/actions/workflows/python-package.yml/badge.svg)
[![python-package-coverage](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/NPodlozhniy/seqabpy/python-coverage-comment-action-data/endpoint.json)](https://htmlpreview.github.io/?https://github.com/NPodlozhniy/seqabpy/blob/python-coverage-comment-action-data/htmlcov/index.html)
![PyPI - Version](https://img.shields.io/pypi/v/seqabpy?label=pypi%20version&color=green)
Sequential A/B Testing Framework in Python
### Getting started
Easy installation via `pip`
```
$ pip install seqabpy
```
### Workflow
With each push to `master` building workflow is triggered that,
besides the build itself, checks linters, applies tests and measures the coverage.
What is more, when the tag is pushed, PyPI workflow is triggered,
that publishes a package and, in addition, builds GitHub release.
### Development
If you would like to contribute to the project yo can do the following
1. Copy the repo
```
$ git clone https://github.com/NPodlozhniy/seqabpy.git
```
2. Test the package
```
$ python -m pip install pytest coverage
$ coverage run --source=src --module pytest --verbose tests && coverage report --show-missing
```
3. Install requirements for developers
```
$ pip install -r requirements_dev.txt
```
4. Make changes and then release a new version
```
$ python -m build
$ python -m twine upload --repository testpypi dist/*
```
Raw data
{
"_id": null,
"home_page": null,
"name": "seqabpy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "AB, AVI, GST, Sequential, Testing",
"author": null,
"author_email": "Nikita Podlozhniy <podlozhnyy.ne@phystech.edu>",
"download_url": "https://files.pythonhosted.org/packages/ef/c5/d3493a95fc9afd94b462906698a71096f80eb5b2ab0f867b8bb143773a64/seqabpy-0.1.2.tar.gz",
"platform": null,
"description": "# seqabpy\n![python-package-build](https://github.com/NPodlozhniy/seqabpy/actions/workflows/python-package.yml/badge.svg)\n[![python-package-coverage](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/NPodlozhniy/seqabpy/python-coverage-comment-action-data/endpoint.json)](https://htmlpreview.github.io/?https://github.com/NPodlozhniy/seqabpy/blob/python-coverage-comment-action-data/htmlcov/index.html)\n![PyPI - Version](https://img.shields.io/pypi/v/seqabpy?label=pypi%20version&color=green)\n\nSequential A/B Testing Framework in Python\n\n### Getting started\n\nEasy installation via `pip`\n\n```\n$ pip install seqabpy\n```\n\n### Workflow\n\nWith each push to `master` building workflow is triggered that,\nbesides the build itself, checks linters, applies tests and measures the coverage.\n\nWhat is more, when the tag is pushed, PyPI workflow is triggered,\nthat publishes a package and, in addition, builds GitHub release.\n\n\n### Development\n\nIf you would like to contribute to the project yo can do the following\n\n\n1. Copy the repo\n```\n$ git clone https://github.com/NPodlozhniy/seqabpy.git\n```\n\n2. Test the package\n```\n$ python -m pip install pytest coverage\n$ coverage run --source=src --module pytest --verbose tests && coverage report --show-missing\n```\n\n3. Install requirements for developers\n```\n$ pip install -r requirements_dev.txt\n```\n\n4. Make changes and then release a new version\n```\n$ python -m build\n$ python -m twine upload --repository testpypi dist/*\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Sequential A/B Testing Framework in Python",
"version": "0.1.2",
"project_urls": {
"Homepage": "https://npodlozhniy.github.io/posts/sequential-testing/",
"Source Code": "https://github.com/NPodlozhniy/seqabpy"
},
"split_keywords": [
"ab",
" avi",
" gst",
" sequential",
" testing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "79ca40d203d29f750569c0c12a527b385f2e8ce1330c330b2a63c70c4b60be0d",
"md5": "e548f92be2ece8e16f5df5e5246b2499",
"sha256": "b659bd87085ddb8fe9c94f0daf0a4a20c5d0fd99ef09fb96d4a7e402031d2d23"
},
"downloads": -1,
"filename": "seqabpy-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e548f92be2ece8e16f5df5e5246b2499",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 15114,
"upload_time": "2024-12-24T19:45:26",
"upload_time_iso_8601": "2024-12-24T19:45:26.566135Z",
"url": "https://files.pythonhosted.org/packages/79/ca/40d203d29f750569c0c12a527b385f2e8ce1330c330b2a63c70c4b60be0d/seqabpy-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "efc5d3493a95fc9afd94b462906698a71096f80eb5b2ab0f867b8bb143773a64",
"md5": "69e443f006118afd93f88a84a76aa77e",
"sha256": "bf4909a8c360afed1a11d8e563a4b0ebe797fe56876336de46f06fbf5101a1a6"
},
"downloads": -1,
"filename": "seqabpy-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "69e443f006118afd93f88a84a76aa77e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 17777,
"upload_time": "2024-12-24T19:45:29",
"upload_time_iso_8601": "2024-12-24T19:45:29.386281Z",
"url": "https://files.pythonhosted.org/packages/ef/c5/d3493a95fc9afd94b462906698a71096f80eb5b2ab0f867b8bb143773a64/seqabpy-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-24 19:45:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "NPodlozhniy",
"github_project": "seqabpy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "numpy",
"specs": [
[
">=",
"1.21.6"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"1.7.3"
]
]
},
{
"name": "statsmodels",
"specs": [
[
"~=",
"0.13.5"
]
]
}
],
"lcname": "seqabpy"
}