From 6b4280a6aa02cdfa76b44fa48582f4e5e91c3145 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Mon, 10 Jun 2024 21:21:19 -0500 Subject: [PATCH] feat: switch from setup.cfg to pyproject.toml + hatchling --- .gitignore | 3 ++ pyproject.toml | 61 +++++++++++++++++++++++++++++++++++++ rattail_tempmon/_version.py | 5 ++- setup.cfg | 50 ------------------------------ setup.py | 29 ------------------ tasks.py | 8 ++--- 6 files changed, 71 insertions(+), 85 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.cfg delete mode 100644 setup.py diff --git a/.gitignore b/.gitignore index b2c6123..8b9f408 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ +*~ +*.pyc +dist/ rattail_tempmon.egg-info/ diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..b5920ba --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,61 @@ + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + + +[project] +name = "rattail-tempmon" +version = "0.3.0" +description = "Retail Software Framework - Temperature monitoring add-on" +readme = "README.rst" +authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] +license = {text = "GNU GPL v3+"} +classifiers = [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Topic :: Office/Business", + "Topic :: Software Development :: Libraries :: Python Modules", +] +dependencies = [ + "rattail[db]", + "six", + "sqlsoup", +] + + +[project.urls] +Homepage = "https://rattailproject.org" +Repository = "https://kallithea.rattailproject.org/rattail-project/rattail-tempmon" +Changelog = "https://kallithea.rattailproject.org/rattail-project/rattail-tempmon/files/master/CHANGES.rst" + + +[project.entry-points."rattail.config.extensions"] +tempmon = "rattail_tempmon.config:TempmonConfigExtension" + + +[project.entry-points."rattail.subcommands"] +export-hotcooler = "rattail_tempmon.commands:ExportHotCooler" +purge-tempmon = "rattail_tempmon.commands:PurgeTempmon" +tempmon-client = "rattail_tempmon.commands:TempmonClient" +tempmon-problems = "rattail_tempmon.commands:TempmonProblems" +tempmon-server = "rattail_tempmon.commands:TempmonServer" + + +[project.entry-points."rattail.typer_imports"] +rattail_tempmon = "rattail_tempmon.commands" + + +[project.entry-points."rattail.emails"] +rattail_tempmon = "rattail_tempmon.emails" + + +[tool.commitizen] +version_provider = "pep621" +tag_format = "v$version" +update_changelog_on_bump = true diff --git a/rattail_tempmon/_version.py b/rattail_tempmon/_version.py index 2f2de2d..71aa2b6 100644 --- a/rattail_tempmon/_version.py +++ b/rattail_tempmon/_version.py @@ -1,3 +1,6 @@ # -*- coding: utf-8; -*- -__version__ = '0.3.0' +from importlib.metadata import version + + +__version__ = version('rattail-tempmon') diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index ecfe3f6..0000000 --- a/setup.cfg +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8; -*- - -[metadata] -name = rattail-tempmon -version = attr: rattail_tempmon.__version__ -author = Lance Edgar -author_email = lance@edbob.org -url = https://rattailproject.org/ -license = GNU GPL v3 -description = Retail Software Framework - Temperature monitoring add-on -long_description = file: README.rst -classifiers = - Development Status :: 3 - Alpha - Intended Audience :: Developers - License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+) - Natural Language :: English - Operating System :: OS Independent - Programming Language :: Python - Programming Language :: Python :: 3 - Topic :: Office/Business - Topic :: Software Development :: Libraries :: Python Modules - - -[options] -install_requires = - rattail[db] - six - sqlsoup - -packages = find: -include_package_data = True - - -[options.entry_points] - -rattail.subcommands = - export-hotcooler = rattail_tempmon.commands:ExportHotCooler - purge-tempmon = rattail_tempmon.commands:PurgeTempmon - tempmon-client = rattail_tempmon.commands:TempmonClient - tempmon-problems = rattail_tempmon.commands:TempmonProblems - tempmon-server = rattail_tempmon.commands:TempmonServer - -rattail.typer_imports = - rattail_tempmon = rattail_tempmon.commands - -rattail.config.extensions = - tempmon = rattail_tempmon.config:TempmonConfigExtension - -rattail.emails = - rattail_tempmon = rattail_tempmon.emails diff --git a/setup.py b/setup.py deleted file mode 100644 index d3afc65..0000000 --- a/setup.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8; -*- -################################################################################ -# -# Rattail -- Retail Software Framework -# Copyright © 2010-2023 Lance Edgar -# -# This file is part of Rattail. -# -# Rattail is free software: you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation, either version 3 of the License, or (at your option) any later -# version. -# -# Rattail is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# Rattail. If not, see . -# -################################################################################ -""" -setup script for rattail-tempmon -""" - -from setuptools import setup - -setup() diff --git a/tasks.py b/tasks.py index 1c9413e..497f721 100644 --- a/tasks.py +++ b/tasks.py @@ -30,16 +30,14 @@ import shutil from invoke import task -here = os.path.abspath(os.path.dirname(__file__)) -exec(open(os.path.join(here, 'rattail_tempmon', '_version.py')).read()) - - @task def release(c): """ Release a new version of `rattail-tempmon` """ + if os.path.exists('dist'): + shutil.rmtree('dist') if os.path.exists('rattail_tempmon.egg-info'): shutil.rmtree('rattail_tempmon.egg-info') c.run('python -m build --sdist') - c.run(f'twine upload dist/rattail_tempmon-{__version__}.tar.gz') + c.run('twine upload dist/*')