relnote docs · CI / GitLab · gh relnote · CHANGELOG.md · Next version

Single-file install: one download, no pip

Every GitHub Release ships relnote as a self-contained Python zipapp. Download it, make it executable, run it. Needs Python 3.11+ and git on PATH — nothing else.

Install

mkdir -p ~/.local/bin
curl -fsSL -o ~/.local/bin/relnote https://github.com/loki-inu/relnote/releases/latest/download/relnote
chmod +x ~/.local/bin/relnote
relnote --version   # relnote 0.3.0

Put ~/.local/bin on your PATH if it is not already. Pin a version with releases/download/v0.3.0/relnote instead of releases/latest/download/relnote.

Release assets

AssetWhat it is
relnoteExecutable zipapp with a #!/usr/bin/env python3 shebang. Contains only the relnote package and the licence.
relnote.pyzIdentical bytes. Use python relnote.pyz where the shebang is not honoured (Windows).
SHA256SUMSChecksums of both files, in sha256sum -c format.

Verify the download

base=https://github.com/loki-inu/relnote/releases/download/v0.3.0
curl -fsSL -o relnote "$base/relnote"
curl -fsSL -o SHA256SUMS "$base/SHA256SUMS"
grep ' relnote$' SHA256SUMS | sha256sum -c -
chmod +x relnote

On macOS without GNU coreutils, use shasum -a 256 -c after rewriting the line, or compare the hash by eye: for v0.3.0 the hex starts 9d5945c5….

Windows

curl.exe -fsSL -o relnote.pyz https://github.com/loki-inu/relnote/releases/download/v0.3.0/relnote.pyz
py -3 relnote.pyz --version

The .pyz and relnote files are the same zipapp; only the name differs for systems that ignore shebangs.

mise

mise use -g 'github:loki-inu/relnote[bin=relnote]'

mise's GitHub backend picks a release asset. Without bin=relnote it may choose relnote.pyz; the bin= filter forces the shebang file.

CI

The same download is the easiest way to run relnote in GitLab CI, Jenkins, Buildkite, or CircleCI. Full history and tags are required (GIT_DEPTH: 0 on GitLab). See the CI guide and the copy-paste example at examples/gitlab-ci.yml.

Build it yourself

python3 scripts/build_zipapp.py
# writes dist/relnote, dist/relnote.pyz, dist/SHA256SUMS

On each published release, .github/workflows/release-assets.yml builds and uploads those three files automatically.

Other installs