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

[ai]
anthropic>=0.34.0
openai>=1.50.0

[all]
pycharter[api,collab,docs,extraction,lineage,messaging,ontology,pipeline,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

[collab]
python-socketio>=5.11.0

[dev]
pycharter[all]
PyJWT>=2.8.0
requests>=2.32.3
pytest>=7.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
pytest-timeout>=2.1.0
ruff>=0.9.0
mypy>=1.0.0
types-PyYAML>=6.0.0
pre-commit>=3.0.0
build>=0.10.0
twine>=4.0.0
marimo>=0.9.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

[extraction]
tree-sitter<1.0.0,>=0.23.0
tree-sitter-python<1.0.0,>=0.23.0
tree-sitter-javascript<1.0.0,>=0.23.0
tree-sitter-typescript<1.0.0,>=0.23.0
tree-sitter-go<1.0.0,>=0.23.0
tree-sitter-rust<1.0.0,>=0.23.0
tree-sitter-java<1.0.0,>=0.23.0
markdown-it-py<5.0.0,>=3.0.0
pypdf<8.0.0,>=4.0.0

[kafka]
aiokafka>=0.9.0

[lineage]
openlineage-python>=1.0.0

[linkml]
linkml>=1.7.0
linkml-runtime>=1.7.0

[messaging]
pycharter[kafka,rabbitmq]

[neo4j]
neo4j<7.0.0,>=5.0.0

[ontology]
rdflib>=7.0.0
pyshacl>=0.26.0
owlrl>=6.0.0
networkx>=3.0
pycharter[linkml]

[pipeline]
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

[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]
