Files
aprsd-twitter-plugin/pyproject.toml
T
hemna c6a99a95c2 chore: migrate from pbr to setuptools-scm for dynamic versioning
Replace pbr with setuptools-scm so the package version is derived
from git tags (e.g. v0.5.0 -> 0.5.0) rather than a hardcoded '0.0.0'.

Changes:
- [build-system] requires: swap pbr for setuptools-scm
- [project]: remove static version = '0.0.0', add dynamic = ['version']
- [tool.pbr]: replace with [tool.setuptools_scm]
- __init__.py: replace pbr.version.VersionInfo with importlib.metadata.version()

The latest tag is v0.5.0 so new builds will report 0.5.0 (or
0.5.0.devN+gHASH for untagged commits).

Closes #3
2026-08-28 18:25:31 -04:00

77 lines
1.7 KiB
TOML

[build-system]
requires = ["setuptools>=61.0", "wheel", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[project]
name = "aprsd_twitter_plugin"
dynamic = ["version"]
description = "Python APRSD plugin to send tweets"
readme = "README.rst"
requires-python = ">=3.11"
license = {text = "MIT"}
authors = [
{name = "Walter A. Boring IV", email = "waboring@hemna.com"}
]
classifiers = [
"License :: OSI Approved :: MIT License",
"Topic :: Communications :: Ham Radio",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 3.11",
]
dependencies = [
"tweepy",
"oslo.config",
]
[project.optional-dependencies]
dev = [
"pip",
"pip-tools",
"wheel",
"watchdog",
"ruff",
"tox",
"tox-uv",
"coverage",
"Sphinx",
"twine",
"pytest",
"aprsd",
]
[tool.setuptools]
packages = ["aprsd_twitter_plugin"]
[tool.setuptools.package-data]
"*" = ["LICENSE"]
[project.entry-points."oslo.config.opts"]
"aprsd_twitter_plugin.conf" = "aprsd_twitter_plugin.conf.opts:list_opts" # type: ignore
[project.entry-points."oslo.config.opts.defaults"]
"aprsd_twitter_plugin.conf" = "aprsd_twitter_plugin.conf.opts:defaults" # type: ignore
[project.scripts]
"aprsd-twitter-plugin-export-config" = "aprsd_twitter_plugin.cli:main"
[tool.setuptools_scm]
# version is derived from git tags (e.g. v1.0.0 -> 1.0.0)
[tool.mypy]
ignore_missing_imports = true
strict = true
[tool.ruff]
line-length = 99
target-version = "py311"
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W", "UP"]
ignore = ["E203"]
exclude = ["venv", ".venv", "__pycache__", "build", "dist"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"