pydantic>=2.0.0
jsonschema>=4.0.0
pandas>=2.0.0
numpy>=1.24.0
pyyaml>=6.0.0
sqlalchemy>=2.0.0
alembic>=1.13.0
jsonata-python>=0.6.0
httpx>=0.24.0

[all]
pycharter[api,docs,etl,lineage,messaging,ontology,postgres,streaming,ui,worker]

[api]
fastapi>=0.104.0
uvicorn[standard]>=0.24.0
pydantic-settings>=2.0.0
python-multipart>=0.0.6
PyJWT>=2.8.0
httpx>=0.24.0

[dev]
pycharter[all]
PyJWT>=2.8.0
pytest>=7.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
black==26.1.0
isort==5.13.2
mypy>=1.0.0
pre-commit>=3.0.0
build>=0.10.0
twine>=4.0.0
jupyterlab>=4.0.0
ipykernel>=6.0.0
pymongo>=4.0.0
boto3>=1.26.0

[docs]
mkdocs<2,>=1.5.3
mkdocs-material>=9.5.0
mkdocstrings[python]>=0.24.0
pymdown-extensions>=10.0.0
mike>=2.0.0

[etl]
sshtunnel>=0.4.0
boto3>=1.26.0
google-cloud-storage>=2.0.0
azure-storage-blob>=12.0.0
openpyxl>=3.0.0
lxml>=4.9.0
pyarrow>=14.0.0
pymongo>=4.0.0

[kafka]
aiokafka>=0.9.0

[lineage]
openlineage-python>=1.0.0

[messaging]
pycharter[kafka,rabbitmq]

[ontology]
rdflib>=7.0.0
pyshacl>=0.26.0

[postgres]
psycopg2-binary>=2.9.0

[rabbitmq]
aio-pika>=9.0.0

[streaming]
websockets>=12.0
watchfiles>=0.21.0

[ui]
fastapi>=0.104.0
uvicorn[standard]>=0.24.0
httpx>=0.24.0
aiofiles>=23.0.0

[worker]
