This repository has been archived by the owner on Nov 2, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
pyproject.toml
127 lines (113 loc) · 3.12 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
[tool.poetry]
name = "patito"
version = "0.4.4"
description = "A dataframe modelling library built on top of polars and pydantic."
authors = ["Jakob Gerhard Martinussen <jakobgm@gmail.com>"]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/kolonialno/patito"
repository = "https://github.com/kolonialno/patito"
documentation = "https://patito.readthedocs.io"
keywords = ["validation", "dataframe"]
[tool.poetry.dependencies]
python = "^3.7"
pydantic = ">=1.7.0"
polars = ">=0.15.2"
# Required for typing.Literal in python3.7
typing-extensions = "*"
pandas = {version = "*", optional = true, python = "^3.8"}
duckdb = {version = ">=0.6.0", optional = true, python = "^3.8"}
pyarrow = {version = ">=5.0.0", optional = true, python = "^3.8"}
importlib-metadata = {version = "*", python = "<3.8"}
# Optional docs dependencies
Sphinx = {version = "*", optional = true}
sphinx-rtd-theme = {version = "*", optional = true}
sphinx-autobuild = {version = "*", optional = true}
sphinx-autodoc-typehints = {version = "*", optional = true}
sphinxcontrib-mermaid = {version = "*", optional = true}
[tool.poetry.extras]
duckdb = ["duckdb", "pyarrow"]
pandas = ["pandas"]
docs = ["Sphinx", "sphinx-rtd-theme", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinxcontrib-mermaid"]
[tool.poetry.dev-dependencies]
black = ">=22.3.0"
coverage = {version = "*", extras = ["toml"]}
flake8 = "3.9.2"
flake8-annotations = "*"
flake8-bandit = "*"
flake8-black = "*"
flake8-bugbear = "*"
flake8-isort = "*"
isort = "*"
pyright = ">=1.1.239"
pytest = ">=7.1.2"
pytest-cov = ">=3.0.0"
pytest-watcher = ">=0.2.3"
xdoctest = ">=1.0.0"
mypy = ">=0.950"
types-setuptools = ">=57.4.14"
pandas-stubs = ">=1.2.0"
codecov = "^2.1.12"
blackdoc = "*"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
filterwarnings = [
# Convert warnings into test errors
"error",
"ignore:pygments is not installed*:UserWarning",
"ignore:unclosed running multiprocessing pool*:ResourceWarning",
]
[tool.coverage.paths]
source = ["src", "*/site-packages"]
[tool.coverage.run]
branch = true
source = ["patito"]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"if TYPE_CHECKING:",
"if not _PANDAS_AVAILABLE:",
"except ImportError:",
]
fail_under = 100
show_missing = true
[tool.isort]
profile = "black"
[tool.pyright]
exclude = ["noxfile.py"]
[tool.mypy]
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
no_implicit_optional = true
strict_optional = false
warn_redundant_casts = true
warn_unused_ignores = true
warn_no_return = true
warn_unreachable = true
allow_redefinition = true
show_error_codes = true
exclude = [
"noxfile.py",
]
[[tool.mypy.overrides]]
module = ["tests.*", "noxfile"]
allow_untyped_defs = true
check_untyped_defs = true
disallow_incomplete_defs = false
# TODO: Go through and remove those we want to check in tests
disable_error_code = [
"var-annotated",
"override",
"attr-defined",
"call-arg",
"type-var",
"misc",
"arg-type",
"assignment",
]
[[tool.mypy.overrides]]
module = ["tests.test_validators"]
warn_unused_ignores = false