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.5.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.5.0
File Size Uploaded
brumby-0.5.0.tar.gz 119.7 kB Details

Built distribution (wheel)

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

Total release size: 166.3 kB

Release files / brumby-0.5.0.tar.gz

Download URL brumby-0.5.0.tar.gz
Size 119.7 kB
Tags Source
SHA-256 checksum
How to use checksums
857c36ab9f3f9ffff20aac3522eeae23abb57ccdeda967333f4c5b7cbd67dff8
BLAKE2b-256 checksum
How to use checksums
82c9a80b8692d16e7aacab467938b36c93a0fb4f5c07b346009ae421a6c33e91
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 17, 2026.

Transparency log

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

Download URL brumby-0.5.0-py3-none-any.whl
Size 46.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7a1b82602d5b688333b051ae3be963b1da934101b4a1f24c5a31f5a283a7ee26
BLAKE2b-256 checksum
How to use checksums
889ba942f7d9dd1444dfd80405ad251d4c2e604c4b1dba9c020027a277c2d77d
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 17, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.0

2 release files

This release

0.5.0 This release

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