pydantic<3.0.0,>=2.0.0
typing-extensions>=4.0.0
pydantic-settings>=2.0.0

[all]
itl-controlplane-sdk[fastapi,graphdb,identity,messaging,pulumi,storage,storage-sqlalchemy]

[dev]
pytest>=7.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
black>=22.0.0
mypy>=1.0.0
ruff>=0.1.0
pre-commit>=3.0.0

[docs]
mkdocs>=1.5.0
mkdocs-material>=9.0.0
mkdocstrings[python]>=0.20.0

[fastapi]
fastapi>=0.104.0
uvicorn[standard]>=0.24.0
starlette>=0.27.0

[graphdb]

[graphdb-neo4j]
itl-controlplane-sdk[graphdb]
neo4j>=5.0.0

[graphdb-postgres]
itl-controlplane-sdk[graphdb]
psycopg2-binary>=2.9.0

[identity]
email-validator>=2.0.0

[messaging]

[messaging-rabbitmq]
itl-controlplane-sdk[messaging]
aio-pika>=9.0.0

[pulumi]
pulumi>=3.0.0
pulumi-kubernetes>=4.0.0

[storage]
itl-controlplane-sdk[graphdb]

[storage-postgres]
itl-controlplane-sdk[graphdb-postgres,storage]

[storage-sqlalchemy]
sqlalchemy[asyncio]>=2.0.0
asyncpg>=0.29.0
alembic>=1.13.0

[storage-sqlalchemy-neo4j]
itl-controlplane-sdk[storage-sqlalchemy]
neo4j>=5.0.0

[test]
pytest>=7.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
