Skip to main content

StackVitals

PyPI GitHub Marketplace Tests

A free, open-source developer suite for GitHub: CI health and flaky tests, pull request flow, delivery and DORA, dependencies, community health and an org portal. It runs in your own GitHub Actions and keeps its history in your own repo: no StackVitals-hosted backend, account or subscription, and optional integrations use services and keys you choose. GitHub's built-in token covers every module in a repo; an org's private repos in the Portal need a read-only App, and org-wide Copilot usage an org token. Actions minutes on private repos are billed by GitHub as usual (docs/scaling.md). The rules behind its verdicts are checked on public data, with the losses published.

Every run publishes an app on your repo's GitHub Pages (or stackvitals ui owner/repo on your machine): one page per module, decisions and settings saved straight from the browser, setup for more repos in a few clicks once GitHub is connected (connecting takes one token, made from a prefilled GitHub page; Pages are turned on for public repos), and a demo at ?demo=1. docs/app.md walks through it.

Install it as the GitHub Action stackvitals/stackvitals@v0 (also on the GitHub Marketplace), or the CLI and MCP server from PyPI: pip install stackvitals (or run it without installing: uvx stackvitals).

Three things it gets right that others get wrong

Measured on public repos beside the rules other tools use (docs/accuracy.md):

  • Where you deploy from. With no setup, StackVitals named the right deployment source for 53 of 60 repos (30 of 35 held out). On the same 60, DevLake's default pattern got 9 and a pattern a user would typically write got 22. A wrong source makes every DORA number wrong.
  • Who answered an issue. Of the first comments by non-maintainers that the github/issue-metrics action counts as the answer, 46% are drive-bys (40-52%, held-out repos). StackVitals counts the project's answers: maintainers, regular responders and triagers.
  • Whether AI help changed anything. Agents' pull requests look 9 points less likely than people's to be merged by someone else. Compared within the same repo, month and size, the gap is +0.5 points (0.0 to +1.1): most of the raw gap comes from which repos agents work in and the size of their changes.

It publishes what failed too. Of the failures an old rule called safe to re-run, 44% (15 of 34) were caused by the change. The tightened rule still got 13 of 81 held-out calls wrong (16%). A stricter one (a flake's sign in the log, no changed file named) got none of 4 fresh calls wrong, too few to show 5%, so nothing is called safe: likely flakes are re-run, never passed by the check. Each sample was labelled by two model families (Claude and Gemini); no person has audited the labels.

What you see first

When CI fails on a pull request, one comment sorts each failure, from the repo's own CI history:

StackVitals: about this CI failure 1 of 3 failure(s) look like flakes; the rest need a look.

Verdict What failed Why
Likely flaky test t::flaky_one flaked 6 times in 80 runs in the last 30 days, last 2026-10-20, and the message shows a flake's sign ("TimeoutError"): looks like a flake, check the error, then re-run it
New test t::new_one no earlier flakes: likely from this change (fails with "assert result == 2")
Already failing on main test t::broken_one also failing on the default branch, not caused by this change

The verdict check still blocks until CI is green: a known flake is re-run, never waved through.

Modules

Module What it answers Status
CI Health Which jobs and tests are flaky or slowing down, who owns them, coverage and patch coverage stable
Team Flow Who has to act next on each pull request, and how long reviews take stable
Delivery Cycle time split into coding, pickup, review and deploy (LinearB's phases), DORA's five metrics, AI-assisted work compared like with like stable
Insights What to fix first across modules, ranked by hours lost, with alerts and a weekly digest stable
Dependency Steward Known vulnerabilities and malware in the lockfiles OSV-Scanner reads (npm, PyPI, Go, Rust, Maven, Ruby, .NET, PHP and more; 65 of 100 sampled repos had one); whether to add, keep or upgrade a package, with upgrade evidence from public repos preview
Community Where newcomers drop out, how fast they get an answer, who carries the work stable
Portal A lightweight catalog on GitHub alone: what an org owns, who owns it (checked), scorecards, golden paths and an org-wide view preview
Explore SQL over your repo's data in the browser, with links to share a query preview
Contribute Open-source issues an outsider can realistically get merged stable

Stable: measured, reviewed and used on the sandbox for every release. Preview: built and tested, but newer or measured on less; its behaviour may still change.

Works with Jira Cloud, Linear, PagerDuty, incident.io, Copilot usage reports, Slack, Teams, Discord, Discourse, test reports from other CI systems, Backstage, and DevLake's tables (docs/connectors.md). AI agents get every module through one MCP server (11 core tools by default, all 35 with --tools all).

Start

Metadata

Release files for stackvitals 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for stackvitals 0.1.0
File Size Uploaded Provenance Actions
stackvitals-0.1.0.tar.gz 3.5 MB With provenance Details for stackvitals-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for stackvitals 0.1.0
File Interpreter ABI Platform Actions
stackvitals-0.1.0-py3-none-any.whl Python 3 none any Details for stackvitals-0.1.0-py3-none-any.whl

Total release size: 5.0 MB

Release files / stackvitals-0.1.0.tar.gz

Download URL stackvitals-0.1.0.tar.gz
Size 3.5 MB
Tags Source
SHA-256 checksum
How to use checksums
8141f7bfe5970d5c875ee781dd736a62ad9ee34d884d296b647d08be90806b94
BLAKE2b-256 checksum
How to use checksums
27bd346485d343a59493f30fc2b2b6a194e7c3e582f7d7e797dc84a03c400d8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / stackvitals-0.1.0-py3-none-any.whl

Download URL stackvitals-0.1.0-py3-none-any.whl
Size 1.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
4082cc574b20aec9bda2ff917d768e7adad40dd0d8b9278a64ed0b24ee812b2b
BLAKE2b-256 checksum
How to use checksums
aaa312effc91034713394438372a32b884d5a24ff1f4070cc92cc917d809b2ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Security for stackvitals 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for stackvitals-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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