Port variant | py310 |
Summary | Package to manage versions by scm tags (3.10) |
Package version | 8.0.3 |
Homepage | No known homepage |
Keywords | python |
Maintainer | Python Automaton |
License | Not yet specified |
Other variants | v11 |
Ravenports | Buildsheet | History |
Ravensource | Port Directory | History |
Last modified | 22 SEP 2023, 12:17:47 UTC |
Port created | 20 APR 2020, 15:00:59 UTC |
single | # setuptools_scm
[github ci]
[![tidelift]](https://tidelift.com/subscription/pkg/pypi-setuptools-scm?utm_source=pypi-setuptools-scm&utm_medium=readme)
## about
[setuptools-scm] extracts Python package versions from `git` or
`hg` metadata instead of declaring them as the version argument
or in an SCM managed file.
Additionally, [setuptools-scm] provides setuptools
with a list of files that are managed by the SCM (i.e. it automatically adds **all of** the SCM-managed files to the sdist). Unwanted files must be excluded via `MANIFEST.in`. ## `pyproject.toml` usage The preferred way to configure [setuptools-scm] is to author settings in a `tool.setuptools_scm` section of `pyproject.toml`. This feature requires setuptools 60 or later. First, ensure that [setuptools-scm] is present during the project's build step by specifying it as one of the build requirements. ```toml [build-system] requires = [ "setuptools>=60", "setuptools-scm>=8.0"] ``` That will be sufficient to require [setuptools-scm] for projects that support [PEP 518] like [pip] and [build]. [pip]: https://pypi.org/project/pip [build]: https://pypi.org/project/build [PEP 518]: https://peps.python.org/pep-0518/ To enable version inference, you need to set the version dynamically in the `project` section of `pyproject.toml`: ```toml title="pyproject.toml" [project] # version = "0.0.1" # Remove any existing version parameter. dynamic = ["version"] [tool.setuptools_scm] ``` Additionally, a version file can be written by specifying: ```toml title="pyproject.toml" [tool.setuptools_scm] version_file = "pkg/_version.py" ``` Where `pkg` is the name of your package. If you need to confirm which version string is being generated or debug the configuration, you can install [setuptools-scm] directly in your working environment and run: [setuptools-scm]: https://github.com/pypa/setuptools_scm ```console $ python -m setuptools_scm # To explore other options, try: $ python -m setuptools_scm --help ``` ## Interaction with Enterprise Distributions Some enterprise distributions like RHEL7 ship rather old setuptools versions. In those cases its typically possible to build by using an sdist against `setuptools_scm<2.0`. As those old setuptools versions lack sensible types for versions, modern [setuptools-scm] is unable to support them sensibly. It's strongly recommended to build a wheel artifact using modern Python and setuptools, then installing the artifact instead of trying to run against old setuptools versions. ## Code of Conduct Everyone interacting in the [setuptools-scm] project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [PSF Code of Conduct]. [PSF Code of Conduct]: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md ## Security Contact To report a security vulnerability, please use the [Tidelift security contact]. Tidelift will coordinate the fix and disclosure. |
Build (only) |
python-pip:single:py310 autoselect-python:single:standard |
Build and Runtime | python310:single:standard |
Runtime (only) |
python-packaging:single:py310 python-setuptools:single:py310 python-tomli:single:py310 python-typing-extensions:single:py310 |
main | mirror://PYPIWHL/ca/04/4ea91c627355ae6d976bf7f1fc2815372a96b1b87bf290c8d726d10a08a1 |
python-borgbackup:py310 | Deduplicated, encrypted, compressed backups (3.10) |
python-cffsubr:py310 | CFF subroutinizer based on AFDKO tx tool (3.10) |
python-compreffor:py310 | CFF subroutinizer for fontTools (3.10) |
python-freetype-py:py310 | Freetype python bindings (3.10) |
python-lazy-object-proxy:py310 | Fast and thorough lazy object proxy (3.10) |
python-psautohint:py310 | Wrapper for Adobe's PostScript autohinter (3.10) |
python-pyclipper:py310 | Cython wrapper for the AJ Clipper library (3.10) |
python-skia-pathops:py310 | Skia library bindings (3.10) |