pydantic<3.0,>=2.0.0
jsonschema>=4.26.0
pandas>=2.0.0
numpy>=1.24.0
pyyaml>=6.0.0
sqlalchemy<3.0,>=2.0.0
alembic<2.0,>=1.13.0
jsonata-python>=0.6.0
httpx<1.0,>=0.24.0
networkx>=3.0

[ai]
anthropic>=0.34.0
openai>=2.44.0
mcp<2,>=1.0

[airflow]
apache-airflow<4,>=3.2.2

[all]
pycharter[ai,cli,docs,extraction,otel,pipeline,postgres,semantic,server,streaming]

[ci]
pycharter[extraction,pipeline,postgres,semantic,server,streaming]
testcontainers[postgres]>=4.0.0
pytest>=7.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
pytest-timeout>=2.1.0
pytest-xdist>=3.5.0
ruff>=0.15.20
mypy>=1.0.0
types-PyYAML>=6.0.0
requests>=2.32.3
pre-commit>=3.0.0
mkdocs<2,>=1.5.3
mkdocs-material[imaging]>=9.7.6
mkdocstrings[python]>=0.24.0
pymdown-extensions>=10.0.0

[cli]
rich<16.0,>=13.0.0

[dagster]
dagster>=1.7

[dev]
pycharter[all]
requests>=2.32.3
pytest>=7.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
pytest-timeout>=2.1.0
pytest-xdist>=3.5.0
pytest-benchmark>=4.0.0
testcontainers[kafka]>=4.0.0
testcontainers[postgres]>=4.0.0
opentelemetry-sdk<2,>=1.20
ruff>=0.15.20
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
vulture>=2.11
deptry>=0.20
pip-audit>=2.7

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

[extraction]
tree-sitter<1.0.0,>=0.25.2
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.24.2
tree-sitter-java<1.0.0,>=0.23.5
markdown-it-py<5.0.0,>=4.2.0
pypdf<8.0.0,>=4.0.0
sqlglot>=25.0

[otel]
opentelemetry-api<2,>=1.20

[pipeline]
sshtunnel>=0.4.0
boto3>=1.26.0
google-cloud-storage>=3.12.0
azure-storage-blob>=12.0.0
openpyxl>=3.1.5
lxml>=4.9.0
pyarrow>=14.0.0
pymongo>=4.0.0
openlineage-python>=1.0.0

[postgres]
asyncpg>=0.29
psycopg[binary]>=3.3.4

[prefect]
prefect<4,>=3.0

[semantic]
linkml>=1.7.0
linkml-runtime>=1.7.0
rdflib>=7.0.0
owlrl>=6.0.0
neo4j<7.0.0,>=6.2.0

[server]
fastapi<0.140,>=0.136.3
uvicorn[standard]<1.0,>=0.24.0
starlette>=1.2.1
pydantic-settings<3.0,>=2.14.2
python-multipart>=0.0.6
PyJWT<3.0,>=2.8.0
httpx<1.0,>=0.24.0
aiofiles>=25.1.0
prometheus-client>=0.19.0
psycopg[binary]>=3.3.4

[streaming]
websockets>=12.0
watchfiles>=0.21.0
prometheus_client>=0.19.0
aiohttp>=3.9.0
aiokafka>=0.9.0
aio-pika>=9.0.0
redis>=5.0.0
python-socketio>=5.11.0
