Skip to main content

downstat

CI crates.io clispec compliant

Downloads and latest version for your published packages across crates.io, PyPI, npm and GitHub releases - in one view, instead of curling five APIs by hand.

Why

If you publish to several registries, "is this tool getting used, and what's live where?" means visiting crates.io, PyPI, npm, and a GitHub releases page one at a time. downstat <name> answers it in one shot; downstat --all does your whole portfolio. JSON when piped, a table in a terminal.

Install

cargo install downstat

Quickstart

# One package across every registry it's on
downstat dotpick
# PACKAGE   REGISTRY   VERSION   DOWNLOADS
# dotpick   crates.io  0.1.0     1,234 total · 56 (90d)
# dotpick   pypi       0.1.0     42 (30d)
# dotpick   github     v0.1.0    7 (releases)

# JSON for scripting
downstat dotpick | jq '.packages[0].registries[] | {registry, downloads}'

# Just one registry
downstat dotpick --only crates

# Your whole portfolio (from ./downstat.toml)
downstat --all

downstat.toml:

packages = ["dotpick", "whatport", "onym", "vership"]

What it reads

registry downloads latest version
crates.io total + 90-day
PyPI 30-day (via pypistats.org)
npm 30-day
GitHub releases summed release-asset downloads ✓ (latest tag)

The GitHub repo is discovered from crates.io's repository field. A GITHUB_TOKEN/GH_TOKEN env var (optional) lifts GitHub's unauthenticated rate limit for large --all runs.

Counts are normalized but not directly comparable across registries (the windows differ - that's why each recent value is labelled). ghcr and Homebrew taps expose no public download counts, so they are omitted rather than faked.

Exit codes

code meaning
0 success
1 the queried name was found on no registry
2 a network or parse failure
3 usage error (bad arguments / config)

For agents (clispec)

downstat follows The CLI Spec: structured output on stdout, structured error envelopes on the last line of stderr, and a schema subcommand whose development-branch output validates against the candidate clispec.dev/schema/v0.3.json (checked by the test suite). Every command declares effects: read_only; the published release remains on frozen v0.2 until v0.3 freezes.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

downstat-0.1.1.tar.gz (41.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

downstat-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

downstat-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

downstat-0.1.1-py3-none-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

downstat-0.1.1-py3-none-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file downstat-0.1.1.tar.gz.

File metadata

  • Download URL: downstat-0.1.1.tar.gz
  • Upload date:
  • Size: 41.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for downstat-0.1.1.tar.gz
Algorithm Hash digest
SHA256 df2ddee71dea0161c9974542f9369fde2efd24827fb9cc0f0558f7819cfce7fa
MD5 1b7f5123f7a6a1ce1013acd76aed0560
BLAKE2b-256 78ff1cf4dd1b3e642c868c54eb438cf8d3e7c4ce44add7c3f47ccd8338c7ca44

See more details on using hashes here.

File details

Details for the file downstat-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: downstat-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for downstat-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ebfd1bfd8125a16eb857355c018c127c68ad8e3edf5f77a28a488e8a6907f0d6
MD5 c23193228a6cbc4ac38af3d1654beb1c
BLAKE2b-256 364b4bbb5d2bd6bbae466ec1372fb856fc18c388a6fc53250bce21344066d177

See more details on using hashes here.

File details

Details for the file downstat-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: downstat-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for downstat-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b0304da0be6e0f132c3ff620c4d263d631f5e0eebc875e605b8fd5662c36ba2d
MD5 287f5039e7f302dac79a4f2abcd93025
BLAKE2b-256 e308d196767dad15685e511a29dbb337766c99f46b7a1279c7451eabbbc11105

See more details on using hashes here.

File details

Details for the file downstat-0.1.1-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: downstat-0.1.1-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for downstat-0.1.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41a67bc4a99ea7117edd0bff9d8b7046dadb8ff75a1df25e512549aca37e3fc3
MD5 ba4584347789faadb4e8fb10755c9111
BLAKE2b-256 b1bb1291ae97e1f1fe24f84994f5fc735ddde9319bbbe27648bb86b342600c69

See more details on using hashes here.

File details

Details for the file downstat-0.1.1-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: downstat-0.1.1-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for downstat-0.1.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4c24610cc112f5bd8b3cda3815ce39c7b3472f47993c1c8835813b35c1ff1a61
MD5 a78bf8ab3c0baf447b0af89f6bed11ae
BLAKE2b-256 fd2594e920f9e09e0ecf2ae7e3a5bf3181c2c3f551d8808d4946015e8b63dd90

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

5 files

0.1.0

5 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page