pandas>=2.1.0
numpy>=1.24.0
scipy>=1.11.0
scikit-learn>=1.3.0
statsmodels>=0.14.0
pingouin>=0.5.3
plotly>=5.17.0
matplotlib>=3.7.0
jinja2>=3.1.0
redis>=5.0.0

[advanced]
ruptures>=1.1.8
pmdarima>=2.0.4

[connectors]
psycopg2-binary>=2.9.0
pymysql>=1.1.0
snowflake-connector-python>=3.0.0
sqlalchemy>=2.0.0
openpyxl>=3.1.0
pyarrow>=14.0.0
boto3>=1.34.0
azure-storage-blob>=12.19.0
google-cloud-storage>=2.10.0
google-cloud-bigquery>=3.11.0
pandas-gbq>=0.19.0

[dev]
pytest>=7.4.0
pytest-asyncio>=0.21.0
pytest-cov>=4.1.0
pytest-benchmark>=4.0.0
black>=23.11.0
mypy>=1.7.0
ruff>=0.1.0

[export]
jinja2>=3.1.0
weasyprint>=60.0
python-pptx>=0.6.23
nbformat>=5.7.0
kaleido>=0.2.1

[large_data]
dask[dataframe]>=2024.1.0

[llm]
openai>=1.6.0
groq>=0.4.0
httpx>=0.25.0
