crcmod<2.0,>=1.7
orjson<4.0
dill<0.3.2,>=0.3.1.1
cloudpickle<3,>=2.1.0
fastavro<2,>=0.23.6
grpcio<2,>=1.33.1
hdfs<3.0.0,>=2.1.0
httplib2<0.21.0,>=0.8
numpy<1.23.0,>=1.14.3
pymongo<4.0.0,>=3.8.0
protobuf<4,>=3.12.2
proto-plus<2,>=1.7.1
pydot<2,>=1.2.0
python-dateutil<3,>=2.8.0
pytz>=2018.3
requests<3.0.0,>=2.24.0
typing-extensions>=3.7.0
pyarrow<8.0.0,>=0.15.1

[aws]
boto3>=1.9

[azure]
azure-storage-blob>=12.3.2
azure-core>=1.7.0

[dataframe]
pandas<1.5,>=1.0

[docs]
Sphinx<2.0,>=1.5.2
docutils==0.17.1

[gcp]
cachetools<5,>=3.1.0
google-apitools<0.5.32,>=0.5.31
google-auth<3,>=1.18.0
google-auth-httplib2<0.2.0,>=0.1.0
google-cloud-datastore<2,>=1.8.0
google-cloud-pubsub<3,>=2.1.0
google-cloud-pubsublite<2,>=1.2.0
google-cloud-bigquery<3,>=1.6.0
google-cloud-bigquery-storage>=2.6.3
google-cloud-core<2,>=0.28.1
google-cloud-bigtable<2,>=0.31.1
google-cloud-spanner<2,>=1.13.0
grpcio-gcp<1,>=0.2.2
google-cloud-dlp<4,>=3.0.0
google-cloud-language<2,>=1.3.0
google-cloud-videointelligence<2,>=1.8.0
google-cloud-vision<2,>=0.38.0
google-cloud-recommendations-ai<=0.2.0,>=0.1.0

[interactive]
facets-overview<2,>=1.0.0
google-cloud-dataproc<3.2.0,>=3.0.0
ipykernel<7,>=6
ipywidgets<8,>=7.6.5
jupyter-client<6.1.13,>=6.1.11
timeloop<2,>=1.0.2

[interactive:python_version <= "3.7"]
ipython<8,>=7

[interactive:python_version > "3.7"]
ipython<9,>=8

[interactive_test]
nbformat<6,>=5.0.5
nbconvert<7,>=6.2.0
needle<1,>=0.5.0
chromedriver-binary<101,>=100
pillow<8,>=7.1.1

[test]
freezegun>=0.3.12
joblib>=1.0.1
mock<3.0.0,>=1.0.1
pandas<2.0.0
parameterized<0.8.0,>=0.7.1
pyhamcrest!=1.10.0,<2.0.0,>=1.9
pyyaml<7.0.0,>=3.12
requests_mock<2.0,>=1.7
tenacity<6.0,>=5.0.2
pytest<5.0,>=4.4.0
pytest-xdist<2,>=1.29.0
pytest-timeout<2,>=1.3.3
scikit-learn>=0.20.0
sqlalchemy<2.0,>=1.3
psycopg2-binary<3.0.0,>=2.8.5
testcontainers[mysql]<4.0.0,>=3.0.3
cryptography>=36.0.0
