Skip to main content
sundgren

CI Coverage PyPI License Docs

Sundgren is Swedish for "sound branch". Given a repo, a base ref and a patch (usually one that changes tests), it answers: what happened to source coverage because of this patch? It runs your coverage command on the tree before and after the patch, and reports the lines, branches, functions and test outcomes that changed.

Install

uv tool install sundgren      # or: pipx install sundgren

Linux and macOS (x86_64 and arm64). The wheels hold a self-contained binary, so running it needs no Python. Windows is not supported yet.

Docs

Development

One Rust crate (Rust 1.88+); Python is only the test harness and the docs build.

cargo test && cargo clippy --all-targets -- -D warnings
uv sync && uv run pytest      # e2e and docs tests, run the built binary

To release, set the version in pyproject.toml and Cargo.toml, date its CHANGELOG.md section, check with uv run tools/release.py check vX.Y.Z, and push the vX.Y.Z tag. The tag publishes to PyPI and deploys the docs site.

License

Apache-2.0. See LICENSE.

Metadata

Release files for sundgren 0.2.1

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

Source distribution (sdist)

Source distribution for sundgren 0.2.1
File Size Uploaded Provenance Actions
sundgren-0.2.1.tar.gz 88.5 kB With provenance Details for sundgren-0.2.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for sundgren 0.2.1
File Actions
sundgren-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details for sundgren-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sundgren-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details for sundgren-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
sundgren-0.2.1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for sundgren-0.2.1-py3-none-macosx_11_0_arm64.whl
sundgren-0.2.1-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details for sundgren-0.2.1-py3-none-macosx_10_12_x86_64.whl

Total release size: 6.9 MB

Release files / sundgren-0.2.1.tar.gz

Download URL sundgren-0.2.1.tar.gz
Size 88.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d5bc69f6479b0a019754fbc05afca1d7d2193767c91a7571b87006099e3e47c5
BLAKE2b-256 checksum
How to use checksums
fc08cca3255d39ab3473941e7ced94fc4f202d8d5d7092175880fefe7104d93f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 19, 2026.

Transparency log

Release files / sundgren-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sundgren-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.8 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
3226a1d78fb5789eb6cc8f08ef8f08afc54eb4f6676553faa516a1106fd78009
BLAKE2b-256 checksum
How to use checksums
d46298511e673b82cc903c259686646639e2812b8bf2bfa1080eed8bfe8b77c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 19, 2026.

Transparency log

Release files / sundgren-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sundgren-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.7 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
83a395d74c641b464ed06f43e8aca5a555492ad4735a822415c6ce243a144896
BLAKE2b-256 checksum
How to use checksums
0efb382ff2c39667971f1022bab0fb028eb5c7ad485b13ed2addc10180b0bca9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 19, 2026.

Transparency log

Release files / sundgren-0.2.1-py3-none-macosx_11_0_arm64.whl

Download URL sundgren-0.2.1-py3-none-macosx_11_0_arm64.whl
Size 1.6 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f60a530945b8ce5cba5d64224a9ad3ad32fb2822dc1a8a7ee0ffce5d797223f7
BLAKE2b-256 checksum
How to use checksums
260289298c62af7841700465a8f3cd260eba8452450ccf9d749234e900f2bf3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 19, 2026.

Transparency log

Release files / sundgren-0.2.1-py3-none-macosx_10_12_x86_64.whl

Download URL sundgren-0.2.1-py3-none-macosx_10_12_x86_64.whl
Size 1.7 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
38c810f22f82a67446129d79e11fa5066fb5453c2664ec019f5b550902850b28
BLAKE2b-256 checksum
How to use checksums
dfa030169a55a446ab9dcc54f3731aba6fe240382267b962d58e683c68eb56b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 19, 2026.

Transparency log

Security for sundgren 0.2.1

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 5 files in this release have been uploaded with provenance metadata.

Select from 5 files

Attestation for sundgren-0.2.1.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 19, 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