Migrate to pyproject.toml with setuptools_scm
Replace custom version management with setuptools_scm to eliminate source file modifications during installation. Version is now derived from git tags at build time without writing to tracked files. Changes: - Add pyproject.toml with full project metadata - Simplify setup.py to minimal backwards-compatible shim - Remove curateipsum/_version.py from version control - Add _version.py to .gitignore (auto-generated at build time) - Use PEP 440 compliant version strings Fixes #18
This commit is contained in:
36
pyproject.toml
Normal file
36
pyproject.toml
Normal file
@@ -0,0 +1,36 @@
|
||||
[build-system]
|
||||
requires = ["setuptools>=64", "setuptools_scm>=8"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "cura-te-ipsum"
|
||||
dynamic = ["version"]
|
||||
description = "Backup utility"
|
||||
authors = [
|
||||
{name = "Maks Snegov", email = "snegov@spqr.link"}
|
||||
]
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.6"
|
||||
classifiers = [
|
||||
"Development Status :: 2 - Pre-Alpha",
|
||||
"Intended Audience :: Developers",
|
||||
"Intended Audience :: System Administrators",
|
||||
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
||||
"Operating System :: OS Independent",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Topic :: System :: Archiving :: Backup",
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://github.com/snegov/cura-te-ipsum"
|
||||
"Bug Tracker" = "https://github.com/snegov/cura-te-ipsum/issues"
|
||||
GitHub = "https://github.com/snegov/cura-te-ipsum"
|
||||
|
||||
[project.scripts]
|
||||
cura-te-ipsum = "curateipsum.cli:main"
|
||||
|
||||
[tool.setuptools]
|
||||
packages = ["curateipsum"]
|
||||
|
||||
[tool.setuptools_scm]
|
||||
version_file = "curateipsum/_version.py"
|
||||
Reference in New Issue
Block a user