click>=8.1
google-auth>=2.23.0
google-auth-oauthlib>=1.2.0
google-api-python-client>=2.108.0
jinja2>=3.1.0
psutil>=5.9.0
requests>=2.31.0
pyyaml>=6.0.1
keyring>=25.0.0

[autopilot]
fastapi>=0.104.0
uvicorn[standard]>=0.24.0
pydantic>=2.5.0
anthropic>=0.40.0

[autopilot-dev]
g-gremlin[autopilot]
pytest>=7.4.0
httpx>=0.25.0

[dev]
pytest>=7.4.0
pytest-asyncio>=0.23.0
httpx>=0.25.0
import-linter>=2.0

[docs-confluence]
markdown-it-py>=3.0.0
mdit-py-plugins>=0.4.0

[docs-word]
python-docx>=1.1.0

[keychain]
keyring>=25.0.0

[query]
duckdb>=1.0.0

[secrets-aws]
boto3>=1.26

[secrets-gcp]
google-cloud-secret-manager>=2.0

[sink]
g-gremlin[sink-bq]
g-gremlin[sink-s3]
g-gremlin[sink-gcs]

[sink-all]
g-gremlin[sink]
g-gremlin[sink-parquet]
g-gremlin[sink-snowflake]
g-gremlin[sink-redshift]

[sink-bq]
google-cloud-bigquery>=3.0

[sink-gcs]
google-cloud-storage>=2.0

[sink-parquet]
pyarrow>=14.0

[sink-redshift]
psycopg2-binary>=2.9

[sink-s3]
boto3>=1.26

[sink-snowflake]
snowflake-connector-python>=3.0

[tableau]
tableauserverclient>=0.30
pydantic>=2.7.0
pandas>=2.2.0
lxml>=5.0.0

[tableau-hyper]
tableauhyperapi>=0.0.19

[test]
pytest>=7.4.0
pytest-asyncio>=0.23.0
pytest-timeout>=2.3.1
httpx>=0.25.0
beautifulsoup4>=4.12.0
langdetect>=1.0.9
fastapi>=0.111.0
pydantic>=2.7.0
pydantic-settings>=2.4.0
python-dotenv>=1.0.0
python-multipart>=0.0.9
sqlmodel>=0.0.18
SQLAlchemy>=2.0
aiosqlite>=0.19.0
pandas>=2.2.0
numpy>=1.26.0
duckdb>=0.10.0
pyarrow>=15.0.0
rapidfuzz>=3.6.0
responses>=0.25.0
prometheus-client>=0.23.0
redis>=5.0.0
rq>=1.15.0
fakeredis>=2.23.0
PyJWT>=2.10.0
email-validator>=2.2.0
apscheduler>=3.10.0
croniter>=6.0.0
asteval>=0.9.0
chardet>=5.2.0
aiofiles>=25.0.0
bitarray>=2.9.0
phonenumbers>=8.13.0
cryptography>=41.0.0
python-jose>=3.3.0
scikit-learn>=1.3.0
publicsuffix2>=2.20191221
boto3>=1.26.0
sse-starlette>=3.0.0
tldextract>=5.0.0

[visualize]
plotly>=5.0.0
kaleido>=0.2.0
pandas>=2.0.0
