diff --git a/.gitignore b/.gitignore index 39b230b..91014cc 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ +*~ +*.pyc +dist/ tailbone_mailchimp.egg-info/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a3b32c..b83e353 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,22 @@ All notable changes to tailbone-mailchimp 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-06-14) + +### Fix + +- fallback to `importlib_metadata` on older python + +## v0.2.0 (2024-06-10) + +### Feat + +- switch from setup.cfg to pyproject.toml + hatchling + +## [0.1.1] - 2023-06-01 +### Changed +- Replace `setup.py` contents with `setup.cfg`. + ## [0.1.0] - 2021-11-09 ### Added - Initial version; expose MailChimp cache tables. diff --git a/README.md b/README.md new file mode 100644 index 0000000..f4314f3 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ + +# tailbone-mailchimp + +Rattail is a retail software framework, released under the GNU General +Public License. + +This package contains software interfaces for the +[MailChimp](https://mailchimp.com/) system. + +Please see the [Rattail Project](https://rattailproject.org/) for more +information. diff --git a/README.rst b/README.rst deleted file mode 100644 index 0165382..0000000 --- a/README.rst +++ /dev/null @@ -1,14 +0,0 @@ - -tailbone-mailchimp -================== - -Rattail is a retail software framework, released under the GNU General -Public License. - -This package contains software interfaces for the `MailChimp`_ system. - -.. _`MailChimp`: https://mailchimp.com/ - -Please see the `Rattail Project`_ for more information. - -.. _`Rattail Project`: https://rattailproject.org/ diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..8c1fe4f --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,42 @@ + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + + +[project] +name = "tailbone-mailchimp" +version = "0.2.1" +description = "Tailbone integration for MailChimp" +readme = "README.md" +authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] +license = {text = "GNU GPL v3+"} +classifiers = [ + "Development Status :: 4 - Beta", + "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 = [ + "rattail", + "rattail-mailchimp", + "Tailbone", +] + + +[project.urls] +Homepage = "https://rattailproject.org" +Repository = "https://kallithea.rattailproject.org/rattail-project/tailbone-mailchimp" +Changelog = "https://kallithea.rattailproject.org/rattail-project/tailbone-mailchimp/files/master/CHANGELOG.md" + + +[tool.commitizen] +version_provider = "pep621" +tag_format = "v$version" +update_changelog_on_bump = true diff --git a/setup.py b/setup.py deleted file mode 100644 index 1c39048..0000000 --- a/setup.py +++ /dev/null @@ -1,95 +0,0 @@ -# -*- coding: utf-8; -*- -################################################################################ -# -# Rattail -- Retail Software Framework -# Copyright © 2010-2021 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 . -# -################################################################################ - -import os -from setuptools import setup, find_packages - - -here = os.path.abspath(os.path.dirname(__file__)) -exec(open(os.path.join(here, 'tailbone_mailchimp', '_version.py')).read()) -README = open(os.path.join(here, 'README.rst')).read() - - -requires = [ - # - # Version numbers within comments below have specific meanings. - # Basically the 'low' value is a "soft low," and 'high' a "soft high." - # In other words: - # - # If either a 'low' or 'high' value exists, the primary point to be - # made about the value is that it represents the most current (stable) - # version available for the package (assuming typical public access - # methods) whenever this project was started and/or documented. - # Therefore: - # - # If a 'low' version is present, you should know that attempts to use - # versions of the package significantly older than the 'low' version - # may not yield happy results. (A "hard" high limit may or may not be - # indicated by a true version requirement.) - # - # Similarly, if a 'high' version is present, and especially if this - # project has laid dormant for a while, you may need to refactor a bit - # when attempting to support a more recent version of the package. (A - # "hard" low limit should be indicated by a true version requirement - # when a 'high' version is present.) - # - # In any case, developers and other users are encouraged to play - # outside the lines with regard to these soft limits. If bugs are - # encountered then they should be filed as such. - # - # package # low high - - 'rattail', # 0.9.214 - 'rattail-mailchimp', # 0.1.0 - 'Tailbone', # 0.8.168 -] - - -setup( - name = "tailbone-mailchimp", - version = __version__, - author = "Lance Edgar", - author_email = "lance@edbob.org", - url = "https://rattailproject.org/", - license = "GNU GPL v3", - description = "Tailbone integration for MailChimp", - long_description = README, - - classifiers = [ - 'Development Status :: 4 - Beta', - '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', - ], - - install_requires = requires, - packages = find_packages(), - include_package_data = True, - zip_safe = False, -) diff --git a/tailbone_mailchimp/_version.py b/tailbone_mailchimp/_version.py index e41b669..6f3c965 100644 --- a/tailbone_mailchimp/_version.py +++ b/tailbone_mailchimp/_version.py @@ -1,3 +1,9 @@ # -*- coding: utf-8; -*- -__version__ = '0.1.0' +try: + from importlib.metadata import version +except ImportError: + from importlib_metadata import version + + +__version__ = version('tailbone-mailchimp') diff --git a/tasks.py b/tasks.py index 195091f..7ed0fc2 100644 --- a/tasks.py +++ b/tasks.py @@ -2,7 +2,7 @@ ################################################################################ # # Rattail -- Retail Software Framework -# Copyright © 2010-2021 Lance Edgar +# Copyright © 2010-2024 Lance Edgar # # This file is part of Rattail. # @@ -30,17 +30,15 @@ import shutil from invoke import task -here = os.path.abspath(os.path.dirname(__file__)) -exec(open(os.path.join(here, 'tailbone_mailchimp', '_version.py')).read()) - - @task -def release(ctx): +def release(c): """ Release a new version of 'tailbone-mailchimp'. """ - shutil.rmtree('tailbone_mailchimp.egg-info') - ctx.run('python setup.py sdist --formats=gztar') + if os.path.exists('dist'): + shutil.rmtree('dist') + if os.path.exists('tailbone_mailchimp.egg-info'): + shutil.rmtree('tailbone_mailchimp.egg-info') + c.run('python -m build --sdist') - filename = 'tailbone-mailchimp-{}.tar.gz'.format(__version__) - ctx.run('twine upload dist/{}'.format(filename)) + c.run('twine upload dist/*')