| Newsgroups |
gmane.linux.lfs.beyond.book |
| Message-ID |
<[email protected]> |
#23487: Python Module Dependency Updates - certifi-2026.6.17 chardet-7.4.3 charset-
normalizer-3.4.7 commonmark-0.9.2 editables-0.6 hatchling-1.30.1 idna-3.18
meson_python-0.20.0 msgpack-1.2.1 pathspec-1.1.1 pytz-2026.2
setuptools_rust-1.12.1 setuptools_scm-10.1.2 snowballstemmer-3.1.1
uv_build-0.11.24
-----------------------------+------------------------------
Reporter: Douglas R. Reno | Owner: Douglas R. Reno
Type: enhancement | Status: assigned
Priority: high | Milestone: 13.1
Component: BOOK | Version: git
Severity: normal | Resolution:
Keywords: |
-----------------------------+------------------------------
Comment (by Douglas R. Reno):
Replying to [comment:15 Douglas R. Reno]:
> **setuptools_scm**
>
> **10.0.0**
>
> {{{
> Removed
>
> Drop Python 3.8 and 3.9 support. Minimum Python version is now 3.10.
(#1228)
>
> Added
>
> setuptools-scm now depends on vcs-versioning for core version inference
logic. This
> enables other build backends to use the same version inference without
setuptools
> dependency. (#1228)
>
> Version files (write_to and version_file) are now written to the build
directory
> during build_py instead of the source tree during version inference.
> This enables installing packages from read-only source directories
(e.g., Bazel builds).
>
> Path transformation is automatically applied for src/ layouts - a
configured path like
> src/mypackage/_version.py is correctly written to mypackage/_version.py
in the
> build directory based on the package_dir configuration.
>
> To restore the old behavior of writing version files at inference time
(useful for
> development workflows), set the environment variable
SETUPTOOLS_SCM_WRITE_TO_SOURCE=1. (#1252)
>
> Fixed
>
> Fix issue #1231: Don't warn about tool.setuptools.dynamic.version
conflict when only
> using file finder without version inference. (#1231)
>
> Miscellaneous
>
> Refactored should_infer from method to standalone function for better
code organization.
> (#1228)
>
> Updated mypy version template test to use uvx, ensuring generated
version files remain
> compatible with Python 3.8+ consumers. (#1228)
>
> Refactored TestBuildPackageWithExtra into parametrized function with
custom INI-based
> decorator for cleaner test data specification. (#1228)
>
> Internal refactoring: modernized type annotations, improved CLI type
safety, and
> enhanced release automation infrastructure. (#1228)
> }}}
>
> **10.0.1**
>
> {{{
> Miscellaneous
>
> Simplify release tag creation to use a single createRelease API call
instead of
> separate createTag/createRef/createRelease calls, avoiding dangling tag
objects on
> partial failures. (#release-pipeline)
> }}}
>
> **10.0.2**
>
> {{{
> Fixed
>
> Fix version file not generated for editable installs. Version files are
now written
> to the source tree by default during inference (restoring pre-10.x
behavior), and also
> registered as build_py outputs so strict editable installs include them
in the
> persistent auxiliary directory. Set SETUPTOOLS_SCM_WRITE_TO_SOURCE=0 to
disable source-
> tree writing (e.g., for read-only source directories). (#1298)
> }}}
>
> **10.0.3**
>
> {{{
> Fixed
>
> Remove monorepo-only ../vcs-versioning/src from build-system.backend-
path so sdists
> install under PEP 517 (paths must stay inside the source tree). (#1306)
>
> Miscellaneous
>
> Add griffecli to test dependencies so the API stability check keeps
working after the
> Griffe CLI was split into a separate package. (#1310)
> }}}
>
> **10.0.4**
>
> {{{
> Fixed
>
> Anchor get_version in setup.py with relative_to and fallback_root so SCM
fallbacks (e.g.
> PKG-INFO) do not resolve against the wrong directory when the build cwd
is the workspace
> or repo root. (#1302)
>
> Enter GlobalOverrides for SETUPTOOLS_SCM when using
setuptools_scm.get_version /
> _get_version, avoiding implicit context warnings for direct API callers.
(#1314)
>
> Miscellaneous
>
> Upgrade pre-commit hooks (Ruff, mypy, codespell), align locked Ruff with
hooks, and add
> Ruff per-file configuration for setuptools_scm re-export modules.
(#1311)
> }}}
>
> **10.0.5**
>
> {{{
> Fixed
>
> Allow dump_version() deprecation warning to be silenced by passing
scm_version=None.
> (#1286)
>
> Remove [tool.uv.sources] from setuptools-scm/pyproject.toml to fix sdist
builds outside
> the workspace — the workspace root already declares the source mapping
for development.
> (#1330)
> }}}
>
> **10.1.0**
>
> {{{
> Added
>
> Add backward-compatible shims in setuptools_scm.git, setuptools_scm.hg,
> setuptools_scm.hg_git, and setuptools_scm.scm_workdir so that external
code calling
> get_scm_version(config) or run_describe(config) with an explicit
Configuration continues
> to work. The shim automatically wires _config and VcsEnvironment onto
the workdir.
> (#compat-shims)
>
> Write scm_version.json and scm_file_list.json into egg-info directories
during
> egg_info, enabling sdist fallback version inference when no VCS is
present. Add
> ScmEggInfoMixin for workdir-based file finding in find_sources(). (#egg-
info-metadata)
>
> Add write_to_source pyproject.toml option to control whether version
files are
> written to the source tree. When unset, a deprecation warning advises
setting it
> explicitly before the default changes in a future major release. The
> SETUPTOOLS_SCM_WRITE_TO_SOURCE environment variable overrides this
setting. (#1301)
>
> Adopt the workdir-centric pipeline from vcs-versioning: version
discovery now
> follows an explicit env → config → workdir → version chain instead of
relying on ambient
> globals and parse entry points. The egg_info command writes
scm_version.json and
> scm_file_list.json metadata so sdists can infer versions without a VCS
checkout.
> Requires vcs-versioning >= 2.0.0.dev0. (#1378)
>
> Fixed
>
> Fix worktree file listing test to expect relative paths from the file
finder. The test
> now passes on Linux; Windows remains xfail due to a subprocess
limitation with worktree
> directories. (#620)
>
> Remove the _warn_on_old_setuptools() check that incorrectly warned when
a custom
> build-backend caused setuptools.__version__ to return the project
version instead of
> setuptools' version. The minimum setuptools version is now enforced via
build-system
> requirements. (#1192)
>
> Wrap version in setuptools.sic() when normalize = false to prevent
setuptools from
> re-normalizing the version after our hook returns. This preserves CalVer
zero-padding
> (e.g. 2024.01.05) and other non-canonical version strings in
dist.metadata.version.
> (#1354)
>
> Skip writing non-package version files to build_lib, fixing incorrect
inclusion of root-
> level version files in wheels. (#1364)
>
> Documentation
>
> Rewrite the GitHub Actions CI/CD example to use a dedicated build job
> (via build-and-inspect-python-package) and OIDC Trusted Publishers
> instead of building in publishing jobs with long-lived API tokens.
(#1215)
> }}}
>
> **10.1.1**
>
> {{{
> Fixed
>
> Update CI to use PyPy 3.11 as cryptography has no PyPy 3.10 build
available (#1421)
> }}}
>
> **10.1.2**
>
> {{{
> Fixed
>
> Fix DeprecationWarning leak by threading VcsEnvironment through
> VersionInferenceConfig and using env.make_reader() in
_should_write_to_source. (#1424)
> }}}
Note that I needed to add the vcs_versioning module for this. I used
version 2.1.2 which was most current as of today, and that module has no
extra dependencies.
--
Ticket URL: <https://wiki.linuxfromscratch.org/blfs/ticket/23487#comment:17>
BLFS Trac <https://wiki.linuxfromscratch.org/blfs/>
Beyond Linux From Scratch
--
http://lists.linuxfromscratch.org/sympa/info/blfs-book
Unsubscribe: See the above information page