Skip to main content

brumby

Analyzes fresh Python releases for worsening aspects.

Usage

uv venv .venv
. .venv/bin/activate
uv sync
scripts/poll_updates.py --include-first --interval 5 | xargs -n1 -P4 brumby assess

Library API

Use brumby.api to run the same operations as the CLI without parsing terminal output. Each operation accepts a loaded config dict and returns a result object:

import tomllib

from brumby import api

with open("brumby.toml", "rb") as config_file:
    config = tomllib.load(config_file)

result = api.check("example-package", config=config)
for difference in result.diffs:
    print(difference)

Pass config=None to use built-in defaults. Unlike the CLI, the library API does not search for a config file; callers that need non-default settings should load and pass them explicitly.

Only the names listed in brumby.api.__all__ carry a compatibility guarantee. Every other module and package-root convenience import is an implementation detail and may change without notice.

Assessment results

Brumby rates change, not safety. For the usual two-release assessment, average means the new release looks no worse than yesterday's baseline. high means it has enough newly introduced signals to look plausibly worse than that baseline. There is no low result: failing to find a regression does not prove that either release is safe.

The sus and informational thresholds set how many changed findings are enough to report high. Assessments without a usable baseline report too new rather than treating one release as evidence of improvement. Callers must handle too new as a third result; a conservative admission policy should treat it like high while preserving the distinct reason.

Test

uv run pytest tests/

Version Compat

This library is compatible with Python 3.11+, but should be linted under the newest stable version.

Versioning

This library follows meanver which basically means semver along with a promise to rename when the major version changes.

License

brumby is copyright Tim Hatch, and licensed under the MIT license. See the LICENSE file for details.

Metadata

Release files for brumby 0.6.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 brumby 0.6.0
File Size Uploaded
brumby-0.6.0.tar.gz 119.8 kB Details

Built distribution (wheel)

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

Total release size: 166.4 kB

Release files / brumby-0.6.0.tar.gz

Download URL brumby-0.6.0.tar.gz
Size 119.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2583e5500ced96121eb76820055ddf16d42adc334954f9392f548890a18f1be1
BLAKE2b-256 checksum
How to use checksums
cebaa5a6c6919be34dc91923128659cd88c59ec42bb577ad511b5e1fc09ed921
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 Sep 22, 2026.

Transparency log

Release files / brumby-0.6.0-py3-none-any.whl

Download URL brumby-0.6.0-py3-none-any.whl
Size 46.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
efa736bd097f801fe0ff30b396cd02570299081a87a900659f019cc4ed9f754c
BLAKE2b-256 checksum
How to use checksums
c4dd9ad0080b2f6403beb348741ea40835af7c484d77b2c411a5d8b0f62d1aef
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 Sep 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release 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