summaryrefslogtreecommitdiff
path: root/pyproject.toml
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2024-06-24 20:34:43 +0200
committernessita <124304+nessita@users.noreply.github.com>2025-05-05 11:46:49 -0300
commitafe52d89c4f42870622a4bb161ab5f4d4913aac5 (patch)
tree7ae079c42c7e6cb15549851a5d606afc54b0b9ed /pyproject.toml
parent35c34ed2d0039db98a871da300531514bb0cbac0 (diff)
[4.2.x] Migrated setuptools configuration to pyproject.toml.
This branch migrates setuptools configuration from setup.py/setup.cfg to pyproject.toml. In order to ensure that the generated binary files have consistent casing (both the tarball and the wheel), setuptools version is limited to ">=61.0.0,<69.3.0". Configuration for flake8 was moved to a dedicated .flake8 file since it cannot be configured via pyproject.toml. Also, __pycache__ exclusion was removed from MANIFEST and the extras/Makefile was replaced with a simpler build command. Co-authored-by: Nick Pope <nick@nickpope.me.uk> Backport of 4686541691dbe986f58ac87630c3b7a04db4ff93 from main.
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml72
1 files changed, 68 insertions, 4 deletions
diff --git a/pyproject.toml b/pyproject.toml
index b1b79a53dd..d059282f16 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,7 +1,71 @@
[build-system]
-requires = ['setuptools>=40.8.0']
-build-backend = 'setuptools.build_meta'
+requires = ["setuptools>=61.0.0,<69.3.0"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "Django"
+dynamic = ["version"]
+requires-python = ">= 3.8"
+dependencies = [
+ "asgiref >= 3.6.0, < 4",
+ "backports.zoneinfo; python_version<'3.9'",
+ "sqlparse>=0.3.1",
+ "tzdata; sys_platform == 'win32'",
+]
+authors = [
+ {name = "Django Software Foundation", email = "foundation@djangoproject.com"},
+]
+description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design."
+readme = "README.rst"
+license = {text = "BSD-3-Clause"}
+classifiers = [
+ "Development Status :: 5 - Production/Stable",
+ "Environment :: Web Environment",
+ "Framework :: Django",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: BSD License",
+ "Operating System :: OS Independent",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3 :: Only",
+ "Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+ "Topic :: Internet :: WWW/HTTP",
+ "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
+ "Topic :: Internet :: WWW/HTTP :: WSGI",
+ "Topic :: Software Development :: Libraries :: Application Frameworks",
+ "Topic :: Software Development :: Libraries :: Python Modules",
+]
+
+[project.optional-dependencies]
+argon2 = ["argon2-cffi>=19.1.0"]
+bcrypt = ["bcrypt"]
+
+[project.scripts]
+django-admin = "django.core.management:execute_from_command_line"
+
+[project.urls]
+Homepage = "https://www.djangoproject.com/"
+Documentation = "https://docs.djangoproject.com/"
+"Release notes" = "https://docs.djangoproject.com/en/stable/releases/"
+Funding = "https://www.djangoproject.com/fundraising/"
+Source = "https://github.com/django/django"
+Tracker = "https://code.djangoproject.com/"
[tool.black]
-target-version = ['py38']
-force-exclude = 'tests/test_runner_apps/tagged/tests_syntax_error.py'
+target-version = ["py38"]
+force-exclude = "tests/test_runner_apps/tagged/tests_syntax_error.py"
+
+[tool.isort]
+profile = "black"
+default_section = "THIRDPARTY"
+known_first_party = "django"
+
+[tool.setuptools.dynamic]
+version = {attr = "django.__version__"}
+
+[tool.setuptools.packages.find]
+include = ["django*"]