mirror of
https://git.pumpin.online/funkpower/typikon.git
synced 2026-10-22 18:57:13 +00:00
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.
38 lines
1.1 KiB
TOML
38 lines
1.1 KiB
TOML
[package]
|
|
name = "typikon"
|
|
version = "1.0.0"
|
|
edition = "2021"
|
|
rust-version = "1.85"
|
|
description = "The Orthodox liturgical day: feasts, seasons and the fast, computed rather than fetched"
|
|
license = "GPL-2.0-only"
|
|
repository = "https://git.pumpin.online/funkpower/typikon"
|
|
readme = "README.md"
|
|
keywords = ["orthodox", "liturgical", "calendar", "byzantine", "pascha"]
|
|
categories = ["command-line-utilities", "date-and-time"]
|
|
|
|
[dependencies]
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
clap = { version = "4", features = ["derive"] }
|
|
pyo3 = { version = "0.27.2", features = ["extension-module", "abi3-py39"], optional = true }
|
|
|
|
[profile.release]
|
|
strip = true
|
|
lto = true
|
|
codegen-units = 1
|
|
|
|
[[bin]]
|
|
name = "typikon"
|
|
path = "src/main.rs"
|
|
|
|
[lib]
|
|
name = "typikon"
|
|
path = "src/lib.rs"
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
[features]
|
|
# Only maturin turns this on. pyo3's extension-module feature leaves the Python
|
|
# symbols to be resolved by the interpreter at load time, so a normal `cargo
|
|
# build` of the CLI would fail to link if it were on by default.
|
|
python = ["dep:pyo3"]
|