fix what a 1.0 would have welded into PyPI metadata

An adversarial review of the release, and four of its findings were things
PyPI never lets you replace once uploaded.

  - rust-version said 1.74. clap has needed 1.85 since 4.6, and cargo
    hard-errors rather than warning, so the sdist advertised a floor it could
    not build on. docs/releasing.md sends macOS and Windows users to that
    sdist.
  - The wheel was classified Development Status :: 4 - Beta on a release the
    changelog calls stable, with none of the Python version classifiers PyPI
    indexes on.
  - Six README links were relative. PyPI resolves them against the project
    page, so every one 404'd there, as they do on the live 0.2.0 page now.
  -  in that order packs the wheel into the
    sdist. The tarball on disk was 431KB with an x86-64 binary inside it.

Also: twine upload gains --skip-existing, so a retry after a partial upload
finishes rather than dying on a version that cannot be reused; twine check
gains the renderer that makes it parse the description at all, without which
it returns None and reports PASSED; and the README no longer claims a
twenty-year sweep the test did not run, because 366 * 21 / 4 is five years.
The test now runs the twenty-one it was named for.

The crates.io name belongs to an unrelated project, which the README now says
rather than leaving a reader to find out from cargo.
This commit is contained in:
funkpower
2026-09-18 13:41:41 -04:00
parent 785754295b
commit 7970f785c8
9 changed files with 64 additions and 27 deletions
+14 -2
View File
@@ -11,10 +11,19 @@ license-files = ["LICENSE"]
requires-python = ">=3.9"
keywords = ["orthodox", "liturgical", "calendar", "byzantine", "pascha", "fasting"]
classifiers = [
"Development Status :: 4 - Beta",
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"Programming Language :: Rust",
"Intended Audience :: End Users/Desktop",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Rust",
"Topic :: Religion",
"Topic :: Software Development :: Libraries",
"Typing :: Typed",
@@ -25,6 +34,9 @@ dynamic = ["version"]
[project.urls]
Homepage = "https://git.pumpin.online/funkpower/typikon"
Repository = "https://git.pumpin.online/funkpower/typikon"
Changelog = "https://git.pumpin.online/funkpower/typikon/src/branch/main/CHANGELOG.md"
Documentation = "https://git.pumpin.online/funkpower/typikon/src/branch/main/docs/calendars.md"
Issues = "https://git.pumpin.online/funkpower/typikon/issues"
[tool.maturin]
bindings = "pyo3"