pandas
sqlalchemy
psycopg2-binary
python-dotenv
PyYAML==6.0.2

[all]
openpyxl>=3.1.2
pyarrow>=15.0
boto3>=1.34.0
azure-storage-blob>=12.19.0
google-cloud-storage>=2.14.0
requests>=2.31.0
streamlit>=1.36
pytest>=8.0
pytest-cov>=5.0
ruff>=0.4
mypy>=1.10
PyMySQL>=1.1.0
pymongo>=4.6.0
paramiko>=3.4.0
simple-salesforce>=1.12.0
google-api-python-client>=2.120.0
google-auth>=2.28.0
google-auth-httplib2>=0.2.0

[api]
requests>=2.31.0

[azure]
azure-storage-blob>=12.19.0

[connectors]
PyMySQL>=1.1.0
pymongo>=4.6.0
paramiko>=3.4.0
simple-salesforce>=1.12.0
requests>=2.31.0
google-api-python-client>=2.120.0
google-auth>=2.28.0
google-auth-httplib2>=0.2.0

[dev]
pytest>=8.0
pytest-cov>=5.0
ruff>=0.4
mypy>=1.10

[excel]
openpyxl>=3.1.2

[gcs]
google-cloud-storage>=2.14.0

[google_sheets]
google-api-python-client>=2.120.0
google-auth>=2.28.0
google-auth-httplib2>=0.2.0

[hubspot]
requests>=2.31.0

[mongodb]
pymongo>=4.6.0

[mysql]
PyMySQL>=1.1.0

[notifications]
requests>=2.31.0

[parquet]
pyarrow>=15.0

[postgresql]
psycopg2-binary>=2.9.0

[s3]
boto3>=1.34.0

[salesforce]
simple-salesforce>=1.12.0

[sftp]
paramiko>=3.4.0

[stripe]
requests>=2.31.0

[v2]
openpyxl>=3.1.2
pyarrow>=15.0
boto3>=1.34.0
azure-storage-blob>=12.19.0
google-cloud-storage>=2.14.0
requests>=2.31.0

[web]
streamlit>=1.36
