[tool.poetry] name = "pyinfra" version = "4.1.0" description = "" authors = ["Team Research "] 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" # DONT USE GROUPS BECAUSE THEY ARE NOT INSTALLED FOR PACKAGES # [tool.poetry.group.internal.dependencies] <<< THIS IS NOT WORKING kn-utils = { version = ">=0.4.0", source = "nexus" } # We set all opentelemetry dependencies to lower bound 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 opentelemetry version opentelemetry-instrumentation-pika = ">=0.46b0,<0.50" opentelemetry-exporter-otlp = ">=1.25.0,<1.29" opentelemetry-instrumentation = ">=0.46b0,<0.50" opentelemetry-api = ">=1.25.0,<1.29" opentelemetry-sdk = ">=1.25.0,<1.29" opentelemetry-exporter-otlp-proto-http = ">=1.25.0,<1.29" opentelemetry-instrumentation-flask = ">=0.46b0,<0.50" opentelemetry-instrumentation-requests = ">=0.46b0,<0.50" opentelemetry-instrumentation-fastapi = ">=0.46b0,<0.50" opentelemetry-instrumentation-aio-pika = ">=0.46b0,<0.50" wcwidth = "<=0.2.12" azure-monitor-opentelemetry = "^1.6.0" aio-pika = "^9.4.2" aiohttp = "^3.9.5" # THIS IS NOT AVAILABLE FOR SERVICES THAT IMPLEMENT PYINFRA [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"