Modernization release
- Fix
generate_name(seed=...)re-seeding the global PRNG; an explicit seed now drives its ownrandom.Random - Sync name listings with upstream Moby, which moved to
internal/namesgenerator - Remove
tereshkova, retired upstream in moby/moby#44092 - Restore upstream sort order so the listings can be diffed mechanically
- Replace setup.py and pipenv with a PEP 621
pyproject.tomlbuilt by hatchling, managed with uv - Move the package under
src/ - Ship
py.typed(PEP 561) so type checkers respect the inline annotations - Declare
requires-python >=3.9; test on 3.9 through 3.14, plus macOS and Windows - Constrain
cmdkitbelow 3.0 - Publish via PyPI Trusted Publishing with attestations; no long-lived API token
- Add
SECURITY.mdand a private vulnerability reporting channel
Note on seeds. Changing the name listings shifts the mapping from seed to name, so a
few seeds resolve differently than they did in 0.2.0. A seed has only ever guaranteed
reproducibility within a single release.