-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
111 lines (100 loc) · 2.69 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
[tool.poetry]
name = "koda-validate"
version = "4.2.0"
readme = "README.md"
description = "Typesafe, composable validation"
documentation = "https://koda-validate.readthedocs.io/en/stable/"
authors = ["Keith Philpott"]
license = "MIT"
homepage = "https://github.com/keithasaurus/koda-validate"
keywords = ["validation", "type hints", "asyncio", "serialization", "typesafe", "validate", "validators", "predicate", "processor"]
classifiers = [
'Development Status :: 5 - Production/Stable',
'Environment :: MacOS X',
'Environment :: Web Environment',
'Intended Audience :: Developers',
'Operating System :: MacOS',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX :: Linux',
'Operating System :: Unix',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: Utilities',
'Typing :: Typed'
]
[tool.poetry.dependencies]
python = "^3.8.1"
koda = "1.4.0"
[tool.poetry.group.dev.dependencies]
pytest = "8.3.2"
pyright = "1.1.375"
pytest-cov = "5.0.0"
isort = "5.13.2"
flake8 = "7.1.1"
pre-commit = "3.5.0"
mypy = "1.11.1"
pydantic = "2.8.2"
pytest-asyncio = "0.23.8"
voluptuous = "0.14.2"
ssort = "0.13.0"
jsonschema = "4.23.0"
types-jsonschema = "4.23.0.20240712"
sphinx = "6.2.1"
furo = "2023.9.10"
flask = {version = "3.0.3", extras = ["async"]}
django = "4.2.15"
django-stubs = "5.0.4"
pytest-django = "4.8.0"
sphinx-autodoc-typehints = "1.23.0"
darglint = "1.8.1"
black = "24.8.0"
[tool.mypy]
exclude = ["build", "bench"]
allow_redefinition = false
check_untyped_defs = true
disallow_any_generics = true
disallow_incomplete_defs = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_decorators = true
disallow_untyped_defs = true
# we need to wait for this to be up-to-date
#enable_recursive_aliases = true
ignore_errors = false
ignore_missing_imports = false
local_partial_types = true
no_implicit_optional = true
no_implicit_reexport = true
strict_optional = true
strict_equality = true
warn_no_return = true
warn_redundant_casts = true
warn_return_any = true
warn_unused_configs = true
warn_unused_ignores = true
warn_unreachable = true
[tool.pytest.ini_options]
addopts ="""
--cov=koda_validate
--cov-report=term:skip-covered
--cov-report=html
--cov-branch
--cov-fail-under=94
--ds=examples.django_example.django_example.settings
"""
# ^^ --ds = "django settings module"
[tool.coverage.run]
omit = [
"koda_validate/validate_and_map.py",
"tests/*"
]
[tool.isort]
line_length = 90
profile = "black"
[tool.black]
line_length = 90
target_version = ['py310']
[tool.pyright]
include = ["koda_validate", "tests", "examples"]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"