From 2531162d8dc56830854be0efaf977fb28a3e68c5 Mon Sep 17 00:00:00 2001
From: Erik Reid <erik.reid@geant.org>
Date: Fri, 30 May 2025 17:28:02 +0200
Subject: [PATCH] translated setup.py to pyproject.toml, added license spdx to
 metadata

---
 LICENSE        |  2 +-
 pyproject.toml | 38 +++++++++++++++++++++++++++++++++++++-
 setup.py       | 28 ----------------------------
 3 files changed, 38 insertions(+), 30 deletions(-)
 delete mode 100644 setup.py

diff --git a/LICENSE b/LICENSE
index ff62c81..a1930d4 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,3 +1,3 @@
 MIT License
 
-Copyright (c) 2023-2024 GÉANT Software Development Team
\ No newline at end of file
+Copyright (c) 2025 GÉANT Software Development Team
diff --git a/pyproject.toml b/pyproject.toml
index 4650bd8..87cfb4d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,3 +1,39 @@
+[build-system]
+requires = ["setuptools>=61.0", "wheel"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "sage-validation"
+version = "0.13"
+description = "Middleware tool for finance members to validate and pre-process MEO output for input into Sage"
+license = "MIT"
+readme = "README.md"
+requires-python = ">=3.10"
+classifiers = [
+    "Programming Language :: Python :: 3",
+    "Framework :: Django",
+    "Operating System :: OS Independent",
+]
+dependencies = [
+    "Django>=5.0,<5.1",
+    "mssql-django==1.5",
+    "djangorestframework==3.15.2",
+    "social-auth-app-django==5.4.3",
+    "psycopg[binary,pool]",
+]
+
+[project.optional-dependencies]
+prod = [
+    "gunicorn",
+    "uvicorn",
+]
+
+[tool.setuptools]
+include-package-data = true
+
+[tool.setuptools.packages.find]
+exclude = ["test*"]
+
 [tool.mypy]
 mypy_path = "sage_validation"
 exclude = [
@@ -43,4 +79,4 @@ ban-relative-imports = "all"
 [tool.pytest.ini_options]
 DJANGO_SETTINGS_MODULE = "test.settings"
 django_find_project = false
-python_files = ["tests.py", "test_*.py", "*_tests.py"]
\ No newline at end of file
+python_files = ["tests.py", "test_*.py", "*_tests.py"]
diff --git a/setup.py b/setup.py
deleted file mode 100644
index a1b8159..0000000
--- a/setup.py
+++ /dev/null
@@ -1,28 +0,0 @@
-"""Setup script for the sage-validation package."""
-from setuptools import find_packages, setup
-
-setup(
-    name="sage-validation",
-    version="0.13",
-    packages=find_packages(),
-    include_package_data=True,
-    install_requires=[
-        "Django>=5.0,<5.1",
-        "mssql-django==1.5",
-        "djangorestframework==3.15.2",
-        "social-auth-app-django==5.4.3",
-        "psycopg[binary,pool]",
-    ],
-    extras_require={
-        "prod": [
-            "gunicorn",
-            "uvicorn",
-        ],
-    },
-    classifiers=[
-        "Programming Language :: Python :: 3",
-        "Framework :: Django",
-        "Operating System :: OS Independent",
-    ],
-    python_requires=">=3.10"
-)
-- 
GitLab