This is an automated email from the ASF dual-hosted git repository.
yasithdev pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airavata-portals.git
The following commit(s) were added to refs/heads/main by this push:
new de4cfc725 chore(portal): upgrade Django 3.2 -> 5.2 LTS and DRF 3.12 ->
3.16 (#126)
de4cfc725 is described below
commit de4cfc725b245d581f97ffaf437707155663f0a1
Author: Yasith Jayawardana <[email protected]>
AuthorDate: Mon Jun 8 12:42:50 2026 -0400
chore(portal): upgrade Django 3.2 -> 5.2 LTS and DRF 3.12 -> 3.16 (#126)
Move the portal off EOL Django 3.2 to the 5.2 LTS line (runs on Python
3.10-3.13). The deprecation surface is small now that Wagtail is gone:
- requirements: Django 3.2.18 -> 5.2.15, djangorestframework 3.12.4 ->
3.16.1.
- settings.py: drop USE_L10N (removed in Django 5.0; localization is on by
default).
- apps/api/apps.py: replace the removed-in-setuptools-81 pkg_resources
iter_entry_points with importlib.metadata.entry_points (stdlib selectable
API,
Python 3.10+), clearing the only deprecation warning and the
setuptools<81 pin.
No removed-API usage elsewhere (timezone.utc is datetime's, not Django's;
the
conf.urls.include imports are still valid). Validated on the baseline venv:
manage.py check and makemigrations --check --dry-run both clean on Django
5.2.
Follow-ups: requests / requests-oauthlib security bumps, the
django-webpack-loader
0.6 -> 3.x bump (config-format change, validated with the Track C frontend
build),
and the Python 3.13 runtime switch.
---
airavata-django-portal/django_airavata/apps/api/apps.py | 5 +++--
airavata-django-portal/django_airavata/settings.py | 2 --
airavata-django-portal/requirements.txt | 4 ++--
3 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/airavata-django-portal/django_airavata/apps/api/apps.py
b/airavata-django-portal/django_airavata/apps/api/apps.py
index b95d88e47..e42f0b217 100644
--- a/airavata-django-portal/django_airavata/apps/api/apps.py
+++ b/airavata-django-portal/django_airavata/apps/api/apps.py
@@ -1,5 +1,6 @@
+from importlib.metadata import entry_points
+
from django.apps import AppConfig
-from pkg_resources import iter_entry_points
class ApiConfig(AppConfig):
@@ -11,5 +12,5 @@ class ApiConfig(AppConfig):
from . import output_views
# Load and create instances of each output view provider
- for entry_point in
iter_entry_points(group='airavata.output_view_providers'):
+ for entry_point in
entry_points(group='airavata.output_view_providers'):
output_views.OUTPUT_VIEW_PROVIDERS[entry_point.name] =
entry_point.load()()
diff --git a/airavata-django-portal/django_airavata/settings.py
b/airavata-django-portal/django_airavata/settings.py
index e51aba781..b96e74be0 100644
--- a/airavata-django-portal/django_airavata/settings.py
+++ b/airavata-django-portal/django_airavata/settings.py
@@ -145,8 +145,6 @@ TIME_ZONE = 'UTC'
USE_I18N = True
-USE_L10N = True
-
USE_TZ = True
diff --git a/airavata-django-portal/requirements.txt
b/airavata-django-portal/requirements.txt
index 79c75ae8a..d8133f9d3 100644
--- a/airavata-django-portal/requirements.txt
+++ b/airavata-django-portal/requirements.txt
@@ -1,10 +1,10 @@
# Pin these dependencies
-Django==3.2.18
+Django==5.2.15
requests==2.25.1
requests-oauthlib==0.7.0
thrift==0.22.0
thrift_connector==0.24
-djangorestframework==3.12.4
+djangorestframework==3.16.1
django-webpack-loader==0.6.0
logging-formatter-anticrlf==1.2
zipstream-new==1.1.8