From 8d4898ead6a0902c5f37451e5ff0f006d0cb763c Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Mon, 10 Jun 2024 19:44:59 -0500 Subject: [PATCH 1/7] feat: switch from setup.cfg to pyproject.toml + hatchling --- .gitignore | 3 ++ pyproject.toml | 58 +++++++++++++++++++++++++++++++++++++++ setup.cfg | 31 --------------------- setup.py | 29 -------------------- tailbone_wave/_version.py | 5 +++- tasks.py | 15 ++++++++-- 6 files changed, 78 insertions(+), 63 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.cfg delete mode 100644 setup.py diff --git a/.gitignore b/.gitignore index 2df4548..174d52d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ +*~ +*.pyc +dist/ tailbone_wave.egg-info/ diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..dc85650 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,58 @@ + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + + +[project] +name = "tailbone-wave" +version = "0.1.0" +description = "Tailbone integration package for Wave" +readme = "README.rst" +authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] +license = {text = "GNU GPL v3+"} +classifiers = [ + "Development Status :: 3 - Alpha", + "Environment :: Web Environment", + "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 = [ + "invoke", + "rattail-wave", + "Tailbone", +] + + +[project.entry-points."rattail.subcommands"] +import-wave = "rattail_wave.commands:ImportWave" + + +[project.entry-points."rattail.typer_imports"] +rattail_wave = "rattail_wave.commands" + + +[project.entry-points."rattail.config.extensions"] +rattail_wave = "rattail_wave.config:RattailWaveExtension" + + +[project.entry-points."rattail.importing"] +"to_rattail.from_wave.import" = "rattail_wave.importing.wave:FromWaveToRattail" + + +[project.urls] +Homepage = "https://rattailproject.org" +Repository = "https://kallithea.rattailproject.org/rattail-project/tailbone-wave" +Changelog = "https://kallithea.rattailproject.org/rattail-project/tailbone-wave/files/master/CHANGELOG.md" + + +[tool.commitizen] +version_provider = "pep621" +tag_format = "v$version" +update_changelog_on_bump = true diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 918a057..0000000 --- a/setup.cfg +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8; -*- - -[metadata] -name = tailbone-wave -version = attr: tailbone_wave.__version__ -author = Lance Edgar -author_email = lance@edbob.org -url = https://rattailproject.org/ -description = Tailbone integration package for Wave -long_description = file: README.rst -classifiers = - Development Status :: 3 - Alpha - Environment :: Web Environment - 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 = - invoke - rattail-wave - Tailbone - -packages = find: -include_package_data = True diff --git a/setup.py b/setup.py deleted file mode 100644 index 9b63f83..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 . -# -################################################################################ -""" -tailbone-wave setup script -""" - -from setuptools import setup - -setup() diff --git a/tailbone_wave/_version.py b/tailbone_wave/_version.py index e41b669..a49bb7d 100644 --- a/tailbone_wave/_version.py +++ b/tailbone_wave/_version.py @@ -1,3 +1,6 @@ # -*- coding: utf-8; -*- -__version__ = '0.1.0' +from importlib.metadata import version + + +__version__ = version('tailbone-wave') diff --git a/tasks.py b/tasks.py index 8503016..9a59eda 100644 --- a/tasks.py +++ b/tasks.py @@ -2,7 +2,7 @@ ################################################################################ # # Rattail -- Retail Software Framework -# Copyright © 2010-2022 Lance Edgar +# Copyright © 2010-2024 Lance Edgar # # This file is part of Rattail. # @@ -25,13 +25,24 @@ Tasks for tailbone-wave """ import os +import re import shutil from invoke import task here = os.path.abspath(os.path.dirname(__file__)) -exec(open(os.path.join(here, 'tailbone_wave', '_version.py')).read()) +__version__ = None +pattern = re.compile(r'^version = "(\d+\.\d+\.\d+)"$') +with open(os.path.join(here, 'pyproject.toml'), 'rt') as f: + for line in f: + line = line.rstrip('\n') + match = pattern.match(line) + if match: + __version__ = match.group(1) + break +if not __version__: + raise RuntimeError("could not parse version!") @task From 7db3221ec083171ac6499feb713c6aa20a20dc5d Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Mon, 10 Jun 2024 19:45:11 -0500 Subject: [PATCH 2/7] =?UTF-8?q?bump:=20version=200.1.0=20=E2=86=92=200.2.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 ++++++ pyproject.toml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6e369c..2747291 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to tailbone-wave will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## v0.2.0 (2024-06-10) + +### Feat + +- switch from setup.cfg to pyproject.toml + hatchling + ## [0.1.0] - 2023-11-17 ### Added - Initial version. diff --git a/pyproject.toml b/pyproject.toml index dc85650..c972a80 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "hatchling.build" [project] name = "tailbone-wave" -version = "0.1.0" +version = "0.2.0" description = "Tailbone integration package for Wave" readme = "README.rst" authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] From 1788ad052850618196bf9a656f3d11ba95a45f65 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Mon, 10 Jun 2024 19:47:29 -0500 Subject: [PATCH 3/7] build: make clean dist folder for each release this obviates the need to parse app version. but also i found a clue online that said `twine upload dist/*` was the usual way to run things --- tasks.py | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/tasks.py b/tasks.py index 9a59eda..b67dfc1 100644 --- a/tasks.py +++ b/tasks.py @@ -25,36 +25,22 @@ Tasks for tailbone-wave """ import os -import re import shutil from invoke import task -here = os.path.abspath(os.path.dirname(__file__)) -__version__ = None -pattern = re.compile(r'^version = "(\d+\.\d+\.\d+)"$') -with open(os.path.join(here, 'pyproject.toml'), 'rt') as f: - for line in f: - line = line.rstrip('\n') - match = pattern.match(line) - if match: - __version__ = match.group(1) - break -if not __version__: - raise RuntimeError("could not parse version!") - - @task def release(c): """ Release a new version of tailbone-wave """ - # rebuild local tar.gz file for distribution + # rebuild package + if os.path.exists('dist'): + shutil.rmtree('dist') if os.path.exists('tailbone_wave.egg-info'): shutil.rmtree('tailbone_wave.egg-info') c.run('python -m build --sdist') # upload to public PyPI - filename = 'tailbone-wave-{}.tar.gz'.format(__version__) - c.run('twine upload dist/{}'.format(filename)) + c.run('twine upload dist/*') From 018936cc6eca0019fb19b52f3fd637961ca612b9 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Mon, 1 Jul 2024 12:18:34 -0500 Subject: [PATCH 4/7] fix: remove incorrect entry points missed these when copy-pasting apparently --- pyproject.toml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c972a80..63b5e46 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,22 +30,6 @@ dependencies = [ ] -[project.entry-points."rattail.subcommands"] -import-wave = "rattail_wave.commands:ImportWave" - - -[project.entry-points."rattail.typer_imports"] -rattail_wave = "rattail_wave.commands" - - -[project.entry-points."rattail.config.extensions"] -rattail_wave = "rattail_wave.config:RattailWaveExtension" - - -[project.entry-points."rattail.importing"] -"to_rattail.from_wave.import" = "rattail_wave.importing.wave:FromWaveToRattail" - - [project.urls] Homepage = "https://rattailproject.org" Repository = "https://kallithea.rattailproject.org/rattail-project/tailbone-wave" From a9097ea6d23be55393b94e9d4792d87666a23082 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Mon, 1 Jul 2024 14:02:48 -0500 Subject: [PATCH 5/7] =?UTF-8?q?bump:=20version=200.2.0=20=E2=86=92=200.2.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 ++++++ pyproject.toml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2747291..85fdd69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to tailbone-wave will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## v0.2.1 (2024-07-01) + +### Fix + +- remove incorrect entry points + ## v0.2.0 (2024-06-10) ### Feat diff --git a/pyproject.toml b/pyproject.toml index 63b5e46..ff766b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "hatchling.build" [project] name = "tailbone-wave" -version = "0.2.0" +version = "0.2.1" description = "Tailbone integration package for Wave" readme = "README.rst" authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] From 5fb45f3e5aff2916b15635263c1387e25e653efc Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 13 Sep 2024 18:04:43 -0500 Subject: [PATCH 6/7] docs: use markdown for readme file --- README.md | 11 +++++++++++ README.rst | 14 -------------- pyproject.toml | 2 +- 3 files changed, 12 insertions(+), 15 deletions(-) create mode 100644 README.md delete mode 100644 README.rst diff --git a/README.md b/README.md new file mode 100644 index 0000000..1a319b9 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ + +# tailbone-wave + +Rattail is a retail software framework, released under the GNU General +Public License. + +This package contains software interfaces for +[Wave](https://www.waveapps.com/). + +Please see the [Rattail Project](https://rattailproject.org/) for more +information. diff --git a/README.rst b/README.rst deleted file mode 100644 index d712bf1..0000000 --- a/README.rst +++ /dev/null @@ -1,14 +0,0 @@ - -tailbone-wave -============= - -Rattail is a retail software framework, released under the GNU General -Public License. - -This package contains software interfaces for `Wave`_. - -.. _`Wave`: https://www.waveapps.com/ - -Please see the `Rattail Project`_ for more information. - -.. _`Rattail Project`: https://rattailproject.org/ diff --git a/pyproject.toml b/pyproject.toml index ff766b9..62ea492 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ build-backend = "hatchling.build" name = "tailbone-wave" version = "0.2.1" description = "Tailbone integration package for Wave" -readme = "README.rst" +readme = "README.md" authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] license = {text = "GNU GPL v3+"} classifiers = [ From e6fcb747cc18073549e52eca13c521a9eda6d510 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Sat, 14 Sep 2024 12:55:08 -0500 Subject: [PATCH 7/7] docs: update project links, kallithea -> forgejo --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 62ea492..c304434 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,8 +32,8 @@ dependencies = [ [project.urls] Homepage = "https://rattailproject.org" -Repository = "https://kallithea.rattailproject.org/rattail-project/tailbone-wave" -Changelog = "https://kallithea.rattailproject.org/rattail-project/tailbone-wave/files/master/CHANGELOG.md" +Repository = "https://forgejo.wuttaproject.org/rattail/tailbone-wave" +Changelog = "https://forgejo.wuttaproject.org/rattail/tailbone-wave/src/branch/master/CHANGELOG.md" [tool.commitizen]