cryptography<48.0.0,>=39.0.0
fastavro<2,>=0.23.6
fasteners<1.0,>=0.3
grpcio!=1.48.0,!=1.59.*,!=1.60.*,!=1.61.*,!=1.62.0,!=1.62.1,!=1.66.*,!=1.67.*,!=1.68.*,!=1.69.*,!=1.70.*,<2,>=1.33.1
httplib2<0.32.0,>=0.8
jsonpickle<4.0.0,>=3.0.0
numpy<2.5.0,>=1.14.3
objsize<0.8.0,>=0.6.1
packaging>=22.0
pillow<13,>=12.1.1
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.*,<7.0.0.dev0,>=3.20.3
python-dateutil<3,>=2.8.0
pytz>=2018.3
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.23.0,>=0.21.0
pyarrow<24.0.0,>=6.0.1
pyarrow-hotfix<1

[:python_version < "3.11"]
envoy-data-plane<0.3.0

[:python_version >= "3.11"]
envoy-data-plane<2,>=1.0.3

[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

[dev]
isort==7.0.0
pyrefly==0.54.0
ruff==0.15.7
yapf==0.43.0

[dill]
dill<0.3.2,>=0.3.1.1

[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-storage<4,>=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-build<4,>=3.35.0
google-cloud-spanner<4,>=3.0.0
google-cloud-dlp<4,>=3.0.0
google-cloud-kms<4,>=3.0.0
google-cloud-language<3,>=2.0
google-cloud-secret-manager<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.5
PyMySQL>=1.1.0
keyrings.google-artifactregistry-auth
orjson<4,>=3.9.7
regex>=2020.6.8

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

[gcp:python_version >= "3.13"]
google-apitools>=0.5.35

[hadoop]
hdfs<3.0.0,>=2.1.0

[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
pydot<2,>=1.2.0
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_cpu]
tensorflow>=2.12.0
torch==2.8.0+cpu
transformers<4.56.0,>=4.28.0
absl-py>=0.12.0

[ml_test]
datatable
dill
tensorflow_transform<1.15.0,>=1.14.0
numpy<2
tf2onnx<1.17,>=1.16.1
embeddings>=0.0.4
onnxruntime
onnx<2,>=1.14.1
langchain
sentence-transformers>=2.2.2
skl2onnx
pyod>=0.7.6
tensorflow
absl-py>=0.12.0
tensorflow-hub
tokenizers<0.23
torch<2.12.0
transformers<4.56.0,>=4.28.0
tokenizers<0.22.0,>=0.13.3

[onnx]
onnxruntime==1.13.1
torch==1.13.1
tensorflow==2.11.0
tf2onnx==1.13.0
skl2onnx==1.13
transformers==4.25.1
absl-py>=0.12.0

[p310_ml_test]
datatable
embeddings>=0.0.4
onnxruntime
onnx<2,>=1.14.1
langchain
sentence-transformers>=2.2.2
skl2onnx
pyod>=0.7.6
tensorflow
absl-py>=0.12.0
tensorflow-hub
tokenizers<0.23
torch<2.12.0
transformers<4.56.0,>=4.28.0
tokenizers<0.22.0,>=0.13.3
google-adk==1.28.1
proto-plus<2,>=1.26.1
opentelemetry-api==1.37.0
opentelemetry-sdk==1.37.0
opentelemetry-exporter-otlp-proto-http==1.37.0
tf2onnx<1.18,>=1.17.0

[p312_ml_test]
datatable
embeddings>=0.0.4
onnxruntime
onnx<2,>=1.14.1
langchain
sentence-transformers>=2.2.2
skl2onnx
pyod>=0.7.6
tensorflow
absl-py>=0.12.0
tensorflow-hub
tokenizers<0.23
torch<2.12.0
transformers<4.56.0,>=4.28.0
tokenizers<0.22.0,>=0.13.3
google-adk==1.28.1
proto-plus<2,>=1.26.1
opentelemetry-api==1.37.0
opentelemetry-sdk==1.37.0
opentelemetry-exporter-otlp-proto-http==1.37.0
tf2onnx<1.18,>=1.17.0

[p313_ml_test]
embeddings>=0.0.4
onnxruntime
onnx<2,>=1.14.1
langchain
sentence-transformers>=2.2.2
skl2onnx
pyod>=0.7.6
tensorflow
absl-py>=0.12.0
tensorflow-hub
tokenizers<0.23
torch<2.12.0
transformers<4.56.0,>=4.28.0
tokenizers<0.22.0,>=0.13.3
google-adk==1.28.1
proto-plus<2,>=1.26.1
opentelemetry-api==1.37.0
opentelemetry-sdk==1.37.0
opentelemetry-exporter-otlp-proto-http==1.37.0
tf2onnx<1.18,>=1.17.0
pymilvus<3.0.0,>=2.5.10

[redis]
redis<6,>=5.0.0

[tensorflow]
tensorflow<2.21,>=2.12rc1
absl-py>=0.12.0

[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
pydot<2,>=1.2.0
pyhamcrest!=1.10.0,<3.0.0,>=1.9
requests_mock<2.0,>=1.7
tenacity<10,>=8.0.0
pytest<10.0,>=7.1.2
pytest-xdist<4,>=2.5.0
pytest-timeout<3,>=2.1.0
scikit-learn<1.8.0,>=0.20.0
sqlalchemy<3.0,>=1.3
psycopg2-binary<3.0,>=2.8.5
testcontainers[kafka,milvus,mysql]<5.0.0,>=4.0.0
cryptography>=41.0.2
hypothesis<6.148.4,>5.0.0
virtualenv-clone<1.0,>=0.5
python-tds>=1.16.1
sqlalchemy-pytds>=1.0.2
pg8000>=1.31.5
PyMySQL>=1.1.0
oracledb>=3.1.1

[tfrecord]
crcmod<2.0,>=1.7

[tft]
tensorflow_transform<1.15.0,>=1.14.0
numpy<2
dill

[torch]
torch<2.8.0,>=1.9.0

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

[vllm]
openai==1.107.1
vllm==0.10.1.1
triton==3.3.1

[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
jsonschema<5.0.0,>=4.0.0
pandas!=1.5.0,!=1.5.1,<2.3,>=1.4.3

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