-
Notifications
You must be signed in to change notification settings - Fork 94
Expand file tree
/
Copy pathpyproject.toml
More file actions
118 lines (106 loc) · 2.67 KB
/
pyproject.toml
File metadata and controls
118 lines (106 loc) · 2.67 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
109
110
111
112
113
114
115
116
117
118
[build-system]
requires = ["setuptools > 64", "setuptools-scm > 8.0.0", "setuptools-golang"]
build-backend = "setuptools.build_meta"
[project]
name = "karapace"
requires-python = ">=3.12,<3.15"
dynamic = ["version"]
readme = "README.rst"
license = {file = "LICENSE"}
dependencies = [
"accept-types",
"aiohttp",
"aiokafka<0.13.0",
"async_lru",
"cachetools",
"confluent-kafka",
"cryptography",
"fastapi[standard]",
"jsonschema",
"lz4",
"networkx",
"protobuf==3.20.3",
"pydantic",
"pydantic-settings",
"pyjwt",
"python-dateutil",
"python-snappy",
"tenacity",
"typing-extensions",
"orjson",
"ujson", # Keep as fallback
"watchfiles",
"zstandard",
"prometheus-client",
"prometheus-fastapi-instrumentator",
"yarl",
"opentelemetry-api",
"opentelemetry-sdk",
"opentelemetry-exporter-otlp",
"opentelemetry-proto<1.28.0",
"dependency-injector",
# Patched dependencies
#
# Note: It is important to use commits to reference patched dependencies. This
# has two advantages:
# - Reproducible builds
# - The contents of the file change, which invalidates the existing docker
# images and forces a new image generation.
#
"avro @ https://github.com/aiven/avro/archive/5a82d57f2a650fd87c819a30e433f1abb2c76ca2.tar.gz#subdirectory=lang/py",
]
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Database :: Database Engines/Servers",
"Topic :: Software Development :: Libraries",
]
[project.scripts]
karapace = "karapace.__main__:main"
karapace_rest_proxy = "karapace.kafka_rest_apis.__main__:main"
karapace_mkpasswd = "karapace.core.auth:main"
[project.urls]
Homepage = "https://karapace.io"
Repository = "https://github.com/Aiven-Open/karapace/"
Issues = "https://github.com/Aiven-Open/karapace/issues"
[project.optional-dependencies]
sentry-sdk = ["sentry-sdk>=1.6.0"]
systemd-logging = ["systemd-python"]
ujson = ["ujson"]
dev = [
# Developer QoL
"pdbpp",
"ruff",
# testing
"filelock",
"hypothesis",
"psutil",
"pytest",
"pytest-cov",
"pytest-random-order",
"pytest-timeout",
"pytest-xdist[psutil]",
"requests",
# performance test
"locust",
# Sentry SDK
"sentry-sdk"
]
typing = [
"mypy",
"sentry-sdk",
"types-cachetools",
"types-jsonschema",
"types-protobuf < 4"
]
[tool.setuptools]
include-package-data = true
[tool.setuptools_scm]
version_file = "src/karapace/version.py"
[tool.ruff]
line-length = 125