-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
125 lines (110 loc) · 3.34 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
[build-system]
requires = ["poetry-core", "poetry-dynamic-versioning"]
build-backend = "poetry_dynamic_versioning.backend"
[tool.poetry]
name = "apitally"
version = "1.0.0"
description = "Simple API monitoring & analytics for REST APIs built with FastAPI, Flask, Django, Starlette and Litestar."
readme = "README.md"
authors = ["Apitally <hello@apitally.io>"]
license = "MIT License"
homepage = "https://apitally.io"
documentation = "https://docs.apitally.io"
repository = "https://github.com/apitally/apitally-py"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Framework :: Django",
"Framework :: FastAPI",
"Framework :: Flask",
"Intended Audience :: Developers",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware",
"Typing :: Typed",
]
[tool.poetry.dependencies]
backoff = ">=2.0.0"
python = ">=3.8,<4.0"
# Optional dependencies, included in extras
django = [
{ version = ">=2.2,<5", python = "<3.10", optional = true },
{ version = ">=2.2", python = ">=3.10", optional = true }
]
django-ninja = { version = ">=0.18.0", optional = true }
djangorestframework = { version = ">=3.10.0", optional = true }
fastapi = { version = ">=0.87.0", optional = true }
flask = { version = ">=2.0.0", optional = true }
httpx = { version = ">=0.22.0", optional = true }
inflection = { version = ">=0.5.1", optional = true }
litestar = { version = ">=2.0.0", optional = true }
requests = { version = ">=2.26.0", optional = true }
sentry-sdk = { version = ">=2.2.0", optional = true }
starlette = { version = ">=0.21.0,<1.0.0", optional = true }
uritemplate = { version = ">=3.0.0", optional = true }
[tool.poetry.group.dev.dependencies]
ipykernel = "^6.26.0"
mypy = "^1.10.0"
pre-commit = [
{ version = "^3.5.0", python = "<3.9" },
{ version = "^3.7.0", python = ">=3.9" }
]
ruff = "^0.6.0"
[tool.poetry.group.test.dependencies]
pytest = [
{ version = "^7.0.0", python = "<3.9" },
{ version = "^8.0.0", python = ">=3.9" }
]
pytest-asyncio = "^0.21.2"
pytest-cov = "^5.0.0"
pytest-httpx = [
{ version = "^0.22.0", python = "<3.9" },
{ version = "^0.30.0", python = ">=3.9" }
]
pytest-mock = "^3.12.0"
requests-mock = "^1.11.0"
[tool.poetry.group.types.dependencies]
django-types = "*"
djangorestframework-types = "*"
types-colorama = "*"
types-docutils = "*"
types-pygments = "*"
types-pyyaml = "*"
types-requests = "*"
types-setuptools = "*"
types-six = "*"
types-ujson = "*"
[tool.poetry.extras]
django_ninja = ["django", "django-ninja", "requests"]
django_rest_framework = [
"django",
"djangorestframework",
"uritemplate", # required for schema generation
"inflection", # required for schema generation
"requests",
]
fastapi = ["fastapi", "starlette", "httpx"]
flask = ["flask", "requests"]
litestar = ["litestar", "httpx"]
sentry = ["sentry-sdk"]
starlette = ["starlette", "httpx"]
[tool.poetry-dynamic-versioning]
enable = true
style = "semver"
vcs = "git"
[tool.ruff]
line-length = 120
target-version = "py312"
[tool.ruff.lint]
ignore = ["E501"]
select = ["E", "F", "W", "I"]
[tool.ruff.lint.isort]
lines-after-imports = 2
[tool.mypy]
python_version = "3.12"
check_untyped_defs = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
[tool.coverage.run]
source = ["apitally"]
[tool.coverage.report]
exclude_lines = ["pragma: no cover", "if TYPE_CHECKING"]