diff options
author | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2024-04-16 09:32:10 +0200 |
---|---|---|
committer | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2024-04-16 09:32:10 +0200 |
commit | 99c4e883049c5a797e63df396d3530b77700a1d5 (patch) | |
tree | 58a3bbc3504731d737a2d31bf601af3731a1b9e4 | |
parent | f3a49e6a8ad7247fbe32e455cdc1e3f217a0e073 (diff) |
Modernize packaging with pyproject.toml and setuptool_scm.
-rw-r--r-- | .builds/archlinux.yml | 1 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | CHANGELOG.rst | 1 | ||||
-rwxr-xr-x | check | 8 | ||||
-rw-r--r-- | pyproject.toml | 39 | ||||
-rw-r--r-- | setup.py | 45 |
6 files changed, 48 insertions, 48 deletions
diff --git a/.builds/archlinux.yml b/.builds/archlinux.yml index e7099c3..c3ac481 100644 --- a/.builds/archlinux.yml +++ b/.builds/archlinux.yml @@ -9,6 +9,7 @@ sources: tasks: - test: | cd hazwaz + export COVERAGE=coverage sh check coverage - qa: | cd hazwaz @@ -1,4 +1,6 @@ *.pyc .coverage +hazwaz/_version.py + .*.sw? diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 95b453d..7f3bf74 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,7 @@ Unreleased ========== * Make the package PEP651 compliant. +* Modernize packaging with pyproject.toml and setuptool_scm. 0.0.2 ===== @@ -11,7 +11,7 @@ then fi PYTHON="${PYTHON:-python3}" -NOSE2="${NOSE2:-$PYTHON -m nose2}" +COVERAGE="${COVERAGE:-python3-coverage}" export PYTHONDEVMODE=1 @@ -20,11 +20,11 @@ shift 1 case $SUBCMD in "tests") - $NOSE2 $COVER_OPT --log-level=ERROR -B --log-capture $* + $PYTHON -m unittest discover -s tests ;; "coverage") - $NOSE2 --with-coverage --coverage-report=term-missing \ - --log-level=ERROR -B --log-capture $* + $COVERAGE run --source=hazwaz -m unittest discover -s tests + $COVERAGE report -m ;; "qa") flake8 --select=E,F,W,C90,E123 --ignore=W503 . diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..ddd0fc8 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,39 @@ +[build-system] +requires = ["setuptools", "setuptools-scm"] +build-backend = "setuptools.build_meta" + +[project] +name = "hazwaz" +authors = [ + {name = "Elena ``of Valhalla'' Grandi", email = "valhalla@trueelena.org"}, +] +description = "A command line scripts framework" +readme = "README.rst" +requires-python = ">= 3.9" +license = {text = "AGPLv3+"} +keywords = ["cli"] +classifiers = [ + 'Development Status :: 3 - Alpha', + 'Environment :: Console', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)', + 'Operating System :: POSIX', + 'Programming Language :: Python :: 3 :: Only', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Topic :: Software Development :: Libraries :: Python Modules', + 'Topic :: Software Development :: User Interfaces', +] +dynamic = ["version"] + +[project.urls] +Homepage = "https://hazwaz.trueelena.org/" +Documentation = "https://hazwaz.trueelena.org/" +Repository = "https://git.sr.ht/~valhalla/hazwaz" +Source = "https://git.sr.ht/~valhalla/hazwaz" +Issues = "https://todo.sr.ht/~valhalla/hazwaz" +Tracker = "https://todo.sr.ht/~valhalla/hazwaz" +Changelog = "https://git.sr.ht/~valhalla/hazwaz/tree/master/item/CHANGELOG.rst" + +[tool.setuptools_scm] +version_file = "hazwaz/_version.py" @@ -1,47 +1,4 @@ -from setuptools import find_packages, setup - -try: - with open("README.rst", 'r') as fp: - long_description = fp.read() -except IOError: - print("Could not read README.rst, long_description will be empty.") - long_description = "" +from setuptools import setup setup( - name='hazwaz', - version='0.0.3', - packages=find_packages(), - package_data={ - "hazwaz": ["py.typed"], - }, - test_suite='tests', - install_requires=[], - python_requires='>=3', - zip_safe=False, - # Metadata - author="Elena ``of Valhalla'' Grandi", - author_email='valhalla@trueelena.org', - description='write command line scripts', - long_description=long_description, - long_description_content_type='text/x-rst', - license='AGPLv3+', - keywords='cli', - url='https://hazwaz.trueelena.org/', - classifiers=[ - 'Development Status :: 3 - Alpha', - 'Environment :: Console', - 'Intended Audience :: Developers', - 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)', # noqa: E501 - 'Operating System :: POSIX', - 'Programming Language :: Python :: 3 :: Only', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Topic :: Software Development :: Libraries :: Python Modules', - 'Topic :: Software Development :: User Interfaces', - ], - project_urls={ - 'Source': 'https://git.sr.ht/~valhalla/hazwaz', - 'Documentation': 'https://hazwaz.trueelena.org/', - 'Tracker': 'https://todo.sr.ht/~valhalla/hazwaz', - }, ) |