-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathpyproject.toml
More file actions
108 lines (101 loc) · 2.79 KB
/
pyproject.toml
File metadata and controls
108 lines (101 loc) · 2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
[tool.poetry]
name = "Ambrosia"
version = "0.5.1"
description = "A Python library for working with A/B tests."
license = "Apache-2.0"
authors = [
"Aslan Bayramkulov <aslan.bayramkulov96@gmail.com>",
"Artem Khakimov <artem.khakimov@gmail.com>",
"Artem Vasin <p1not1equals1np@gmail.com>",
]
readme = "README.rst"
homepage = "https://github.com/MobileTeleSystems/Ambrosia"
repository = "https://github.com/MobileTeleSystems/Ambrosia"
documentation = "https://ambrosia.readthedocs.io"
keywords = [
"ambrosia",
"ab testing",
"split testing",
"experiment design",
"groups split",
]
classifiers = [
"Development Status :: 3 - Alpha",
"Topic :: Scientific/Engineering :: Mathematics",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3",
"Topic :: Software Development :: Libraries :: Python Modules",
"Intended Audience :: Science/Research",
"Intended Audience :: Education",
"Operating System :: Unix",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
]
packages = [
{ include = "ambrosia", from = "." },
]
[tool.poetry.dependencies]
python = ">=3.9, <3.14"
jinja2 = ">=3.1.0, <4.0.0"
joblib = ">=1.3.0, <2.0.0"
nmslib = ">=2.1.0, <3.0.0"
hnswlib = ">=0.7.0, <1.0.0"
numpy = ">=1.24.0, <3.0.0"
pandas = ">=1.5.0, <3.0.0"
pyspark = { version = ">=3.4, <5.0", optional = true }
PyYAML = ">=6.0.1, <7.0.0"
scikit-learn = ">=1.3.0, <2.0.0"
scipy = ">=1.10.0, <2.0.0"
tqdm = ">=4.65.0, <5.0.0"
hyperopt = ">=0.2.7, <0.3.0"
setuptools = ">=65.0.0, <82.0.0"
catboost = ">=1.2.0, <2.0.0"
statsmodels = ">=0.14.0, <1.0.0"
[tool.poetry.group.dev.dependencies]
autopep8 = ">=2.0.0, <3.0.0"
black = ">=23.0.0, <25.0.0"
isort = ">=5.12.0, <6.0.0"
pylint = ">=3.0.0, <4.0.0"
flake8 = ">=6.1.0, <8.0.0"
flake8-docstrings = ">=1.7.0, <2.0.0"
pytest = ">=7.4.0, <9.0.0"
pytest-cov = ">=4.1.0, <6.0.0"
pytest-lazy-fixtures = ">=1.0.0, <2.0.0"
[tool.poetry.extras]
spark = ["pyspark"]
[tool.black]
line-length = 120
target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
include = '\.pyi?$'
exclude = '''
(
/(
\.eggs # exclude a few common directories in the
| \.git # root of the project
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
| docs
)/
)
'''
[tool.pytest.ini_options]
console_output_style = "progress"
testpaths = ["tests"]
junit_family = "xunit2"
python_functions = "test_"
markers = [
"unit: mark a test as a unit test",
"smoke: mark a test as smoke test"
]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"