diff --git a/python/datascience/Dockerfile.datascience b/python/datascience/Dockerfile.datascience index 7e8c02d..045caec 100644 --- a/python/datascience/Dockerfile.datascience +++ b/python/datascience/Dockerfile.datascience @@ -1,4 +1,4 @@ -ARG FROM_PYTHON_VERSION=3.7 +ARG FROM_PYTHON_VERSION=3.8 FROM deepnote/python:${FROM_PYTHON_VERSION} RUN pip install --upgrade pip @@ -7,13 +7,17 @@ RUN pip install --upgrade pip # Add the requirements files ADD requirements-3.11+.txt /requirements-3.11+.txt ADD requirements-below-3.11.txt /requirements-below-3.11.txt +ADD constraints.txt /constraints.txt #Determine the Python version and set the version-specifications file ARG FROM_PYTHON_VERSION + +RUN python -m pip install --upgrade setuptools pip + RUN if [ "$(printf '%s\n' "$FROM_PYTHON_VERSION" "3.11" | sort -V | head -n1)" = "3.11" ]; then \ - pip install -r requirements-3.11+.txt \ + pip install -r requirements-3.11+.txt -c constraints.txt\ ; else \ - pip install -r requirements-below-3.11.txt \ + pip install -r requirements-below-3.11.txt -c constraints.txt\ ; fi diff --git a/python/datascience/constraints.txt b/python/datascience/constraints.txt new file mode 100644 index 0000000..013749a --- /dev/null +++ b/python/datascience/constraints.txt @@ -0,0 +1,147 @@ +MarkupSafe>=0.9.2 +MarkupSafe>=2.0 +SQLAlchemy<2.0.0,>=0.9.2 +SQLAlchemy>=1.3.0 +altair>=4.2.2,<=5.5 +asttokens>=2.1.0 +asynch>=0.2.2 +attrs>=19.2.0 +backports.functools-lru-cache>=1.2.1 +bcrypt>=3.2 +botocore<1.36.0,>=1.35.10 +botocore<2.0a.0,>=1.33.2 +cachetools<6.0,>=2.0.0 +certifi>=2017.4.17 +cffi>=1.12 +cffi>=1.4.1 +charset-normalizer<4,>=2 +click-plugins>=1.0 +click>=4.0 +clickhouse-driver>=0.1.2 +clickhouse-sqlalchemy>0,<0.4 +click~=8.0 +cligj>=0.5 +cryptography<44,>=41.0.5 +cryptography>=3.3 +db-dtypes>=1.2.0,<1.4 +dill==0.3.8 +dnspython<3.0.0,>=1.16.0 +dnspython>=2.2.1,<2.7 +duckdb>=0.9.2,<0.10.0 +executing>=1.2.0 +fiona>=1.8 +geopandas>=0.11.1,<1.1 +google-api-core!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.0 +google-api-core!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.1 +google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.32.0 +google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5 +google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.6 +google-auth<3.0.0dev,>=1.25.0 +google-auth<3.0.0dev,>=2.14.1 +google-auth<3.0.dev0,>=2.14.1 +google-auth<3.0dev,>=1.25.0 +google-cloud-bigquery-storage==2.16.2 +google-cloud-bigquery<4.0.0dev,>=3.3.6 +google-cloud-core<3.0.0dev,>=1.6.0 +google-cloud-core<3.0dev,>=1.4.4 +google-cloud-spanner>=3.12.0 +google-crc32c<2.0dev,>=1.0 +google-resumable-media<3.0dev,>=0.6.0 +googleapis-common-protos<2.0.0dev,>=1.56.0 +googleapis-common-protos<2.0.dev0,>=1.56.2 +googleapis-common-protos>=1.5.5 +greenlet!=0.4.17 +grpc-google-iam-v1<1.0.0dev,>=0.12.4 +grpc-interceptor>=0.15.4 +grpcio<2.0.0dev,>=1.44.0 +grpcio>=1.49.1,<2.0.0 +grpcio>=1.62.3 +idna<4,>=2.5 +importlib-metadata>1.0.0 +ipykernel>6.22.0 +jedi>=0.16 +jinja2>=2.11.3,<3.1 +jmespath<2.0.0,>=0.7.1 +jsonschema>=3.0 +numpy>=1.16.6 +numpy>=1.19,<2 +numpy>=1.20.3 +numpy>=1.21,<2 +numpy>=1.21.0 +numpy>=1.23,<2 +numpy>=1.23.2 +numpy>=1.24,<2 +packaging>=17.0 +packaging>=20.0.0 +pandas>=0.18 +pandas>=0.24.2 +pandas>=1.0.0 +pandas>=1.2.5,<2.2 +paramiko>=2.7.2 +paramiko>=3.0.0,<3.6 +parso<0.8.0,>=0.7.0 +pexpect>4.3 +pg8000==1.31.2 +prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 +proto-plus<2.0.0dev,>=1.22.0 +proto-plus<2.0.0dev,>=1.22.2 +proto-plus<2.0.0dev,>=1.22.3 +protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5 +protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0,>=3.19.5 +protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0,>=3.20.2 +protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0dev,>=3.20.2 +protobuf!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0dev,>=3.20.2 +protobuf<6.0.0dev,>=3.19.0 +protobuf>=4.21.6 +psycopg2-binary>=2.9.4,<2.10 +ptyprocess>=0.5 +pyarrow>13.0.0,<=17.0.0 +pyarrow>=10.0.0,<=17.0.0 +pyarrow>=3.0.0 +pyarrow>=5.0.0 +pyasn1-modules>=0.2.1 +pyasn1<0.7.0,>=0.4.6 +pyasn1>=0.1.3 +pyathena==3.9.0 +pygments>=2.4.0 +pymongo>=4.3.2,<4.10 +pymssql>=2.2.9,<2.4 +pymysql>=1.0.2,<1.2 +pynacl>=1.5 +pyproj>=2.6.1.post1 +python-dateutil<3.0.0,>=2.1 +python-dateutil<3.0dev,>=2.7.2 +python-dateutil>=2.8.1 +pytz>=2020.1 +requests<3.0.0.dev0,>=2.18.0 +requests<3.0.0dev,>=2.21.0 +requests>=2.31.0 +rsa<5,>=3.1.4 +s3transfer<0.11.0,>=0.10.0 +sentry-sdk>=1.24,<2.15 +shapely<2,>=1.7 +six>=1.12.0 +six>=1.5 +snowflake-sqlalchemy>=1,<1.7 +sqlalchemy-bigquery>1.6.1,<1.12 +sqlalchemy-dremio>=3.0.3,<3.1 +sqlalchemy-redshift>=0.8.11,<0.9 +sqlalchemy-spanner>=1.6.2,<2.0.0 +sqlalchemy<1.5,>=1.4.24 +sqlalchemy<3.0.0dev,>=1.4.16 +sqlalchemy>=1.1.13 +sqlalchemy>=1.3.24 +sqlparse>=0.4.4 +sqlparse>=0.4.4,<0.6 +sshtunnel==0.4.0 +traitlets>=5 +trino>=0.327.0,<=0.330.0 +typing-extensions>=3.6.4 +typing-extensions>=4 +urllib3!=2.2.0,<3,>=1.25.4 +urllib3<1.27,>=1.25.4 +urllib3<3,>=1.21.1 +urllib3>=1.25.7 +urllib3>=1.26.11 +urllib3>=1.26.9 +zipp>=0.5 diff --git a/python/datascience/requirements-3.11+.txt b/python/datascience/requirements-3.11+.txt index eee4235..05059d9 100644 --- a/python/datascience/requirements-3.11+.txt +++ b/python/datascience/requirements-3.11+.txt @@ -2,17 +2,17 @@ scipy==1.11.* matplotlib==3.8.* scikit-learn==1.3.* agate==1.9.* -keras==2.14.* +keras>=2.10,<3 nltk==3.8.* spacy==3.7.* seaborn==0.13.* scrapy==2.11.* jsonify==0.5 -datascience==0.17.* +datascience>=0.17,<1 textblob==0.17.* tabulate==0.9.* sympy==1.12 squarify==0.4.* -tensorflow==2.14.* +tensorflow>=2.10,<3 torch==2.1.* torchvision==0.16.* \ No newline at end of file diff --git a/python/datascience/requirements-below-3.11.txt b/python/datascience/requirements-below-3.11.txt index d6373ea..40f819d 100644 --- a/python/datascience/requirements-below-3.11.txt +++ b/python/datascience/requirements-below-3.11.txt @@ -3,17 +3,17 @@ scipy==1.9.* matplotlib==3.6.* scikit-learn==1.1.* agate==1.6.* -keras==2.10.* +keras>=2.10,<3 nltk==3.7.* spacy==3.4.* seaborn==0.13.* scrapy==2.7.* jsonify==0.5 -datascience==0.17.* +datascience>=0.17,<1 textblob==0.17.* tabulate==0.9.* sympy==1.11.* squarify==0.4.* -tensorflow==2.10.* +tensorflow>=2.10,<3 torch==1.12.* torchvision==0.13.* \ No newline at end of file