crcmod<2.0,>=1.7
orjson<4,>=3.9.7
dill<0.3.2,>=0.3.1.1
fastavro<2,>=0.23.6
fasteners<1.0,>=0.3
hdfs<3.0.0,>=2.1.0
httplib2<0.23.0,>=0.8
jsonschema<5.0.0,>=4.0.0
jsonpickle<4.0.0,>=3.0.0
numpy<2.3.0,>=1.14.3
objsize<0.8.0,>=0.6.1
packaging>=22.0
pymongo<5.0.0,>=3.8.0
proto-plus<2,>=1.7.1
protobuf!=4.0.*,!=4.21.*,!=4.22.0,!=4.23.*,!=4.24.*,<6.0.0.dev0,>=3.20.3
pydot<2,>=1.2.0
python-dateutil<3,>=2.8.0
pytz>=2018.3
redis<6,>=5.0.0
regex>=2020.6.8
requests<3.0.0,>=2.32.4
sortedcontainers>=2.4.0
typing-extensions>=3.7.0
zstandard<1,>=0.18.0
pyyaml<7.0.0,>=3.12
beartype<0.22.0,>=0.21.0
pyarrow<19.0.0,>=3.0.0
pyarrow-hotfix<1

[:python_version <= "3.12"]
grpcio!=1.48.0,!=1.59.*,!=1.60.*,!=1.61.*,!=1.62.0,!=1.62.1,<1.66.0,<2,>=1.33.1

[:python_version >= "3.13"]
grpcio>=1.67.0

[aws]
boto3<2,>=1.9

[azure]
azure-storage-blob<13,>=12.3.2
azure-core<2,>=1.7.0
azure-identity<2,>=1.12.0

[dask]
distributed>=2024.4.2
dask>=2024.4.2

[dataframe]
pandas!=1.5.0,!=1.5.1,<2.3,>=1.4.3

[docs]
jinja2<3.2,>=3.0
Sphinx<8.0,>=7.0.0
docstring-parser<1.0,>=0.15
docutils>=0.18.1
markdown
pandas<2.3.0
openai
virtualenv-clone<1.0,>=0.5

[gcp]
cachetools<7,>=3.1.0
google-api-core<3,>=2.0.0
google-auth<3,>=1.18.0
google-auth-httplib2<0.3.0,>=0.1.0
google-cloud-datastore<3,>=2.0.0
google-cloud-pubsub<3,>=2.1.0
google-cloud-pubsublite<2,>=1.2.0
google-cloud-storage<3,>=2.18.2
google-cloud-bigquery<4,>=2.0.0
google-cloud-bigquery-storage<3,>=2.6.3
google-cloud-core<3,>=2.0.0
google-cloud-bigtable<3,>=2.19.0
google-cloud-spanner<4,>=3.0.0
google-cloud-dlp<4,>=3.0.0
google-cloud-language<3,>=2.0
google-cloud-videointelligence<3,>=2.0
google-cloud-vision<4,>=2
google-cloud-recommendations-ai<0.11.0,>=0.1.0
google-cloud-aiplatform<2.0,>=1.26.0
cloud-sql-python-connector<2.0.0,>=1.18.2
python-tds>=1.16.1
pg8000>=1.31.1
PyMySQL>=1.1.0
keyrings.google-artifactregistry-auth

[gcp:python_version < "3.13"]
google-apitools<0.5.32,>=0.5.31

[gcp:python_version >= "3.13"]
google-apitools<0.5.33,>=0.5.32

[interactive]
facets-overview<2,>=1.1.0
google-cloud-dataproc<6,>=5.0.0
ipython<9,>=7
ipykernel<7,>=6
ipywidgets<9,>=8
jupyter-client!=6.1.13,<8.2.1,>=6.1.11
timeloop<2,>=1.0.2
nbformat<6,>=5.0.5
nbconvert<8,>=6.2.0
pandas!=1.5.0,!=1.5.1,<2.3,>=1.4.3

[interactive_test]
needle<1,>=0.5.0
chromedriver-binary<118,>=117
pillow<10,>=7.1.1
urllib3<2,>=1.21.1

[milvus]
pymilvus<3.0.0,>=2.5.10

[ml_test]
datatable
embeddings
langchain
onnxruntime
sentence-transformers
skl2onnx
pillow
pyod
tensorflow
tensorflow-hub
tensorflow-transform
tf2onnx
torch
transformers

[onnx]
onnxruntime==1.13.1
torch==1.13.1
tensorflow==2.11.0
tf2onnx==1.13.0
skl2onnx==1.13
transformers==4.25.1

[p312_ml_test]
datatable
embeddings
onnxruntime
langchain
sentence-transformers
skl2onnx
pillow
pyod
tensorflow
tensorflow-hub
tf2onnx
torch
transformers

[tensorflow]
tensorflow<2.17,>=2.12rc1

[tensorflow-hub]
tensorflow-hub<0.16.0,>=0.14.0

[test]
cloud-sql-python-connector[pg8000]<2.0.0,>=1.0.0
docstring-parser<1.0,>=0.15
freezegun>=0.3.12
jinja2<3.2,>=3.0
joblib>=1.0.1
mock<6.0.0,>=1.0.1
pandas<2.3.0
parameterized<0.10.0,>=0.7.1
pyhamcrest!=1.10.0,<3.0.0,>=1.9
requests_mock<2.0,>=1.7
tenacity<9,>=8.0.0
pytest<8.0,>=7.1.2
pytest-xdist<4,>=2.5.0
pytest-timeout<3,>=2.1.0
scikit-learn>=0.20.0
sqlalchemy<3.0,>=1.3
testcontainers[kafka,milvus,mysql]<5.0.0,>=4.0.0
cryptography>=41.0.2
hypothesis<7.0.0,>5.0.0
virtualenv-clone<1.0,>=0.5
python-tds>=1.16.1
sqlalchemy-pytds>=1.0.2
pg8000>=1.31.1
PyMySQL>=1.1.0
oracledb>=3.1.1
pymilvus<3.0.0,>=2.5.10

[test:python_version <= "3.9"]
psycopg2-binary<2.9.10,>=2.8.5

[test:python_version >= "3.10"]
psycopg2-binary<3.0,>=2.8.5

[tft]
tensorflow_transform<1.15.0,>=1.14.0

[torch]
torch<2.8.0,>=1.9.0

[transformers]
transformers<4.56.0,>=4.28.0
tensorflow>=2.12.0
torch>=1.9.0

[xgboost]
xgboost<2.1.3,>=1.6.0
datatable==1.0.0

[yaml]
docstring-parser<1.0,>=0.15
jinja2<3.2,>=3.0
virtualenv-clone<1.0,>=0.5
pandas!=1.5.0,!=1.5.1,<2.3,>=1.4.3

[yaml:python_version < "3.12"]
js2py<1,>=0.74
