Skip to content
repo-release-tools
GitHub

rrt eol

Runtime end-of-life (EOL) tracking for repo-release-tools.

Supports Python, Go, Node.js, and Rust. Bundled data provides offline operation; pass fetch_live=True to pull fresh data from https://endoflife.date/api/v1/products/<slug>/.

Rust uses a rolling-release model — only the latest stable is supported. The meaningful check for Rust is how many releases behind the host/project minimum is, not a date-based deadline.

Keyword Checked via EOL model
python python --version / requires-python Date-based
go go version / go.mod Date-based (two latest minors supported)
nodejs / node node --version / engines.node Date-based (LTS only)
rust rustc --version / Cargo.toml rust-version Rolling-release (lag-based)

Pass the lowercase keyword to --language or languages in [tool.rrt.eol].

rrt ships a bundled snapshot of EOL data (updated with each release). This enables fully offline operation with no external requests.

Pass --fetch-live to pull fresh records from endoflife.date for the current invocation. Live data is never cached — the bundled snapshot is always the default.

Rust does not use date-based EOL windows. The community supports only the latest stable release. rrt models this as a lag-based check:

  • RUST_WARN_LAG = 2 — warn if the detected version is 2 or more releases behind the latest stable
  • RUST_ERROR_LAG = 4 — error if 4 or more releases behind

These thresholds are not configurable in [tool.rrt.eol]; they reflect the upstream support model.

Add to pyproject.toml (or .rrt.toml):

[tool.rrt.eol]
languages = ["python", "node"]
warn_days = 180
error_days = 0
allow_eol = false
fetch_live = false
[[tool.rrt.eol.overrides]]
language = "python"
cycle = "3.9"
eol = "2026-06-01"

Badge families are intentionally complete for the current icon registry across platform, registry, and language labels; see src/repo_release_tools/tools/platform.py if you think one is missing.

Chat is powered by Context7, a third-party service with its own terms and privacy policy.