duckdb<2,>=1.0
pyarrow<25,>=14

[all]
alpaca-py>=0.14.0
httpx>=0.24.0
google-auth>=2.52.0
reportlab>=4.0.0
jinja2>=3.0.0
markdown-it-py>=3.0.0
pypdf<7,>=5.0.0
pillow<13,>=10.0.0
fastapi>=0.136.1
uvicorn[standard]>=0.24.0
pydantic>=2.13.4
pydantic-settings>=2.0.0
python-multipart>=0.0.6
PyJWT>=2.8.0
aiofiles>=23.0.0
sqlalchemy<3.0,>=2.0.0
alembic<2.0,>=1.13.0
websockets<17,>=13
opentelemetry-api<2,>=1.24.0
opentelemetry-sdk<2,>=1.24.0
opentelemetry-instrumentation-fastapi>=0.49b0
opentelemetry-instrumentation-httpx>=0.62b1
opentelemetry-exporter-otlp-proto-http<2,>=1.24.0
psycopg[binary]<4,>=3.1
pymongo<5,>=4.6
redis[hiredis]<9,>=5

[alpaca]
alpaca-py>=0.14.0

[api]
fastapi>=0.136.1
uvicorn[standard]>=0.24.0
pydantic>=2.13.4
pydantic-settings>=2.0.0
httpx>=0.24.0
python-multipart>=0.0.6
PyJWT>=2.8.0
sqlalchemy<3.0,>=2.0.0
alembic<2.0,>=1.13.0

[bridges-pygubernator]

[bridges-pystator]

[ci]
pyactuator[api,documents-read]
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.9.0
mypy>=1.0.0
pre-commit>=3.0.0
mkdocs<2,>=1.6.1
mkdocs-material>=9.7.6
mkdocstrings[python]>=0.24.0
pymdown-extensions>=10.0.0

[comms-email]

[comms-slack]
httpx>=0.24.0

[comms-twilio]
httpx>=0.24.0

[data-sources-bigquery]
google-cloud-bigquery<4,>=3.0

[data-sources-files]

[data-sources-postgres]
psycopg[binary]<4,>=3.1

[data-sources-redshift]
redshift-connector<3,>=2.0

[data-sources-snowflake]
snowflake-connector-python<5,>=3.0

[database-mongo]
pymongo<5,>=4.6

[database-postgres]
psycopg[binary]<4,>=3.1

[database-redis]
redis[hiredis]<9,>=5

[database-sqlite]

[dev]
pyactuator[api]
pyactuator[documents-read]
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.9.0
mypy>=1.0.0
pre-commit>=3.0.0
build>=0.10.0
twine>=6.2.0
requests>=2.32.3
mkdocs<2,>=1.6.1
mkdocs-material>=9.7.6
mkdocstrings[python]>=0.24.0
pymdown-extensions>=10.0.0
mike>=2.2.0

[docs]
mkdocs<2,>=1.6.1
mkdocs-material>=9.7.6
mkdocstrings[python]>=0.24.0
pymdown-extensions>=10.0.0
mike>=2.2.0

[documents-md]
jinja2>=3.0.0
markdown-it-py>=3.0.0

[documents-pdf]
reportlab>=4.0.0

[documents-read]
pypdf<7,>=5.0.0
pillow<13,>=10.0.0

[fmp]
httpx>=0.24.0

[google]
httpx>=0.24.0
google-auth>=2.52.0

[market-data]
httpx>=0.24.0

[massive]
httpx>=0.24.0

[massive-stream]
websockets<17,>=13

[otel]
opentelemetry-api<2,>=1.24.0
opentelemetry-sdk<2,>=1.24.0
opentelemetry-instrumentation-fastapi>=0.49b0
opentelemetry-instrumentation-httpx>=0.62b1
opentelemetry-exporter-otlp-proto-http<2,>=1.24.0

[research-brave]
httpx>=0.24.0

[research-tavily]
httpx>=0.24.0

[store-mongo]
pymongo<5,>=4.6

[store-postgres]
psycopg[binary]<4,>=3.1

[trading-alpaca]
alpaca-py>=0.14.0

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