velocirepo
Track your open-source project's pulse across package registries, GitHub, and the web.
Overview
velocirepo collects metrics from multiple sources, stores them as JSONL files, and exposes them via SQL (powered by DuckDB). It's designed to run on a schedule (e.g., nightly via GitHub Actions) and commit the results to git, giving you a permanent record of your project's growth.
Supported sources:
| Source | What it tracks |
|---|---|
| GitHub Events | Individual events (stars, forks, issues, PRs) with user and timestamp |
| GitHub Traffic | Daily page views and git clones (requires admin access) |
| PyPI | Daily download counts |
| CRAN | Daily download counts |
| Homebrew | Install counts (30-day, 90-day, 365-day, lifetime) |
| Plausible | Daily pageviews, visitors, visits |
| OpenVSX | Total downloads, reviews, ratings |
| YouTube | Views, likes, comments, subscribers (channel and per-video) |
Highlights
- Git-native storage — JSONL files committed to your repo as a permanent, versioned history
- SQL-powered queries — DuckDB under the hood with built-in views for metrics, events, content, and indicators
- Growth indicators — automatic 28-day growth rate and trend computation
- Dashboards & reports — pluggable Views system supporting Quarto, Marimo, Jupyter, R, and ggsql
- AI-ready — built-in MCP server for conversational access from Claude and other assistants
- Zero-config CI — runs as a GitHub Action with one-command workflow generation
- Badges — auto-generated shields.io-style SVG badges from your live data
- Export anywhere — Parquet, CSV, DuckDB file for use with pandas, Polars, R, Observable, and more
Quick start
# Install
brew install posit-dev/tap/velocirepo
# Initialize config (auto-detects sources)
velocirepo init
# Fetch metrics
velocirepo fetch
# Query with SQL
velocirepo query "SELECT project, SUM(value) AS stars FROM metrics WHERE metric = 'daily_stars' GROUP BY project ORDER BY stars DESC LIMIT 5"
Documentation
Full documentation is available at posit-dev.github.io/velocirepo:
- Installation — GitHub Actions, Homebrew, uv, Go, and more
- Configuration — set up
velocirepo.tomland authentication - Data Storage — how metrics, events, and content are stored
- Querying Data — SQL queries with examples
- Exporting — Parquet/CSV export and tool integrations
- Indicators — growth rate and trend computation
- Badges — generate SVG badges
- Views — dashboards and reports
- MCP Server — AI assistant integration
- CLI Reference — all commands
License
MIT
Release files for velocirepo 0.8.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| velocirepo-0.8.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| velocirepo-0.8.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| velocirepo-0.8.7-py3-none-macosx_11_0_x86_64.whl | Python 3 | none | macOS 11.0+ x86-64 | Details |
| velocirepo-0.8.7-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Total release size: 69.1 MB
Release files / velocirepo-0.8.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | velocirepo-0.8.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 18.6 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
8423890bafa949c1d811e8453e4388b1b582c35950838e8108609c1e213dcce6
|
|
BLAKE2b-256 checksum How to use checksums |
ad129dfd6b5dacc94716352caa6514f9ab2ed25ffc0b833b9518b36f25b908f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
|
Release files / velocirepo-0.8.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | velocirepo-0.8.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 17.1 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
bc40edd84ec7d580c626841a699642abc636dadb348cf9e4f215f2d6412de337
|
|
BLAKE2b-256 checksum How to use checksums |
793cb37f7e918972783c19513229c111d6d2c6c6e2741d2716490ffaceb8d3cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
|
Release files / velocirepo-0.8.7-py3-none-macosx_11_0_x86_64.whl
| Download URL | velocirepo-0.8.7-py3-none-macosx_11_0_x86_64.whl |
|---|---|
| Size | 17.7 MB |
| Tags | Python 3 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
3551368bec99fd19cef797bb1f506d5254cebb8b9cafb9f19a00878962ffbef2
|
|
BLAKE2b-256 checksum How to use checksums |
7f8032b878b04b24365aeda570a0899d0726213aa08d1a5171554d87dcfd5341
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
|
Release files / velocirepo-0.8.7-py3-none-macosx_11_0_arm64.whl
| Download URL | velocirepo-0.8.7-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 15.8 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e0a4de7591d22ce6c6d58df1ac06ddb3c339e3b2e78349da9a7abcf062f805c8
|
|
BLAKE2b-256 checksum How to use checksums |
20253ecdc76aa0e52a8029bf8b56328ac42e059559ed62e7d7b06f908274a16f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
|