pyinfra/pyproject.toml
2024-11-18 15:14:34 +01:00

105 lines
2.5 KiB
TOML

[tool.poetry]
name = "pyinfra"
version = "3.4.0"
description = ""
authors = ["Team Research <research@knecon.com>"]
license = "All rights reseverd"
[tool.poetry.dependencies]
python = ">=3.10,<3.11"
# infra, deployment
pika = "^1.3"
retry = "^0.9"
minio = "^7.1"
prometheus-client = "^0.18"
# azure
azure-core = "^1.29"
azure-storage-blob = "^12.13"
# misc utils
funcy = "^2"
pycryptodome = "^3.19"
fastapi = "^0.109.0"
uvicorn = "^0.26.0"
[tool.poetry.group.internal.dependencies]
kn-utils = { version = "0.4.0", source = "nexus" }
# [tool.poetry.group.telemetry.dependencies]
opentelemetry-instrumentation-pika = "^0.49b1"
opentelemetry-exporter-otlp = "^1.28.1"
opentelemetry-instrumentation = "^0.49b1"
opentelemetry-api = "^1.28.1"
opentelemetry-sdk = "^1.28.1"
opentelemetry-exporter-otlp-proto-http = "^1.28.1"
opentelemetry-instrumentation-flask = "^0.49b1"
opentelemetry-instrumentation-requests = "^0.49b1"
opentelemetry-instrumentation-fastapi = "^0.49b1"
wcwidth = "<=0.2.12"
azure-monitor-opentelemetry = "^1.6.0"
# We set protobuf to this range because the image classification service depends on a protobuf version <4, but does not use proto files.
# Therefore, we allow latest possible protobuf version in the services which use proto files. As soon as the dependency issue is fixed set this to the latest possible protobuf version
# protobuf = ">=3.20 <5.0.0"
aio-pika = "^9.4.2"
aiohttp = "^3.9.5"
opentelemetry-instrumentation-aio-pika = "0.49b1"
[tool.poetry.group.dev.dependencies]
pytest = "^7"
ipykernel = "^6.26.0"
black = "^24.10"
pylint = "^3"
coverage = "^7.3"
requests = "^2.31"
pre-commit = "^3.6.0"
cyclonedx-bom = "^4.1.1"
dvc = "^3.51.2"
dvc-azure = "^3.1.0"
deepdiff = "^7.0.1"
pytest-cov = "^5.0.0"
[tool.pytest.ini_options]
minversion = "6.0"
addopts = "-ra -q"
testpaths = ["tests", "integration"]
log_cli = 1
log_cli_level = "DEBUG"
[tool.mypy]
exclude = ['.venv']
[tool.black]
line-length = 120
target-version = ["py310"]
[tool.isort]
profile = "black"
[tool.pylint.format]
max-line-length = 120
disable = [
"C0114",
"C0325",
"R0801",
"R0902",
"R0903",
"R0904",
"R0913",
"R0914",
"W0511",
]
docstring-min-length = 3
[[tool.poetry.source]]
name = "pypi-proxy"
url = "https://nexus.knecon.com/repository/pypi-proxy/simple"
priority = "primary"
[[tool.poetry.source]]
name = "nexus"
url = "https://nexus.knecon.com/repository/python/simple"
priority = "explicit"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"