databricks-cli/acceptance/cmd/patchwhl
Denis Bilenko edf37e7d0d
Add libs/patchwheel: insert dynamic version in whl (#2427)
## Changes
- New library to patch existing whl with dynamic version. The version is
based on mtime of original wheel.
- New hidden command "selftest patchwhl" (for acceptance test).

## Why
Part of the project to deprecate dynamic version in setup.py template
(#1034). This would enable switching default-python to pyproject.toml
without dependency on setuptools-specific sections.

The dynamic version is needed to ensure that wheels are picked up by the
users code when doing development.

## Tests
- New unit tests that use uv to create envs on various versions and
install (and re-install) patched wheels there.
- New acceptance test that patches prebuilt whl and records the result
fully unzipped.
- New acceptance test helper setmtime.py to set mtime with nanosecond
precision cross-platform.
2025-03-06 10:28:30 +00:00
..
output Add libs/patchwheel: insert dynamic version in whl (#2427) 2025-03-06 10:28:30 +00:00
my_test_code-0.0.1-py3-none-any.whl Add libs/patchwheel: insert dynamic version in whl (#2427) 2025-03-06 10:28:30 +00:00
output.txt Add libs/patchwheel: insert dynamic version in whl (#2427) 2025-03-06 10:28:30 +00:00
ruff.toml Add libs/patchwheel: insert dynamic version in whl (#2427) 2025-03-06 10:28:30 +00:00
script Add libs/patchwheel: insert dynamic version in whl (#2427) 2025-03-06 10:28:30 +00:00