feat: switch from setup.cfg to pyproject.toml + hatchling
This commit is contained in:
		
							parent
							
								
									6eb483fe90
								
							
						
					
					
						commit
						29c3429d2e
					
				
					 6 changed files with 80 additions and 64 deletions
				
			
		
							
								
								
									
										3
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1 +1,4 @@ | |||
| *~ | ||||
| *.pyc | ||||
| dist/ | ||||
| tailbone_harvest.egg-info/ | ||||
|  |  | |||
							
								
								
									
										58
									
								
								pyproject.toml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								pyproject.toml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,58 @@ | |||
| 
 | ||||
| [build-system] | ||||
| requires = ["hatchling"] | ||||
| build-backend = "hatchling.build" | ||||
| 
 | ||||
| 
 | ||||
| [project] | ||||
| name = "tailbone-harvest" | ||||
| version = "0.2.0" | ||||
| description = "Tailbone integration package for Harvest" | ||||
| 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-harvest", | ||||
|         "Tailbone", | ||||
| ] | ||||
| 
 | ||||
| 
 | ||||
| [project.urls] | ||||
| Homepage = "https://rattailproject.org" | ||||
| Repository = "https://kallithea.rattailproject.org/rattail-project/tailbone-harvest" | ||||
| Changelog = "https://kallithea.rattailproject.org/rattail-project/tailbone-harvest/files/master/CHANGELOG.md" | ||||
| 
 | ||||
| 
 | ||||
| [project.entry-points."rattail.subcommands"] | ||||
| import-harvest = "rattail_harvest.commands:ImportHarvest" | ||||
| 
 | ||||
| 
 | ||||
| [project.entry-points."rattail.typer_imports"] | ||||
| rattail_harvest = "rattail_harvest.commands" | ||||
| 
 | ||||
| 
 | ||||
| [project.entry-points."rattail.config.extensions"] | ||||
| rattail_harvest = "rattail_harvest.config:RattailHarvestExtension" | ||||
| 
 | ||||
| 
 | ||||
| [project.entry-points."rattail.importing"] | ||||
| "to_rattail.from_harvest.import" = "rattail_harvest.importing.harvest:FromHarvestToRattail" | ||||
| 
 | ||||
| 
 | ||||
| [tool.commitizen] | ||||
| version_provider = "pep621" | ||||
| tag_format = "v$version" | ||||
| update_changelog_on_bump = true | ||||
							
								
								
									
										31
									
								
								setup.cfg
									
										
									
									
									
								
							
							
						
						
									
										31
									
								
								setup.cfg
									
										
									
									
									
								
							|  | @ -1,31 +0,0 @@ | |||
| # -*- coding: utf-8; -*- | ||||
| 
 | ||||
| [metadata] | ||||
| name = tailbone-harvest | ||||
| version = attr: tailbone_harvest.__version__ | ||||
| author = Lance Edgar | ||||
| author_email = lance@edbob.org | ||||
| url = https://rattailproject.org/ | ||||
| description = Tailbone integration package for Harvest | ||||
| 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-harvest | ||||
|         Tailbone | ||||
| 
 | ||||
| packages = find: | ||||
| include_package_data = True | ||||
							
								
								
									
										29
									
								
								setup.py
									
										
									
									
									
								
							
							
						
						
									
										29
									
								
								setup.py
									
										
									
									
									
								
							|  | @ -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 <http://www.gnu.org/licenses/>. | ||||
| # | ||||
| ################################################################################ | ||||
| """ | ||||
| tailbone-harvest setup script | ||||
| """ | ||||
| 
 | ||||
| from setuptools import setup | ||||
| 
 | ||||
| setup() | ||||
|  | @ -1,3 +1,6 @@ | |||
| # -*- coding: utf-8; -*- | ||||
| 
 | ||||
| __version__ = '0.2.0' | ||||
| from importlib.metadata import version | ||||
| 
 | ||||
| 
 | ||||
| __version__ = version('tailbone-harvest') | ||||
|  |  | |||
							
								
								
									
										18
									
								
								tasks.py
									
										
									
									
									
								
							
							
						
						
									
										18
									
								
								tasks.py
									
										
									
									
									
								
							|  | @ -25,13 +25,24 @@ Tasks for tailbone-harvest | |||
| """ | ||||
| 
 | ||||
| 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_harvest', '_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 | ||||
|  | @ -40,8 +51,9 @@ def release(c): | |||
|     Release a new version of tailbone-harvest | ||||
|     """ | ||||
|     # rebuild local tar.gz file for distribution | ||||
|     shutil.rmtree('tailbone_harvest.egg-info') | ||||
|     c.run('python setup.py sdist --formats=gztar') | ||||
|     if os.path.exists('tailbone_harvest.egg-info'): | ||||
|         shutil.rmtree('tailbone_harvest.egg-info') | ||||
|     c.run('python -m build --sdist') | ||||
| 
 | ||||
|     # upload to public PyPI | ||||
|     filename = f'tailbone_harvest-{__version__}.tar.gz' | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lance Edgar
						Lance Edgar