diff --git a/.ds_python_version b/.ds_python_version index cd1d2e9..8104cab 100644 --- a/.ds_python_version +++ b/.ds_python_version @@ -1 +1 @@ -8.0.1 +8.1.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 13014ef..4e4395b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## Unreleased +## [4.1.0] +### Changed +- Updated base datascience-python image version to v8.1.0 (#58) +- Updated core Python dependency versions (#58): + * matplotlib 3.9.0 -> 3.9.2 + ## [4.0.1] ### Fixed - Update base datascience-python version to v8.0.1 (#57) diff --git a/Dockerfile b/Dockerfile index a08521c..a3e0b62 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ # Unfortunately Dockerhub isn't as flexible as CircleCi or AWS Codebuild, so we have to hardcode this value here. # So if you in the future need to update this value, make sure you also edit the value in .ds_python_version. # These values should be kept in sync. -ARG DS_PYTHON_IMG_VERSION=8.0.1 +ARG DS_PYTHON_IMG_VERSION=8.1.0 ARG PLATFORM=linux/x86_64 @@ -37,7 +37,7 @@ COPY requirements-full.txt . # setuptools is required since the notebook package uses distutils, which isn't in Python 3.12.6+. # It's installed here since pip-compile doesn't include setuptools in requirements files. -RUN pip install --progress-bar off --no-cache-dir setuptools==75.1.0 && \ +RUN pip install --progress-bar off --no-cache-dir setuptools==75.5.0 && \ pip install --progress-bar off --no-cache-dir -r requirements-full.txt && \ rm requirements-full.txt && \ civis-jupyter-notebooks-install diff --git a/buildspec/push.yaml b/buildspec/push.yaml index 97c48b4..f939cf1 100644 --- a/buildspec/push.yaml +++ b/buildspec/push.yaml @@ -11,10 +11,9 @@ phases: - echo $BRANCH_NAME - export DS_PYTHON_IMG_VERSION=$(head -n 1 ./.ds_python_version) - docker build --build-arg="DS_PYTHON_IMG_VERSION=${DS_PYTHON_IMG_VERSION}" --tag ${FIPS_REPOSITORY_URI}:${COMMIT_HASH_SHORT} --tag ${FIPS_REPOSITORY_URI}:${BRANCH_NAME} . - # This config tests the codebuild login and the build but does not push dev images. - # The following lines can be temporarily uncommented to test a dev image. - # Note: for dev branches, there's no need to push to DockerHub. - # - docker image push --all-tags ${FIPS_REPOSITORY_URI} + # We have a life cycle policy in place to expire and delete images from dev branches, + # so there are no issues with pushing as many of these images as there may be. + - docker image push --all-tags ${FIPS_REPOSITORY_URI} post_build: commands: - echo Build completed! diff --git a/generate-requirements-full.sh b/generate-requirements-full.sh index fb6ee13..2f478c9 100755 --- a/generate-requirements-full.sh +++ b/generate-requirements-full.sh @@ -7,4 +7,4 @@ docker run \ "pip freeze >> /tmp/requirements-aggregated-core.txt && \ cat /src/requirements-core.txt >> /tmp/requirements-aggregated-core.txt && \ pip install pip-tools && \ - pip-compile --output-file=/src/requirements-full.txt --pip-args='--prefer-binary' --upgrade /tmp/requirements-aggregated-core.txt" + pip-compile --output-file=/src/requirements-full.txt --strip-extras --pip-args='--prefer-binary' --upgrade /tmp/requirements-aggregated-core.txt" diff --git a/requirements-core.txt b/requirements-core.txt index 1bc110e..0e4cf45 100755 --- a/requirements-core.txt +++ b/requirements-core.txt @@ -1,3 +1,3 @@ civis-jupyter-notebook==2.2.1 -matplotlib==3.9.0 +matplotlib==3.9.2 seaborn==0.13.2 diff --git a/requirements-full.txt b/requirements-full.txt index 7ff6b93..ad0dc93 100755 --- a/requirements-full.txt +++ b/requirements-full.txt @@ -2,9 +2,9 @@ # This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile --output-file=/src/requirements-full.txt --pip-args='--prefer-binary' /tmp/requirements-aggregated-core.txt +# pip-compile --output-file=/src/requirements-full.txt --pip-args='--prefer-binary' --strip-extras /tmp/requirements-aggregated-core.txt # -anyio==4.4.0 +anyio==4.6.2.post1 # via jupyter-server argon2-cffi==23.1.0 # via @@ -21,28 +21,37 @@ attrs==24.2.0 # -r /tmp/requirements-aggregated-core.txt # jsonschema # referencing +awscli @ git+https://github.com/aws/aws-cli@c6c69993dc057f187097d46c8278615a29914269 + # via -r /tmp/requirements-aggregated-core.txt +awscrt==0.22.0 + # via + # -r /tmp/requirements-aggregated-core.txt + # awscli beautifulsoup4==4.12.3 # via nbconvert -bleach==6.1.0 +bleach==6.2.0 # via nbconvert -boto3==1.34.127 +boto3==1.35.58 # via -r /tmp/requirements-aggregated-core.txt -botocore==1.34.162 +botocore==1.35.58 # via # -r /tmp/requirements-aggregated-core.txt # boto3 # s3transfer -certifi==2024.7.4 +certifi==2024.8.30 # via # -r /tmp/requirements-aggregated-core.txt # requests -cffi==1.17.0 - # via argon2-cffi-bindings -charset-normalizer==3.3.2 +cffi==1.17.1 + # via + # -r /tmp/requirements-aggregated-core.txt + # argon2-cffi-bindings + # cryptography +charset-normalizer==3.4.0 # via # -r /tmp/requirements-aggregated-core.txt # requests -civis==2.3.0 +civis==2.4.0 # via # -r /tmp/requirements-aggregated-core.txt # civis-jupyter-extensions @@ -56,29 +65,45 @@ click==8.1.7 # -r /tmp/requirements-aggregated-core.txt # civis # civis-jupyter-notebook -cloudpickle==3.0.0 +cloudpickle==3.1.0 # via # -r /tmp/requirements-aggregated-core.txt # civis +colorama==0.4.6 + # via + # -r /tmp/requirements-aggregated-core.txt + # awscli comm==0.2.2 # via ipykernel -contourpy==1.2.1 +contourpy==1.3.1 # via matplotlib +cryptography==43.0.1 + # via + # -r /tmp/requirements-aggregated-core.txt + # awscli cycler==0.12.1 # via matplotlib -debugpy==1.8.5 +debugpy==1.8.8 # via ipykernel decorator==5.1.1 # via ipython defusedxml==0.7.1 # via nbconvert +distro==1.8.0 + # via + # -r /tmp/requirements-aggregated-core.txt + # awscli +docutils==0.19 + # via + # -r /tmp/requirements-aggregated-core.txt + # awscli entrypoints==0.4 # via jupyter-client -executing==2.0.1 +executing==2.1.0 # via stack-data fastjsonschema==2.20.0 # via nbformat -fonttools==4.53.1 +fonttools==4.55.0 # via matplotlib fqdn==1.5.1 # via jsonschema @@ -86,7 +111,7 @@ gitdb==4.0.11 # via gitpython gitpython==3.1.43 # via civis-jupyter-notebook -idna==3.8 +idna==3.10 # via # -r /tmp/requirements-aggregated-core.txt # anyio @@ -96,7 +121,7 @@ ipykernel==6.29.5 # via # nbclassic # notebook -ipython==8.26.0 +ipython==8.18.0 # via # civis-jupyter-extensions # ipykernel @@ -106,7 +131,7 @@ ipython-genutils==0.2.0 # notebook isoduration==20.11.0 # via jsonschema -jedi==0.19.1 +jedi==0.19.2 # via ipython jinja2==3.1.4 # via @@ -116,6 +141,7 @@ jinja2==3.1.4 jmespath==1.0.1 # via # -r /tmp/requirements-aggregated-core.txt + # awscli # boto3 # botocore joblib==1.4.2 @@ -129,13 +155,13 @@ jsonref==1.1.0 # via # -r /tmp/requirements-aggregated-core.txt # civis -jsonschema[format-nongpl]==4.23.0 +jsonschema==4.23.0 # via # -r /tmp/requirements-aggregated-core.txt # civis # jupyter-events # nbformat -jsonschema-specifications==2023.12.1 +jsonschema-specifications==2024.10.1 # via # -r /tmp/requirements-aggregated-core.txt # jsonschema @@ -163,13 +189,13 @@ jupyter-server-terminals==0.5.3 # via jupyter-server jupyterlab-pygments==0.3.0 # via nbconvert -kiwisolver==1.4.5 +kiwisolver==1.4.7 # via matplotlib -markupsafe==2.1.5 +markupsafe==3.0.2 # via # jinja2 # nbconvert -matplotlib==3.9.0 +matplotlib==3.9.2 # via # -r /tmp/requirements-aggregated-core.txt # seaborn @@ -203,7 +229,7 @@ notebook==6.5.7 # via civis-jupyter-notebook notebook-shim==0.2.4 # via nbclassic -numpy==2.0.0 +numpy==2.1.3 # via # -r /tmp/requirements-aggregated-core.txt # contourpy @@ -214,13 +240,13 @@ numpy==2.0.0 # seaborn overrides==7.7.0 # via jupyter-server -packaging==24.1 +packaging==24.2 # via # ipykernel # jupyter-server # matplotlib # nbconvert -pandas==2.2.2 +pandas==2.2.3 # via # -r /tmp/requirements-aggregated-core.txt # civis-jupyter-extensions @@ -231,17 +257,20 @@ parso==0.8.4 # via jedi pexpect==4.9.0 # via ipython -pillow==10.4.0 +pillow==11.0.0 # via matplotlib -platformdirs==4.2.2 +platformdirs==4.3.6 # via jupyter-core -prometheus-client==0.20.0 +prometheus-client==0.21.0 # via # jupyter-server # notebook -prompt-toolkit==3.0.47 - # via ipython -psutil==6.0.0 +prompt-toolkit==3.0.38 + # via + # -r /tmp/requirements-aggregated-core.txt + # awscli + # ipython +psutil==6.1.0 # via ipykernel ptyprocess==0.7.0 # via @@ -250,24 +279,27 @@ ptyprocess==0.7.0 pure-eval==0.2.3 # via stack-data pycparser==2.22 - # via cffi + # via + # -r /tmp/requirements-aggregated-core.txt + # cffi pygments==2.18.0 # via # ipython # nbconvert -pyparsing==3.1.4 +pyparsing==3.2.0 # via matplotlib -python-dateutil==2.9.0.post0 +python-dateutil==2.9.0 # via # -r /tmp/requirements-aggregated-core.txt # arrow + # awscli # botocore # jupyter-client # matplotlib # pandas python-json-logger==2.0.7 # via jupyter-events -pytz==2024.1 +pytz==2024.2 # via # -r /tmp/requirements-aggregated-core.txt # pandas @@ -301,18 +333,26 @@ rfc3986-validator==0.1.1 # via # jsonschema # jupyter-events -rpds-py==0.20.0 +rpds-py==0.21.0 # via # -r /tmp/requirements-aggregated-core.txt # jsonschema # referencing -s3transfer==0.10.2 +ruamel-yaml==0.17.21 + # via + # -r /tmp/requirements-aggregated-core.txt + # awscli +ruamel-yaml-clib==0.2.8 + # via + # -r /tmp/requirements-aggregated-core.txt + # awscli +s3transfer==0.10.3 # via # -r /tmp/requirements-aggregated-core.txt # boto3 -scikit-learn==1.5.0 +scikit-learn==1.5.2 # via -r /tmp/requirements-aggregated-core.txt -scipy==1.13.1 +scipy==1.14.1 # via # -r /tmp/requirements-aggregated-core.txt # scikit-learn @@ -326,7 +366,6 @@ six==1.16.0 # via # -r /tmp/requirements-aggregated-core.txt # asttokens - # bleach # python-dateutil # rfc3339-validator smmap==5.0.1 @@ -350,7 +389,7 @@ threadpoolctl==3.5.0 # via # -r /tmp/requirements-aggregated-core.txt # scikit-learn -tinycss2==1.3.0 +tinycss2==1.4.0 # via nbconvert tornado==6.4.1 # via @@ -374,22 +413,25 @@ traitlets==5.14.3 # nbconvert # nbformat # notebook -types-python-dateutil==2.9.0.20240821 +types-python-dateutil==2.9.0.20241003 # via arrow -tzdata==2024.1 +tzdata==2024.2 # via # -r /tmp/requirements-aggregated-core.txt # pandas uri-template==1.3.0 # via jsonschema -urllib3==2.2.2 +urllib3==1.26.20 # via # -r /tmp/requirements-aggregated-core.txt + # awscli # botocore # requests wcwidth==0.2.13 - # via prompt-toolkit -webcolors==24.8.0 + # via + # -r /tmp/requirements-aggregated-core.txt + # prompt-toolkit +webcolors==24.11.1 # via jsonschema webencodings==0.5.1 # via @@ -397,8 +439,3 @@ webencodings==0.5.1 # tinycss2 websocket-client==1.8.0 # via jupyter-server -wheel==0.44.0 - # via -r /tmp/requirements-aggregated-core.txt - -# The following packages are considered to be unsafe in a requirements file: -# setuptools