Skip to main content

PyBetterleaks

PyBetterleaks: Python-native Betterleaks with bundled platform wheels and no runtime subprocess

PyPI Python License Wheels Docs

Python-native Betterleaks. No CLI wrapper. No Go toolchain in your runtime image. No runtime subprocess.

pip install pybetterleaks

The power of Betterleaks with Gitleaks-style secret detection, in the palm of your Python hand:

from pybetterleaks import scan_text

result = scan_text(
    "AGE-SECRET-KEY-"
    + "1QPZRY9X8GF2TVDW0S3JN54KHCE6MUA7LQPZRY9X8GF2TVDW0S3JN54KHCE",
    validation=True,
    redact=True,
)

for finding in result.findings:
    print(f"{finding.rule_id}: {finding.secret}")
    # age-secret-key: REDACTED

Need app-specific rules, validation metadata, and safe logs? Keep redaction on, let Betterleaks' built-in classifier shape the finding, and ask the native engine to validate when the rule supports it:

from pybetterleaks import BetterleaksConfig, Rule, scan_text

config = BetterleaksConfig(
    rules=[
        Rule.prefixed_token_rule(
            id="service-token",
            description="Internal service token",
            prefix="SERVICE_TOKEN_",
            token_pattern=r"[A-Z0-9]{16}",
            validate='{"result":"needs_validation","provider":"internal"}',
        )
    ]
)

result = scan_text(
    "SERVICE_TOKEN_0123456789ABCDEF",
    config=config,
    validation=True,
    redact=True,
)

finding = result.findings[0]
print(finding.rule_id)           # service-token
print(finding.secret)            # REDACTED
print(finding.validation_status) # needs_validation
print(finding.validation_meta["provider"]) # internal

The same importable API scans directories and Git worktrees without a Betterleaks CLI process:

from pybetterleaks import scan_dir, scan_git

dir_result = scan_dir("src", validation=True, redact=True)
git_result = scan_git(".", scope="worktree", redact=True)

PyBetterleaks wraps the Betterleaks Go engine through a tiny ctypes JSON ABI and returns typed Python dataclasses. It is built for CI jobs, Python services, notebooks, agent tools, and Docker images that should stay simple.

Status: alpha. PyPI wheels are published for CPython 3.9-3.15 on supported glibc Linux, macOS, and Windows targets. Musllinux/Alpine remains unsupported for the current Go c-shared design; see Platforms.

Getting Started

From a checkout:

uv sync --all-extras --dev
uv run python scripts/build_native.py
uv run coverage run -m pytest
uv run coverage report

Run a scan with the bundled Betterleaks defaults:

uv run python - <<'PY'
from pybetterleaks import betterleaks_version, scan_text

print("Betterleaks:", betterleaks_version())

result = scan_text(
    "AGE-SECRET-KEY-"
    + "1QPZRY9X8GF2TVDW0S3JN54KHCE6MUA7LQPZRY9X8GF2TVDW0S3JN54KHCE"
)

for finding in result.findings:
    print(f"{finding.rule_id}: {finding.secret}")
PY

Expected output:

Betterleaks: v1.6.1
age-secret-key: REDACTED

The example secrets are synthetic fixtures.

Why Not Subprocess?

Shelling out is fine for one script. It becomes awkward as an SDK boundary:

  • process output becomes the API contract
  • quoting and path behavior leak into user code
  • Docker images need extra binaries
  • errors are process-shaped instead of Python-shaped
  • async and agent workflows pay process startup overhead

PyBetterleaks keeps the Betterleaks engine native and gives Python an importable API:

Python app
  -> pybetterleaks
    -> ctypes JSON ABI
      -> bundled Go shared library
        -> Betterleaks

API

from pybetterleaks import SUPPORTED_GIT_SCOPES, betterleaks_version, scan_dir, scan_git, scan_text

print(betterleaks_version())
print(SUPPORTED_GIT_SCOPES)

text_result = scan_text("token goes here", validation=False, redact=True)
dir_result = scan_dir(".", config_path=".betterleaks.toml")
git_result = scan_git(".", scope="worktree", config_path=".betterleaks.toml")

scan_git currently supports local worktree scans. It validates that the target is inside a Git worktree, skips .git metadata, and does not invoke the Git executable. The supported scope is explicit: SUPPORTED_GIT_SCOPES == ("worktree",).

Programmatic config uses Betterleaks' TOML concepts directly, with helpers for filters, validation results, common rule shapes, and relative extend.path handling:

from pybetterleaks import BetterleaksConfig, Expr, Rule, Validation, scan_dir

config = BetterleaksConfig.with_defaults(
    rules=[
        Rule.regex_rule(
            id="internal-token",
            description="Internal service token",
            regex=r"INTERNAL_[A-Z0-9]{16}",
            keywords=["INTERNAL_"],
            filter=Expr.min_entropy(3.5),
            validate=Validation.needs_validation(provider="internal"),
        )
    ],
    disabled_rules=["generic-api-key"],
)

result = scan_dir("src", config=config, validation=True)

Async wrappers run the blocking native scan in an executor and request cooperative cancellation from the Go bridge when the task is cancelled:

import asyncio
from pybetterleaks import scan_text_async

async def main() -> None:
    result = await scan_text_async("INTERNAL_0123456789ABCDEF", timeout_seconds=5)
    print(result.ok, len(result.findings))

asyncio.run(main())

Docker

FROM python:3.12-slim

RUN pip install --only-binary=:all: pybetterleaks

COPY . /app
WORKDIR /app

CMD ["python", "scan.py"]

No go install. No Betterleaks CLI. No install-time binary downloads.

Platforms

Target wheel matrix:

Platform Status
Linux x86_64 manylinux wheels published
macOS arm64 macOS 11+ wheels published
macOS x86_64 macOS 11+ wheels published
Windows amd64 win_amd64 wheels published
Linux arm64 future CI capacity
Alpine/musllinux unsupported; no wheels published

Previous Alpine experiments failed while loading the Go shared library through Python ctypes on musl:

initial-exec TLS resolves to dynamic definition

This is a Go + musl shared-library loader limitation, not a missing Docker package. The same failure reproduces with Go c-shared and a Go c-archive linked into a musl shared object, so the project will not publish musllinux wheels until that loader path is fixed. Use Debian/Ubuntu-style glibc Python images, such as python:3.12-slim, for supported Linux runtime images. Track musllinux work in issue #1.

Local Development

uv sync --all-extras --dev
uv run python scripts/build_native.py
uv run coverage run -m pytest
uv run coverage report
uv run ruff check .
uv run mypy python
uv run --group docs mkdocs build --strict

Build a local wheel after the native library exists:

uv build --wheel

Run the Docker packaging E2E:

bash e2e/run.sh

Verify the published PyPI wheel in a temporary virtual environment:

uv run python scripts/pypi_smoke.py

Benchmarks

Synthetic benchmarks live in benchmarks/:

uv run python benchmarks/bench.py --rounds 10 --files 50 --secrets-per-file 2

To compare against a local Betterleaks CLI:

uv run python benchmarks/bench.py --cli --cli-path /path/to/betterleaks

README numbers will stay blank until they are measured on release hardware. No fake charts.

Security And Supply Chain

  • Betterleaks is pinned in bridge/go.mod
  • the bundled Betterleaks pin is documented in docs/betterleaks-pin.md
  • CI checks that go.mod, go.sum, and the bridge version constant agree
  • wheels are built in GitHub Actions
  • release artifacts get SHA256 checksums and checksum verification
  • GitHub releases attach SHA256SUMS
  • GitHub artifact attestations tie wheels back to the release workflow
  • PyPI publication uses trusted publishing
  • runtime installs never download native binaries
  • wheel smoke tests import the package, run betterleaks_version(), scan text, and exercise typed config plus async wrappers
  • Docker E2E installs a locally built wheel into a no-Go runtime image
  • post-publish smoke tests install from PyPI in a temporary virtual environment

Metadata

Release files for pybetterleaks 0.6.2

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

Built distributions (wheels)

Table of built distributions (wheels) for pybetterleaks 0.6.2
File
pybetterleaks-0.6.2-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
pybetterleaks-0.6.2-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pybetterleaks-0.6.2-cp315-cp315-macosx_11_0_x86_64.whl CPython 3.15 CPython 3.15 macOS 11.0+ x86-64 Details
pybetterleaks-0.6.2-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details
pybetterleaks-0.6.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pybetterleaks-0.6.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pybetterleaks-0.6.2-cp314-cp314-macosx_11_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 11.0+ x86-64 Details
pybetterleaks-0.6.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
pybetterleaks-0.6.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pybetterleaks-0.6.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pybetterleaks-0.6.2-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details
pybetterleaks-0.6.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pybetterleaks-0.6.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pybetterleaks-0.6.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pybetterleaks-0.6.2-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details
pybetterleaks-0.6.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pybetterleaks-0.6.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pybetterleaks-0.6.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pybetterleaks-0.6.2-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
pybetterleaks-0.6.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pybetterleaks-0.6.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pybetterleaks-0.6.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pybetterleaks-0.6.2-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
pybetterleaks-0.6.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
pybetterleaks-0.6.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pybetterleaks-0.6.2-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
pybetterleaks-0.6.2-cp39-cp39-macosx_11_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 11.0+ x86-64 Details
pybetterleaks-0.6.2-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 274.5 MB

Release files / pybetterleaks-0.6.2-cp315-cp315-win_amd64.whl

Download URL pybetterleaks-0.6.2-cp315-cp315-win_amd64.whl
Size 12.6 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
b9836e5873ecd9b8fb911f99b1f180f7c20d02cce5de13e934c0c5bcb9d61f15
BLAKE2b-256 checksum
How to use checksums
0a0254ccc2ce4e9d16c39188487d68c6d72d607eb529a3b729937935bc893451
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pybetterleaks-0.6.2-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 12.5 MB
Tags CPython 3.15 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
984ac3e2ec9f8a013bff050e33003da887444b9b8f06803681ef7aad4c7caec3
BLAKE2b-256 checksum
How to use checksums
fa0996308eb420095a307fc3698bae1602f83b73dd877233893410e7f0b00beb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp315-cp315-macosx_11_0_x86_64.whl

Download URL pybetterleaks-0.6.2-cp315-cp315-macosx_11_0_x86_64.whl
Size 7.4 MB
Tags CPython 3.15 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
f7012f24c9bad5a69ec2582a7161178e8d25d55b758b3be2a92908d48b06db3b
BLAKE2b-256 checksum
How to use checksums
562fbb583bd4ea236ff0f8e53546e0e53b60933e85136f116404e58cd7e91075
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp315-cp315-macosx_11_0_arm64.whl

Download URL pybetterleaks-0.6.2-cp315-cp315-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
02215d3a937369fe27f1c5e5b2722a8c98846399557b99a81dfb1ca2e2d11c22
BLAKE2b-256 checksum
How to use checksums
4a40e9a7c78a40dff697bcc03e652565af4e3e96706736d3961e870277edddfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp314-cp314-win_amd64.whl

Download URL pybetterleaks-0.6.2-cp314-cp314-win_amd64.whl
Size 12.6 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
b0fa51b6a6dc37bbcad37f2e5f31921d6f92ffbb077772fb161826cd5770e379
BLAKE2b-256 checksum
How to use checksums
b3399b5e6739dfaed460eee24bba16c09eb05b49db703a9828cb9ae7bf4f660c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pybetterleaks-0.6.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 12.5 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
ca9a48885655bddecab176bae860c5c08d54eacc7f29271a3fe80d68140fb2c1
BLAKE2b-256 checksum
How to use checksums
4eda9b404098e4906bbbca7fdeb33cb00b21b0340931602a6e914e013b015d16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp314-cp314-macosx_11_0_x86_64.whl

Download URL pybetterleaks-0.6.2-cp314-cp314-macosx_11_0_x86_64.whl
Size 7.4 MB
Tags CPython 3.14 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
da17134929209102eb5a9c0bee235f79cacd88dad3f04dd66bc14a5e6e8a4708
BLAKE2b-256 checksum
How to use checksums
6e992422c372c4f872996ac6a55c1f356b5c5fbe795c91894233e25a98626f2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL pybetterleaks-0.6.2-cp314-cp314-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eb82a0acad84b6a842c4e67d34cef2e5ba2e48931fc1764fc8381871ac6fd62b
BLAKE2b-256 checksum
How to use checksums
c41f35772b6e5d57b56842ed6cbe2c9b090d53f6e501bfd604bc9350c7b93cef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp313-cp313-win_amd64.whl

Download URL pybetterleaks-0.6.2-cp313-cp313-win_amd64.whl
Size 12.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
406ca96caad01e8e995b936f066b278baf787368f2c7b62c46aa06ccf36c9d0f
BLAKE2b-256 checksum
How to use checksums
30d24ea8cd391e6059f2bf85a67dac051843d39828032da9283ad53956e7c452
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pybetterleaks-0.6.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 12.5 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
c8cbb8045e0c6b7e95b4a62679d9478ce82671fe53c8341c76830a154bfc096f
BLAKE2b-256 checksum
How to use checksums
9ad181da013a3de9c8d962203fba51c591f154989973a50f1c1ebc4355ba66a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp313-cp313-macosx_11_0_x86_64.whl

Download URL pybetterleaks-0.6.2-cp313-cp313-macosx_11_0_x86_64.whl
Size 7.4 MB
Tags CPython 3.13 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
0b60b3b9732402f1811daa9dc5cf3ff8c9177aa163a3e4eb9c6cc4ebb5b14f54
BLAKE2b-256 checksum
How to use checksums
32da881f2aaad3c8279b3ffe289b3e89d6a7ea4d45ff94b11174fd1d45a00827
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL pybetterleaks-0.6.2-cp313-cp313-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
04957a962ed0f1eabc0bd6e160d1a0346bf76450f1f9f58831eaa30be5f7641c
BLAKE2b-256 checksum
How to use checksums
49172a0fa5399ccbd089f1bcf9426d5e1d32b37807b8963bf1f5aa50b271b95d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp312-cp312-win_amd64.whl

Download URL pybetterleaks-0.6.2-cp312-cp312-win_amd64.whl
Size 12.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
821ed35d9f873ae001e188a5342e7ec2140dbf00a02a2a0cc7e82b8ea1b64e66
BLAKE2b-256 checksum
How to use checksums
80cde5a59a9eb678d7b6cf6c03418869928273fa53a98c1219404df577787bfc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pybetterleaks-0.6.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 12.5 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
cb29b9fb646751865ccc630520db1df87176fd5eb45bd13d0d1260664766e70f
BLAKE2b-256 checksum
How to use checksums
1b7e01dec555a9941f6a8b9b062226a3371f3b8024d17898707e1b7a4917ce2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp312-cp312-macosx_11_0_x86_64.whl

Download URL pybetterleaks-0.6.2-cp312-cp312-macosx_11_0_x86_64.whl
Size 7.4 MB
Tags CPython 3.12 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
827caa6d94beb76c0fead9d1c9273bdf1bd10421f7c53018b7ccde130b5f573b
BLAKE2b-256 checksum
How to use checksums
0a3aec249cd7df56c1ec9cc7ef7ad6de7e8874a057993dd32ad99d40aa23be35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL pybetterleaks-0.6.2-cp312-cp312-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
78ddeb96cc0e9e1059992ce8212b3c4af56e5cf687a19b816efaee2a826acfb7
BLAKE2b-256 checksum
How to use checksums
f38bf68de9e2f776aae73613b83b8171bbc8400d2a16829cc66aecc702b7b12c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp311-cp311-win_amd64.whl

Download URL pybetterleaks-0.6.2-cp311-cp311-win_amd64.whl
Size 12.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
008d984fa527b2e6116fd7ed9b504108a02d601144d0ce077170bae88bae2508
BLAKE2b-256 checksum
How to use checksums
4158722d806540b6ec7372461f32150b4783c76ffac24333d20ada10d54233d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pybetterleaks-0.6.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 12.5 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
dc5325903a97376900492e0e71327dc7f28ab3486ae1d7cc53da6982db970f6b
BLAKE2b-256 checksum
How to use checksums
28486b3eea4c22a127b833128297dfe2f24769a84cd91a0fe4e5d1740b695cdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp311-cp311-macosx_11_0_x86_64.whl

Download URL pybetterleaks-0.6.2-cp311-cp311-macosx_11_0_x86_64.whl
Size 7.4 MB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
f17f8122238ba37755787825d1492493dd80e11496ebe699629542edbb4179e8
BLAKE2b-256 checksum
How to use checksums
fc2125cb99a4111eddcb45e053eb99f78b48fce3e632de91f6a2d205dabe5b53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL pybetterleaks-0.6.2-cp311-cp311-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8d59dbc649cbefa9678b18889f86faf036c2651969e3d72af77fa8746a7f3ddb
BLAKE2b-256 checksum
How to use checksums
5c66106b9db7dda7e45298068023798e8d33e8a0f9ddc31b9da9b748221afa29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp310-cp310-win_amd64.whl

Download URL pybetterleaks-0.6.2-cp310-cp310-win_amd64.whl
Size 12.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
759d11024f308a5290c55dfab044813768083e1cbb2da63ea9df59d99e7d142e
BLAKE2b-256 checksum
How to use checksums
6b1be5226bfed07cf028e9b16971f7aecdc5421ce7891e00f5f4036c1ad982a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pybetterleaks-0.6.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 12.5 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
85246ca2bba5e11f5a1de3a12f302f88e111ab14190b6124d695c7364dad93a6
BLAKE2b-256 checksum
How to use checksums
aecdaca1b475a38f1ace193b8d2dfcce989048801f427cb2ff558c2e03b92c05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp310-cp310-macosx_11_0_x86_64.whl

Download URL pybetterleaks-0.6.2-cp310-cp310-macosx_11_0_x86_64.whl
Size 7.4 MB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
7174d5bdbcddedcb8bd16794240aa2905daa82ecef1f64ce96b571a56e994539
BLAKE2b-256 checksum
How to use checksums
c4dc67ba3e51d5ca268921f3a6f1be5479690555584c6a93f62af86d67ed37b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL pybetterleaks-0.6.2-cp310-cp310-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4f7daa5f1cdcbfaaf270f789af35ab1edcf3b90688c54e6f9010affee3c4df0e
BLAKE2b-256 checksum
How to use checksums
7f9cac600350bdcaa8bd552a98405c2be6248e9255117bc97ba235c0c2e69dcc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp39-cp39-win_amd64.whl

Download URL pybetterleaks-0.6.2-cp39-cp39-win_amd64.whl
Size 12.4 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
b945bf9f8ee83c19b328072b8fbe01e39f7944a14f0f69b51ca9d120f75de68b
BLAKE2b-256 checksum
How to use checksums
99b7802e1a597a0523547e8bfbf8b1cea5aff196ceab19f7a5e62bd6de358ee8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL pybetterleaks-0.6.2-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 12.5 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
dd24cb806091b4e731c7fdcf30e689f795f0489d8e1031c81718e621aa5483cb
BLAKE2b-256 checksum
How to use checksums
15b40347bf3b0eeed5674c9976c09834571b5871acfaf21157c6a94676f2f973
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp39-cp39-macosx_11_0_x86_64.whl

Download URL pybetterleaks-0.6.2-cp39-cp39-macosx_11_0_x86_64.whl
Size 7.4 MB
Tags CPython 3.9 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
8c6dc813051baa7b214f9c461ee233fd6264439b06536c31c80f3be81e529b5e
BLAKE2b-256 checksum
How to use checksums
91884cd981e98a2606e4d6f3f3416143f810e43792f7b5b3a57ef069d5dd7ce1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / pybetterleaks-0.6.2-cp39-cp39-macosx_11_0_arm64.whl

Download URL pybetterleaks-0.6.2-cp39-cp39-macosx_11_0_arm64.whl
Size 6.9 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d50e54172f7b3ccb1564a245a9117b4ecfe41e26c6908ab0335ec0673399f7f1
BLAKE2b-256 checksum
How to use checksums
5ac2960344dd0ec8f02558e4763f126c5b25687fc9310aa1dae32068632f9647
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.2 This release

28 release files

0.6.1

28 release files

0.6.0

28 release files

0.5.0

28 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