diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..7150d51 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,51 @@ +[build-system] +requires = ["setuptools >= 77.0.3"] +build-backend = "setuptools.build_meta" +[project] +name = "squaresdb" +version = "0.1.20260108" +authors = [ + { name="SquaresDB team", email="squares-webapps@mit.edu" }, + { name="Alex Dehnert", email="adehnert@mit.edu" }, +] +description = "MIT Tech Squares membership app" +readme = "README.md" +# Mostly tested on 3.12, but Django 5.2 supports Python 3.10, so *probably* that works +# https://docs.djangoproject.com/en/5.2/releases/5.2/ +requires-python = ">=3.10" +classifiers = [ + "Programming Language :: Python :: 3", + "Development Status :: 5 - Production/Stable", + "Environment :: Web Environment", + "Framework :: Django", + "Operating System :: OS Independent", +] +license = "MIT" +#license-files = ["LICENSE.txt"] + +dependencies = [ + # Server + "django~=5.2", + "django-reversion", + "django-select2", + "pytz", # timezone support TODO: confirm works + "social-auth-core[saml]>=3.0", + "social-auth-app-django", + "django-bootstrap-static>=5,<6" +] + +[project.optional-dependencies] +scripts = ['flup'] # index.fcgi needs flup +mysql = ['mysqlclient'] +dev = [ + 'pylint', 'pylint-django', # lint + 'mypy', 'django-stubs', # type checking +] +doc = ['sphinx>8.2', 'sphinxcontrib-django'] + +[project.urls] +Homepage = "https://github.com/tech-squares/squaresdb" +Issues = "https://github.com/tech-squares/squaresdb/issues" + +[tool.setuptools] +packages = [ "squaresdb" ] diff --git a/setup.py b/setup.py deleted file mode 100644 index c90278d..0000000 --- a/setup.py +++ /dev/null @@ -1,41 +0,0 @@ -from distutils.core import setup - -setup( - name = "squaresdb", - version = "0.1.20240427", - packages = ["squaresdb"], - install_requires = [ - # Server - "django~=5.1", - "django-reversion", - "django-select2", - "pytz", # timezone support TODO: confirm works - "social-auth-core[saml]>=3.0", - "social-auth-app-django", - "django-bootstrap-static>=5,<6" - ], - - extras_require={ - 'scripts': ['flup'], # index.fcgi needs flup - 'mysql': ['mysqlclient'], - 'dev': [ - 'pylint', 'pylint-django', # lint - 'mypy', 'django-stubs', # type checking - ], - 'doc': ['sphinx>8.2', 'sphinxcontrib-django'], - }, - - author = "Tech Squares webapp team", - author_email = "squares-webapps@mit.edu", - url = "http://www.mit.edu/~tech-squares/", - description = 'MIT Tech Squares membership app', - license = "LICENSE.txt", - - keywords = ["mit", ], - classifiers = [ - "Programming Language :: Python", - "Development Status :: 1 - Planning", - "Environment :: Web Environment", - "Framework :: Django", - ], -)