crcmod<2.0,>=1.7
orjson<4.0
dill<0.3.2,>=0.3.1.1
cloudpickle<3,>=2.0.0
fastavro<2,>=0.21.4
grpcio<2,>=1.29.0
hdfs<3.0.0,>=2.1.0
httplib2<0.20.0,>=0.8
numpy<1.22.0,>=1.14.3
pymongo<4.0.0,>=3.8.0
oauth2client<5,>=2.0.1
protobuf<4,>=3.12.2
proto-plus<2,>=1.7.1
pyarrow<7.0.0,>=0.15.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

[:python_version < "3.7"]
dataclasses

[aws]
boto3>=1.9

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

[dataframe]
pandas<1.4,>=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-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
ipython<8,>=7
ipykernel<6,>=5.2.0
ipywidgets<8,>=7.6.5
jupyter-client<6.1.13,>=6.1.11
timeloop<2,>=1.0.2

[interactive_test]
nbformat<6,>=5.0.5
nbconvert<7,>=6.2.0
selenium<4,>=3.141.0
needle<1,>=0.5.0
chromedriver-binary<97,>=96
pillow<8,>=7.1.1

[test]
freezegun>=0.3.12
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
sqlalchemy<2.0,>=1.3
psycopg2-binary<3.0.0,>=2.8.5
testcontainers<4.0.0,>=3.0.3
