-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathpyproject.toml
96 lines (85 loc) · 2.51 KB
/
pyproject.toml
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
[tool.poetry]
name = "sample-size"
version = "3.0.0"
description = "A python module implementing power analysis to estimate sample size"
authors = []
include = ["CHANGELOG.md", "README.md"]
readme = "README.md"
maintainers = ["GoDaddy <[email protected]>"]
keywords = ["sample size", "experimentation", "power analysis"]
[tool.poetry.dependencies]
python = ">=3.8,<3.11"
statsmodels = "^0.14.0"
jsonschema = "^4.5.1"
[tool.poetry.dev-dependencies]
flake8 = "^5.0"
coverage = "^7.0"
isort = "^5.6.3"
black = "^23.0.0"
mypy = "^1.0"
pytest = "^7.0.0"
pytest-sugar = "^0.9.4"
pytest-cov = "^4.0.0"
click = "8.1.3"
parameterized = "^0.9.0"
[tool.poetry.scripts]
qa = "poetry_scripts:qa"
test = "poetry_scripts:test"
format = "poetry_scripts:format_fix"
format-check = "poetry_scripts:format_check"
lint = "poetry_scripts:lint"
type-check = "poetry_scripts:type_check"
run-sample-size = "sample_size.scripts.sample_size_run:main"
[tool.isort]
ensure_newline_before_comments = true
line_length = 120
force_single_line = true
[tool.black]
line-length = 120
[tool.mypy]
ignore_missing_imports = true
show_error_codes = true
pretty = true
# Flags set by mypy --strict
warn_unused_configs = true
disallow_any_generics = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_return_any = true
no_implicit_reexport = true
strict_equality = true
[[tool.mypy.overrides]]
module = "tests.*"
# Disable checking that's annoying for tests
disallow_untyped_defs = false
disallow_untyped_calls = false
[tool.pytest.ini_options]
minversion = "6.0"
addopts = "--cov --cov-report term --cov-report term-missing --cov-report xml:coverage/coverage.xml --cov-fail-under 100 --durations=0"
testpaths = ["tests"]
[tool.coverage.run]
branch = true
source = ["sample_size"]
[tool.coverage.report]
exclude_lines = [
# Have to re-enable the standard pragma
"pragma: no cover", # Don't complain about missing debug-only code:
"def __repr__",
"if self.debug", # Don't complain if tests don't hit defensive assertion code:
"raise AssertionError",
"raise NotImplementedError", # Don't complain if non-runnable code isn't run:
"if 0:",
"if __name__ == .__main__.:", # Don't complain about mypy-specific code
"if TYPE_CHECKING:",
]
ignore_errors = true
[build-system]
build-backend = "poetry.core.masonry.api"
requires = ["poetry_core>=1.0.0"]