From 910ceb524724332e293fae7a5663dc09ddaa3b3d Mon Sep 17 00:00:00 2001 From: Mikko Nieminen Date: Fri, 17 Jan 2025 15:56:47 +0100 Subject: [PATCH] upgrade general python dependencies (#1531) --- .github/workflows/build.yml | 2 +- CHANGELOG.rst | 2 ++ docs/source/conf.py | 2 +- docs/source/major_changes.rst | 10 +++++++ requirements/base.txt | 40 ++++++++++++++------------ requirements/local.txt | 6 ++-- requirements/test.txt | 10 +++---- utility/install_python_dependencies.sh | 2 +- 8 files changed, 44 insertions(+), 30 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index adddbc6a..b00cbd9b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,7 +44,7 @@ jobs: run: git fetch --prune --unshallow - name: Install project Python dependencies run: | - pip install "wheel>=0.42.0, <0.43" + pip install "wheel>=0.45.1, <0.46" pip install -r requirements/local.txt pip install -r requirements/test.txt - name: Download icons diff --git a/CHANGELOG.rst b/CHANGELOG.rst index ee07205d..decf0e96 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -34,6 +34,8 @@ Changed ------- - **General** + - Upgrade minimum Django version to v4.2.18 (#1531) + - Upgrade general Python dependencies (#1531) - Use ``SODARAPI*`` API view base classes instead of ``CoreAPI*`` (#1401) - Declare app setting definitions as ``PluginAppSettingDef`` objects (#1456) - **Projectroles** diff --git a/docs/source/conf.py b/docs/source/conf.py index 04c6d6a2..84ce6584 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -50,7 +50,7 @@ # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] -source_suffix = '.rst' +source_suffix = {'.rst': 'restructuredtext'} # The master toctree document. master_doc = 'index' diff --git a/docs/source/major_changes.rst b/docs/source/major_changes.rst index ad39a7c8..9131eb97 100644 --- a/docs/source/major_changes.rst +++ b/docs/source/major_changes.rst @@ -30,6 +30,16 @@ Release Highlights Breaking Changes ================ +System Prerequisites +-------------------- + +Django Version + The minimum Django version has been bumped to v4.2.18. +General Python Dependencies + Third party Python package dependencies have been upgraded. See the + ``requirements`` directory for up-to-date package versions and upgrade your + project. + Site Read-Only Mode ------------------- diff --git a/requirements/base.txt b/requirements/base.txt index c97c2ca7..cda652f6 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,48 +1,50 @@ # Wheel -wheel>=0.42.0, <0.43 +wheel>=0.45.1, <0.46 # Setuptools -setuptools>=70.0.0, <70.1 +setuptools>=75.8.0 , <75.9 # Packaging -packaging>=23.2, <24.0 +packaging>=24.2, <25.0 # Django -django>=4.2.17, <5.0 +django>=4.2.18, <5.0 # Configuration -django-environ>=0.11.2, <0.12 +django-environ>=0.12.0, <0.13 # Forms -django-crispy-forms>=2.1, <2.2 -crispy-bootstrap4==2024.1 +django-crispy-forms>=2.3, <2.4 +crispy-bootstrap4==2024.10 # Models -django-model-utils>=4.4.0, <4.5 +django-model-utils>=5.0.0, <5.1 # Password storage argon2-cffi>=21.3.0, <21.4 # Python-PostgreSQL Database Adapter -psycopg2-binary>=2.9.9, <2.10 +psycopg2-binary>=2.9.10, <2.10 # Unicode slugification +# TODO: Remove or replace? See #1547 awesome-slugify>=1.6.5, <1.7 # Time zones support -pytz>=2024.1 +pytz>=2024.2 # SVG icon support django-iconify==0.3 # NOTE: v0.4 requires Python>=3.10 # OpenID Connect (OIDC) authentication support -social-auth-app-django>=5.4.0, <5.5 +social-auth-app-django>=5.4.2, <5.5 # Online documentation via django-docs -docutils==0.20.1 -Sphinx==7.2.6 +docutils==0.21.2 +# NOTE: Sphinx 8.0 requires Python 3.10+, Sphinx 8.2 requires 3.11+ +Sphinx==7.4.7 django-docs==0.3.3 -sphinx-rtd-theme==2.0.0 +sphinx-rtd-theme==3.0.2 # Versioning versioneer==0.29 @@ -55,7 +57,7 @@ versioneer==0.29 django-plugins-bihealth>=0.5.2, <0.6 # Rules for permissions -rules>=3.3, <3.4 +rules>=3.5, <3.6 # REST framework djangorestframework>=3.15.2, <3.16 @@ -67,19 +69,19 @@ drf-keyed-list-bihealth>=0.2.1, <0.3 django-rest-knox>=4.2.0, <4.3 # Markdown field support -markdown==3.5.2 +markdown==3.7 django-markupfield>=2.0.1, <2.1 django-pagedown>=2.2.1, <2.3 -mistune>=3.0.2, <3.1 +mistune>=3.1.0, <3.2 # Database file storage for filesfolders django-db-file-storage==0.5.6.1 # Celery dependency -redis>=5.0.2 +redis>=5.2.1 # Backround Jobs requirements -celery>=5.3.6, <5.4 +celery>=5.4.0, <5.5 # Django autocomplete light (DAL) django-autocomplete-light==3.11.0 diff --git a/requirements/local.txt b/requirements/local.txt index 7940606d..e8ec3dca 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -2,14 +2,14 @@ -r base.txt django-extensions==3.2.3 -Werkzeug>=3.0.1, <3.1 +Werkzeug>=3.1.3, <3.2 -django-debug-toolbar>=4.3.0, <4.4 +django-debug-toolbar>=5.0.1, <5.1 # improved REPL ipdb>=0.13.13, <0.14 # OpenAPI support inflection>=0.5.1, <0.6 -pyyaml>=6.0.1, <6.1 +pyyaml>=6.0.2, <6.1 uritemplate>=4.1.1, <4.2 diff --git a/requirements/test.txt b/requirements/test.txt index 4f68e888..8d0e4db5 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,14 +1,14 @@ # Test dependencies go here. -r base.txt -flake8==7.0.0 -django-test-plus==2.2.3 -factory-boy==3.3.0 +flake8==7.1.1 +django-test-plus==2.2.4 +factory-boy==3.3.1 coverage==6.5.0 # NOTE: coveralls 3.3.1 requires <7.0 django-coverage-plugin==3.1.0 # pytest -pytest-django==4.8.0 +pytest-django==4.9.0 pytest-sugar==1.0.0 # Selenium for UI testing @@ -21,7 +21,7 @@ tblib==3.0.0 beautifulsoup4==4.12.3 # Black for formatting -black==24.3.0 +black==24.10.0 # Coveralls for coverage reporting coveralls==3.3.1 diff --git a/utility/install_python_dependencies.sh b/utility/install_python_dependencies.sh index 7e39d83c..a7854eeb 100755 --- a/utility/install_python_dependencies.sh +++ b/utility/install_python_dependencies.sh @@ -22,7 +22,7 @@ if [ -z "$VIRTUAL_ENV" ]; then echo >&2 -e "\n" exit 1; else - pip install "wheel>=0.42.0, <0.43" + pip install "wheel>=0.45.1, <0.46" pip install -r $PROJECT_DIR/requirements/local.txt pip install -r $PROJECT_DIR/requirements/test.txt pip install -r $PROJECT_DIR/requirements.txt