This is an automated email from the ASF dual-hosted git repository.

yasith pushed a commit to branch feat/sdk-facade-migration
in repository https://gitbox.apache.org/repos/asf/airavata-portals.git

commit 198d5f423578fe1cdf1f1e4e65bed0bec4876e4b
Author: yasithdev <[email protected]>
AuthorDate: Wed Apr 8 00:32:45 2026 -0500

    build: pyproject.toml, Python 3.12+, modern dependencies
    
    - Add pyproject.toml with all metadata and dependencies
    - Update requirements.txt: Django 5.1.7, Wagtail 6.3.1, grpcio 1.70
    - Remove setup.cfg, simplify setup.py to shim
    - Drop thrift, thrift_connector, jupyter from dependencies
    - Add papermill, nbformat, nbconvert as explicit deps
---
 airavata-django-portal/pyproject.toml   | 74 +++++++++++++++++++++++++++++++++
 airavata-django-portal/requirements.txt | 34 +++++----------
 airavata-django-portal/setup.cfg        | 25 -----------
 airavata-django-portal/setup.py         | 59 ++------------------------
 4 files changed, 88 insertions(+), 104 deletions(-)

diff --git a/airavata-django-portal/pyproject.toml 
b/airavata-django-portal/pyproject.toml
new file mode 100644
index 000000000..feb4c7597
--- /dev/null
+++ b/airavata-django-portal/pyproject.toml
@@ -0,0 +1,74 @@
+[build-system]
+requires = ["setuptools>=68.0", "wheel"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "airavata-django-portal"
+version = "0.2.0"
+description = "The Airavata Django Portal is a web interface to the Apache 
Airavata API."
+readme = "README.md"
+license = "Apache-2.0"
+requires-python = ">=3.12"
+authors = [
+    { name = "Apache Software Foundation", email = "[email protected]" 
},
+]
+classifiers = [
+    "Development Status :: 4 - Beta",
+    "Environment :: Web Environment",
+    "Framework :: Django",
+    "Framework :: Django :: 5.1",
+    "Framework :: Wagtail",
+    "Framework :: Wagtail :: 6",
+    "Intended Audience :: Developers",
+    "License :: OSI Approved :: Apache Software License",
+    "Natural Language :: English",
+    "Programming Language :: Python :: 3.12",
+    "Topic :: Internet :: WWW/HTTP",
+    "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
+]
+dependencies = [
+    "Django>=5.1,<5.2",
+    "djangorestframework>=3.15,<4",
+    "requests>=2.32",
+    "requests-oauthlib>=1.4",
+    "django-webpack-loader>=3.1",
+    "logging-formatter-anticrlf>=1.2",
+    "wagtail>=6.3,<7",
+    "papermill>=2.6",
+    "nbformat>=5.10",
+    "nbconvert>=7.16",
+    "grpcio>=1.70",
+    "airavata-python-sdk>=3.0",
+]
+
+[project.optional-dependencies]
+dev = [
+    "flake8",
+    "flake8-isort",
+]
+mysql = [
+    "mysqlclient",
+]
+
+[project.urls]
+Homepage = "https://github.com/apache/airavata-django-portal";
+
+[tool.setuptools.packages.find]
+include = ["django_airavata*"]
+
+[tool.flake8]
+exclude = [
+    "venv",
+    "./airavata",
+    "node_modules",
+    "settings_local.py",
+    "*/migrations",
+    ".tox",
+]
+ignore = ["E501", "W504"]
+
+[tool.isort]
+multi_line_output = 3
+skip = ["migrations", ".git"]
+skip_gitignore = true
+known_third_party = ["airavata_sdk", "airavata_django_portal_sdk"]
diff --git a/airavata-django-portal/requirements.txt 
b/airavata-django-portal/requirements.txt
index c3c89eb95..a729e11f9 100644
--- a/airavata-django-portal/requirements.txt
+++ b/airavata-django-portal/requirements.txt
@@ -1,27 +1,13 @@
-# Pin these dependencies
-Django==3.2.18
-requests==2.25.1
-requests-oauthlib==0.7.0
-djangorestframework==3.12.4
-django-webpack-loader==0.6.0
+Django==5.1.7
+djangorestframework==3.15.2
+requests==2.32.3
+requests-oauthlib==1.4.0
+django-webpack-loader==3.1.1
 logging-formatter-anticrlf==1.2
-zipstream-new==1.1.8
-
-wagtail==2.13.4
-wagtailfontawesome==1.2.1
-wagtail-draftail-anchors==0.2.0
-wagtailcodeblock==1.17.1.0
-
-jupyter==1.0.0
-papermill==1.0.1
-
-# gRPC libs
-google-api-python-client==1.12.8
-grpcio-tools==1.48.2 ; python_version < "3.7"
-grpcio-tools==1.51.1 ; python_version >= "3.7"
-grpcio==1.48.2 ; python_version < "3.7"
-grpcio==1.53.2 ; python_version >= "3.7"
-
+wagtail==6.3.1
+papermill==2.6.0
+nbformat==5.10.4
+nbconvert==7.16.6
+grpcio==1.70.0
 airavata-python-sdk==3.0.0
-
 -e "."
diff --git a/airavata-django-portal/setup.cfg b/airavata-django-portal/setup.cfg
deleted file mode 100644
index 8ecf4eead..000000000
--- a/airavata-django-portal/setup.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-[flake8]
-exclude =
-    venv,
-    ./airavata,
-    node_modules,
-    settings_local.py,
-    */migrations,
-    .tox
-ignore = E501, W504
-
-[isort]
-# Set multi_line_output to option 3 - Vertical Hanging Indent
-
-# from third_party import (
-#     lib1,
-#     lib2,
-#     lib3,
-#     lib4,
-# )
-multi_line_output = 3
-# due to bug, must skip .git folder explicitly
-# https://github.com/timothycrosley/isort/issues/1366
-skip = migrations, .git
-skip_gitignore = true
-known_third_party = airavata, airavata_django_portal_sdk
diff --git a/airavata-django-portal/setup.py b/airavata-django-portal/setup.py
index c2447dee6..ccf785fc2 100644
--- a/airavata-django-portal/setup.py
+++ b/airavata-django-portal/setup.py
@@ -1,56 +1,5 @@
-import os
+# Shim for editable installs (`pip install -e .`).
+# All metadata lives in pyproject.toml.
+from setuptools import setup
 
-from setuptools import find_packages, setup
-
-
-def read(fname):
-    with open(os.path.join(os.path.dirname(__file__), fname)) as f:
-        return f.read()
-
-
-setup(
-    name='airavata-django-portal',
-    version='0.1',
-    url='https://github.com/apache/airavata-django-portal',
-    author='Apache Software Foundation',
-    author_email='[email protected]',
-    description=('The Airavata Django Portal is a web interface to the '
-                 'Apache Airavata API implemented using the Django web '
-                 'framework.'),
-    long_description=read('README.md'),
-    license='Apache License 2.0',
-    packages=find_packages(),
-    install_requires=[
-            'Django',
-            'djangorestframework',
-            'requests',
-            'requests-oauthlib',
-            'thrift',
-            'thrift_connector',
-            'wagtail',
-            'wagtailfontawesome',
-            'jupyter',
-            'papermill',
-            "airavata-django-portal-sdk",
-    ],
-    extras_require={
-        'dev': [
-            'flake8',
-            'flake8-isort'
-        ],
-        'mysql': [
-            'mysqlclient'
-        ]
-    },
-    classifiers=[
-        'Development Status :: 4 - Beta',
-        'Environment :: Web Environment',
-        'Framework :: Django',
-        'Intended Audience :: Developers',
-        'License :: OSI Approved :: Apache Software License',
-        'Natural Language :: English',
-        'Programming Language :: Python :: 3.6',
-        'Topic :: Internet :: WWW/HTTP',
-        'Topic :: Internet :: WWW/HTTP :: WSGI :: Application'
-    ]
-)
+setup()

Reply via email to