Skip to content

docs: serve downloads badge from pepy instead of shields - #192

Merged
SkyeAv merged 1 commit into
mainfrom
update-badge
Sep 17, 2026
Merged

SkyeAv merged 1 commit into
mainfrom
update-badge

Conversation

@SkyeAv

@SkyeAv SkyeAv commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Swaps the README downloads badge from shields.io to pepy.tech, which serves pre-rendered SVGs from
its own CDN and does not rate-limit like the shields PyPI endpoint does.

Badge

  • Endpoint: README.md now uses https://static.pepy.tech/badge/tablassert/month in place of
    https://img.shields.io/pypi/dm/tablassert.svg. The /month period preserves the previous
    pypi/dm (downloads per month) semantics.
  • Link target: points at https://pepy.tech/project/tablassert so the badge and its destination
    come from the same data source. The PyPI version badge above it still links to PyPI.

Design

  • Shields proxies PyPI download stats live and is frequently rate-limited, rendering the badge as
    downloads | unknown. pepy serves a static SVG with a 12h cache header, so the badge survives
    traffic spikes. This continues the intent of docs: restore reliable PyPI downloads badge #190 (restoring a reliable downloads badge) with a
    source that does not depend on shields uptime.
  • Accepted caveat: the plain pepy badge's colors differ slightly from the blue shields badges
    around it. A personalized-badge URL could color-match, but it adds a long query string for a
    cosmetic gain.
  • Deferred: the remaining shields badges (License, Python, Docs, stars) are unchanged; none are
    PyPI-backed and none showed rate limiting.

Testing

  • curl -sI https://static.pepy.tech/badge/tablassert/month -> HTTP/2 200,
    content-type: image/svg+xml, cache-control: max-age=43200
  • grep -rn "pypi/dm" . -> no matches remaining in tracked files

Swaps the README downloads badge from shields.io to pepy.tech, which serves
pre-rendered SVGs from its own CDN and does not rate-limit like the shields
PyPI endpoint does.
@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 2c6144b1-35ed-470b-8805-012bf1cf0ea4


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SkyeAv SkyeAv changed the title update badge docs: serve downloads badge from pepy instead of shields Sep 17, 2026
@SkyeAv
SkyeAv merged commit e3cd87e into main Sep 17, 2026
5 checks passed
@SkyeAv
SkyeAv deleted the update-badge branch September 17, 2026 19:11
SkyeAv added a commit that referenced this pull request Sep 18, 2026
Cut 19.1.0 and bump package version in pyproject.toml, uv.lock, and
CITATION.cff.

Minor: add the `tablassert quick-map` fullmap term-inspection command
(#191) and carry the DAKP prevention predicate family ahead of the
pinned Biolink model via PREDICATE_OVERRIDES (#193). The README PyPI
downloads badge now serves from pepy instead of shields (#190, #192).

Changelog:
- Version the Unreleased section as 19.1.0, add the missing #191 entry
  under Added, add a Changed entry for #190/#192, and add the PR link
  to the existing #193 entry.

Docs: none needed here; #191 and #193 shipped their own docs.

Testing:
- make check -> pass: 1649 passed, 52 skipped; Rust tests 156 passed,
  1 ignored; lint, format, pyright, and clippy pass.
- uv lock --check -> pass.
- uv run mkdocs build --strict -> pass.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant