Skip to main content

A Cython implementation of Brent's root-finding method

Project description

cybrentq

A production-quality Cython implementation of Brent's root-finding method. The algorithm is a faithful translation of the C routine in scipy/optimize/Zeros/brentq.c: bisection guarded by inverse quadratic interpolation, with a secant fallback and bisection used whenever an interpolation step would not make adequate progress.

The public API mirrors the relevant subset of scipy.optimize.brentq and can serve as a drop-in replacement in most code paths.

Requires Python 3.10 or newer and a working C compiler (used during install to compile the Cython extension).

Quick start

This project uses uv for environment and dependency management, with a Makefile wrapping the most common commands.

# Install uv if you don't have it:
#   curl -LsSf https://astral.sh/uv/install.sh | sh   (macOS / Linux)
#   powershell -c "irm https://astral.sh/uv/install.ps1 | iex"   (Windows)

# Recommended: use the Makefile. PYTHON_VERSION=3.10 by default.
# The Cython extension is compiled during `make sync`.
make venv
make sync

The Makefile passes hardening flags the bare commands omit (--frozen --refresh --all-extras --all-groups --link-mode=copy, plus --seed --prompt=cybrentq on venv). Read the Makefile for the full invocations.

If you want a minimal install without the Makefile:

uv venv --python 3.10       # create the venv
uv sync                     # install project + default groups, compile Cython
uv sync --group test        # add the test group only
uv sync --no-dev            # consumer-style install (no dev groups)

uv sync reads pyproject.toml, provisions a matching interpreter, builds the C extension via the PEP 517 backend (setuptools + Cython), and writes a uv.lock. Commit uv.lock for reproducible builds across machines.

Editable iteration on the Cython source

uv sync installs the project into the managed venv. After editing _brentq.pyx, re-run uv sync --reinstall-package cybrentq (or just uv sync if you also bump the version) to force a recompile.

Usage

import math
from cybrentq import brentq

# Basic usage — finds sqrt(2)
root = brentq(lambda x: x * x - 2.0, 0.0, 2.0)

# Pass extra arguments via the args tuple
root = brentq(lambda x, target: x ** 3 - target, 0.0, 5.0, args=(27.0,))

# Diagnostics
root, info = brentq(lambda x: math.cos(x) - x, 0.0, 1.0, full_output=True)
print(info)
# RootResults(root=0.7390851332151607, iterations=8, function_calls=10,
#             converged=True, flag='converged')

Signature

brentq(
    f,                          # callable, f(x, *args) -> float
    a, b,                       # bracketing interval, f(a)*f(b) < 0
    args=(),                    # extra positional args forwarded to f
    xtol=2e-12,                 # absolute tolerance
    rtol=4*eps,                 # relative tolerance (>= 4 * machine eps)
    maxiter=100,                # iteration budget
    full_output=False,          # return RootResults alongside the root
    disp=True,                  # raise on non-convergence instead of returning a flag
) -> float | tuple[float, RootResults]

Errors

Condition Behaviour
f(a) and f(b) have the same sign ValueError
xtol <= 0, rtol < 4*eps, or maxiter < 1 ValueError
Iteration budget exhausted and disp=True ConvergenceError
Iteration budget exhausted and disp=False returns (root, RootResults(converged=False))
User-supplied f raises exception propagates unchanged

Tests

make test                                   # all tests
make cov                                    # coverage run (see warning below)
make report                                 # print coverage report from last run

# Direct equivalents for `make test`:
uv run pytest                               # all tests
uv run pytest tests/test_basic.py           # just behaviour / error tests
uv run pytest tests/test_against_scipy.py   # head-to-head correctness vs scipy
uv run pytest tests/test_performance.py     # perf regression guard (CI-safe)

Note on make cov: the target wipes .c/.so artifacts and reinstalls cybrentq with CYTHON_TRACE=1 so that coverage.py (via the Cython.Coverage plugin) can report line coverage from _brentq.pyx. The traced build is significantly slower at runtime. After running make cov, run make sync before make bench — otherwise the traced extension will skew benchmark numbers.

The scipy-comparison suite asserts that:

  • both implementations report converged=True on every problem,
  • root estimates agree to within 1e-10 relative and absolute tolerance,
  • iteration counts and function-call counts match exactly (Brent's method is deterministic, so any divergence flags a bug in our translation).

Benchmarks

The benchmark suite compares this Cython brentq against scipy.optimize.brentq and against pymodab (a C implementation of the Modified Anderson-Björck root-finding method) across nine problems.

make bench                                              # default config
make bench BENCH_ARGS="--n-calls 5000 --repeats 7"      # override args

# Direct equivalent:
uv run python benchmarks/bench_brentq.py --n-calls 5000 --repeats 7

Sample output (numbers depend on the machine, Python build, and library versions):

problem                            scipy (µs)  cython (µs)   modab (µs)    cy/sc    mb/sc
-----------------------------------------------------------------------------------------
x^2 - 2 (cheap)                         8.374        0.518        2.665   16.16x    3.14x
x^3 - x - 2 (cheap)                     8.957        0.875        2.925   10.24x    3.06x
cos(x) - x                              7.978        0.782        2.718   10.20x    2.94x
exp(x) - 2                              9.862        0.981        2.950   10.05x    3.34x
sin(x), root at pi                      6.623        0.287        2.210   23.04x    3.00x
(x-1)^3 (flat)                          3.566        0.257        1.770   13.90x    2.02x
atan(1000*(x-0.5)) (steep)              3.692        0.341        1.864   10.82x    1.98x
poly degree 5                          13.879        2.010        4.445    6.90x    3.12x
expensive f (sum of 50 sines)          69.151       57.117       59.970    1.21x    1.15x
-----------------------------------------------------------------------------------------
cython vs scipy: gmean 9.24x  min 1.21x  max 23.04x
modab  vs scipy: gmean 2.52x  min 1.15x  max 3.34x

Columns: cy/sc is scipy_time / cython_time (Cython speedup over scipy); mb/sc is scipy_time / modab_time (pymodab speedup over scipy). Higher is better in both columns.

Before each timed problem the runner calls all three implementations and asserts the roots agree to within 1e-9 — a benchmark with a silent correctness regression is worse than one that doesn't run.

A few things to note when reading the numbers:

  • Brent's method usually converges in 6–15 iterations, so most of the wall time of a single solve is spent inside f, not inside the algorithm. When f is expensive (the "sum of 50 sines" row), all implementations spend the vast majority of their time in f and look nearly identical.
  • The Cython win is largest when f is cheap, because that is when the algorithm's own overhead matters most.
  • pymodab's Modified Anderson-Björck typically uses fewer f evaluations than Brent — but each iteration carries pure-Python wrapper overhead here, so it lands between scipy and our Cython version.

Building distributions

make build            # equivalent to: uv build
                      # produces sdist + wheel under dist/

Make targets

make help lists every target with a short description.

Target Action
venv Create the project venv via uv venv (PYTHON_VERSION=3.10 by default)
lock Resolve and write uv.lock (uv lock --upgrade --refresh)
outdated Show outdated direct and transitive deps
sync Sync the venv with uv.lock (all groups + extras)
test Run the test suite without coverage
cov / test/cov Recompile extension with CYTHON_TRACE=1 and run under coverage.py (no pytest-cov). Run make sync afterward to restore the fast build.
report / cov/report Print the coverage report from the last make cov
bench Run the benchmark suite (override args via BENCH_ARGS=…)
lint / lint/check Read-only ruff check
lint/fix Rewrites filesruff check --fix
fmt / fmt/check Read-only ruff format --check
fmt/fix Rewrites filesruff format
check lint/check + fmt/check (CI-safe)
build / dist Build sdist + wheel into dist/
clean Remove build artifacts and coverage data

Bare lint and fmt are intentionally read-only; mutation requires the explicit /fix variant so typos don't rewrite the tree.

Linting and formatting

The project pins ruff (configuration in pyproject.toml under [tool.ruff]). Enabled rule families:

Code Family
E / W pycodestyle errors / warnings
F pyflakes (unused imports, undefined names)
I isort
N pep8-naming
UP pyupgrade
C90 mccabe complexity (max-complexity = 10)
A flake8-builtins (shadowing)
B flake8-bugbear
PERF perflint
PT flake8-pytest-style
RUF ruff-native rules
SIM flake8-simplify
TRY tryceratops (exception hygiene)

Ruff lints .py files only — _brentq.pyx is outside the ruff scope.

make check            # lint + format check, no mutations (use this in CI)
make lint/fix         # rewrites files: ruff check --fix
make fmt/fix          # rewrites files: ruff format

Layout

src/cybrentq/
  _brentq.pyx           # the algorithm
  _brentq.pyi           # type stubs for IDEs / mypy
  __init__.py           # re-exports brentq, RootResults, ConvergenceError
  py.typed              # PEP 561 marker
tests/
  conftest.py           # shared fixture: 11 canonical root-finding problems
  test_basic.py         # behaviour, error paths, edge cases
  test_against_scipy.py # parity vs scipy
  test_performance.py   # perf regression guard
benchmarks/
  bench_brentq.py       # speed comparison vs scipy and pymodab
Makefile                # venv, sync, test, cov, bench, lint, fmt, build
pyproject.toml          # project metadata + ruff/coverage/pytest config

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cybrentq-0.1.1rc4.tar.gz (90.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cybrentq-0.1.1rc4-cp314-cp314-win_amd64.whl (104.5 kB view details)

Uploaded CPython 3.14Windows x86-64

cybrentq-0.1.1rc4-cp314-cp314-musllinux_1_2_x86_64.whl (228.2 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

cybrentq-0.1.1rc4-cp314-cp314-musllinux_1_2_aarch64.whl (221.0 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

cybrentq-0.1.1rc4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (228.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cybrentq-0.1.1rc4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (224.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

cybrentq-0.1.1rc4-cp314-cp314-macosx_11_0_arm64.whl (104.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

cybrentq-0.1.1rc4-cp313-cp313-win_amd64.whl (102.9 kB view details)

Uploaded CPython 3.13Windows x86-64

cybrentq-0.1.1rc4-cp313-cp313-musllinux_1_2_x86_64.whl (229.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

cybrentq-0.1.1rc4-cp313-cp313-musllinux_1_2_aarch64.whl (221.1 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

cybrentq-0.1.1rc4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (229.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cybrentq-0.1.1rc4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (224.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

cybrentq-0.1.1rc4-cp313-cp313-macosx_11_0_arm64.whl (103.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cybrentq-0.1.1rc4-cp312-cp312-win_amd64.whl (103.7 kB view details)

Uploaded CPython 3.12Windows x86-64

cybrentq-0.1.1rc4-cp312-cp312-musllinux_1_2_x86_64.whl (233.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

cybrentq-0.1.1rc4-cp312-cp312-musllinux_1_2_aarch64.whl (225.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

cybrentq-0.1.1rc4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (233.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cybrentq-0.1.1rc4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (228.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

cybrentq-0.1.1rc4-cp312-cp312-macosx_11_0_arm64.whl (104.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cybrentq-0.1.1rc4-cp311-cp311-win_amd64.whl (103.3 kB view details)

Uploaded CPython 3.11Windows x86-64

cybrentq-0.1.1rc4-cp311-cp311-musllinux_1_2_x86_64.whl (230.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

cybrentq-0.1.1rc4-cp311-cp311-musllinux_1_2_aarch64.whl (223.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

cybrentq-0.1.1rc4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (229.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cybrentq-0.1.1rc4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (225.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

cybrentq-0.1.1rc4-cp311-cp311-macosx_11_0_arm64.whl (104.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cybrentq-0.1.1rc4-cp310-cp310-win_amd64.whl (103.5 kB view details)

Uploaded CPython 3.10Windows x86-64

cybrentq-0.1.1rc4-cp310-cp310-musllinux_1_2_x86_64.whl (217.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

cybrentq-0.1.1rc4-cp310-cp310-musllinux_1_2_aarch64.whl (212.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

cybrentq-0.1.1rc4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (216.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cybrentq-0.1.1rc4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (214.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

cybrentq-0.1.1rc4-cp310-cp310-macosx_11_0_arm64.whl (104.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file cybrentq-0.1.1rc4.tar.gz.

File metadata

  • Download URL: cybrentq-0.1.1rc4.tar.gz
  • Upload date:
  • Size: 90.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for cybrentq-0.1.1rc4.tar.gz
Algorithm Hash digest
SHA256 be659e5d1de8364f62c7f074d94c8852ad0fde42d4dffa87fd58a95133d2b1ad
MD5 9abad405856ecb89658b81f496cf6268
BLAKE2b-256 7bfd0bf9c8a9e87972e1bcbdf0ed9acce27b299392a6c3c4f20fd84558399dc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4.tar.gz:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: cybrentq-0.1.1rc4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 104.5 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for cybrentq-0.1.1rc4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ecb9039b8adcfb2680e6feeeaab7db30a7677caeefad76861ba83d627570a0bc
MD5 fa6a408ac075b0142d9c0ffd42755a78
BLAKE2b-256 1eef1ca3377c14126472581bc526737c56d644f3e6892c1dbc7e28c80413083f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp314-cp314-win_amd64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 53cd59e60b742c9439d366be4bc0b7c25242b3a03c97d0faf99df3d80a22fe95
MD5 5b50748988a192146f6610abcd1f27f4
BLAKE2b-256 3787840cfab49734ad0667717ce6b339e20889f98caefe645d71063d708a59d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5cfaa08235a5b73b584278988bf65ed33e3bcf8c86fae53f39c2d54a20f3e59c
MD5 047bcd4d4b139b27e23b4ab03f4e1f7e
BLAKE2b-256 e6ff1cb06311d3ae5460d7bcbaef1821d2f2ebd79f304e18656ebf66f95fe858

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e37cb9275b61583d333a9708795d4d9a2e6a67ac4a7a950dbd81765acbfd0dad
MD5 14b572bbaa19dfce361dc9a98a8d720e
BLAKE2b-256 8e3293618cbe4e9adb97d44b6fd6f19788cfd1d02a3c849c5fc4a8060360dc71

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 02f2a41c3c25b66221c90b3b0a19ab215200b11550362e268f248db3e7bbdadb
MD5 f3e273ca1619e60712bbf0c3f58aee2c
BLAKE2b-256 921cb4b0e54fc3697c3c4f92ee37226e8f1e34f9813b362d0ca609d1a7b23fa9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d139fd0c5f24c84035059e66011d1ad4231b23aad8fa8e357dd3101d6765fc37
MD5 8760ea32a440ed485588bfaaa58dc400
BLAKE2b-256 e9a846e12e2c740306bbc858edd462b0313208d833981cfc91402c5e9cc95ab9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cybrentq-0.1.1rc4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 102.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for cybrentq-0.1.1rc4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1665cf1b97e3ec566a0e326ebf2a0f54fe368c3f8d9d45dda758cd4f5d6e29dc
MD5 991b8b7fed79860e9a824b80e13d92e3
BLAKE2b-256 0c1f8046744ec3ae2b4ec7b9028ce0fef5e46e2700833916c6c73d1d3161f4d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp313-cp313-win_amd64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 52f8491d175d2b47715906b5fa94f5fd9671468aada3077e3a2821b1efda3b62
MD5 b06cec0b2845f9ef61397e0da2629cf1
BLAKE2b-256 13ed19114c1b866ac5e8d859eb38379c69c3b6f8d9974bd4d5bd534ac2744207

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 457966a4e4f00d16b5f6506f610351dfa1612e9d7d0ae907cfde2da1f32484e8
MD5 f5eaa47d72b2a8bcfb8fbfe5d3b3fc8b
BLAKE2b-256 704b4efd903b994c87cb95de855d37db308f314c4374a2eb472219e7bf2a95de

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 098951651aefd2d6d78ba2cef9d547388779df7f72e4373bf4a41dda4983c456
MD5 b3e58bf5a7fd8c926a6d6626049c45e6
BLAKE2b-256 a4f2e35244cdd4aa7781abda683e24945211f9d4494e8436e72776646cf121bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 195617ceb7922369e455af9a9e1304342bee4fd169543a772afe1a2aeb7c1ac0
MD5 9c059f97dc176ea81ca52e746da237c1
BLAKE2b-256 e329766bcdaba65aadc44f208462a9df8db66989b8bf868a4a215b16f5b2111a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4241ec988c993afe54c23574e305a8adc9e3c1a723bf03c6d7cb22376dc442c3
MD5 ec46ddf199418970957b253ecd51f92c
BLAKE2b-256 3c338ba27883709f3e45efef8a28a78334cdcae6c5ee9fec64152ca661d61d3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: cybrentq-0.1.1rc4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 103.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for cybrentq-0.1.1rc4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1d15528b7ff8ba1504e2b45ae42cb599cd442bd4e8bedd2808e91a7d1464942a
MD5 37f5d701955b8f4447dee9e9e84bb0b7
BLAKE2b-256 ef4445f43ecdd779abb30ac2b23a8f10c5ce10cf718766af0f215a54ffd34a97

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp312-cp312-win_amd64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3781e6ae86c436c7a86524fd67c12b94a63573bc5b812187a326da4e57e42cc0
MD5 6d07cab090317cc1ce9834c2d98cfc9d
BLAKE2b-256 bdc8ec5997abb75ff2386f209d302aa0acacf374e6e8429ed079443b85807000

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e0a48f5114b7be5d6225f217f61b4d5ec8e95ca52dcd1e92ad451b62bef0b4be
MD5 d7941aec74ff327340517889054ef7e1
BLAKE2b-256 e0778dfb970df6ec177a78f20cb80f2e73fd96345cff0e19eae67b666ab08116

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cd666e3870169d5d190ffadee08631862172aa5501dc521b503664604b0dfbea
MD5 1749f3a552c87f452103a7021e7e7577
BLAKE2b-256 66513e703ea2dbcb9408f2b2b0e25e6ff933d56fa6b6c2c3e75255d88a2baae5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2911da9c7736b4d994c8305407f194b7223ff3a12cae8e41c2529f8565b1f3fb
MD5 e48141687f774d0d0c717b73b3894f18
BLAKE2b-256 c749e934fbee3d0e80ee681447ebab71591cae78d902b46631da800658041764

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c666d9665132503dbf7a55db8def1514b62970cd121b51b19eece04c76c466f2
MD5 deb47cf6b769ff105fe6b7f4294099de
BLAKE2b-256 4c2572e8471e214eefd0cacebfe10714d3b62b476174c150deb6891e7b962dd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: cybrentq-0.1.1rc4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 103.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for cybrentq-0.1.1rc4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6cfc7ac0f5b2b5c9ee1529f1a872e4ea2fd15e9d1560dbf82daceb7c3db423ed
MD5 c6781af68b1f0f94c32c4c2b118ffa20
BLAKE2b-256 30d6069998fb16e2949672d9859d95f4719ed5d7e9d6ddc91766083c8e9db35c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp311-cp311-win_amd64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b49024b2c760fedf0b6029c71dbf0d27337e8891dbfecf1a39eb13636d83b584
MD5 02b0073d28228e1e7b0f88229fddab76
BLAKE2b-256 e9239623dd0b0a614291e03020719b9b31e43a216a23cce2765002725fdeae91

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 09bcf5b68296b77da927c9918447197238ae227c45be8ce6a09e39c586bb1000
MD5 f18bce65ef4763355c5d580da25ce951
BLAKE2b-256 46d285909334e5f4adeba47d51eb5a795f9aa5ae97e14b34cec0e3dc14f26d2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e1fb99a780adcc1545ad9d4be71d5aa0fac818eedea3e68b6c9821a38e19678c
MD5 936fdf47ca31e0a9fc0768b67dcc37b9
BLAKE2b-256 58e72f9cae6d558983d7663203dfd737215d62918b9cb11f33e4115ec9f0c8f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9b1e081731e8ddc4bdc017b50f560f2972047be0f013d2aaf9bf7acb0edc2279
MD5 f454cb8486d90b81cd9fba0b685d6ccf
BLAKE2b-256 8041011dc5af68fb86bf020b6d1375821f9c340f5b9c75a526850f25387141cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e6ea7c4ac6787d258d22a1209a3fbc8ff8e8ff74252476da48c089f4efcf4183
MD5 9ca6aebd8fd1948177dc34b110a49d60
BLAKE2b-256 a9e8d123b8a79b07bf6469180f4de329d4f6fdc16fcf49d4ed346280017dc0ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: cybrentq-0.1.1rc4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 103.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for cybrentq-0.1.1rc4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 84490a4100ba2dcc11932ceae68f9aaa3f1921cab5f048cc6234d03db4eb9808
MD5 73b46e02b7a72e736ac078a2b7c2599d
BLAKE2b-256 2bd7625d24d6a58ec6e5609b0dc76cf556b97704ae816ac654957e059febae53

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp310-cp310-win_amd64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b5b45c60a3e125ab5a7dfb78bff9764627335a1d74bc2aacff49a5607b70ae8a
MD5 1aedd7053a49ab3dc62c3fa8357bdcce
BLAKE2b-256 35626845d216181973c2bd363527fd26471b2dba4c95f0a03af108c941eba220

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5e7c2e1e026bfb0637458d3b6c9bec028a3cee8dfbe4adef98387f016c4d1918
MD5 40b048da2bbb5b2050cf0ce879c775d8
BLAKE2b-256 e0ff3b0f084d86b03b8dca60980f56cd09296fd0a66c37a7621320678d493093

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 303c1db4770ead4a06a659ae4740c9a31b70d0310898423a3e7ea8ff999096d8
MD5 6e9617637094714808d717df1722e2f5
BLAKE2b-256 30cef3d4d79d08a9ce7cd2f962567dbeed037a9c31b987cc2f92070129fa6275

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fafc581f3e47d374d1979bc99daf863ac190470aadf48d266d9cb32dfde9d469
MD5 310e24743689322ae410e53779b0af59
BLAKE2b-256 7604c75a8bb43559269bbfff19ffc653b6885a4b30e7e8ce8265f8e2d5214530

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cybrentq-0.1.1rc4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cybrentq-0.1.1rc4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a4faac1a95ccbb403662f42235f7f6bb8c69fffbafad7a112173fda6ec2fe1ce
MD5 41b7bcea8129642cbebdeb7eff7628af
BLAKE2b-256 17a0f37a611cb15d0c42ea65a638013240bd3cd837e02ffa7e65469fba5f9e35

See more details on using hashes here.

Provenance

The following attestation bundles were made for cybrentq-0.1.1rc4-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on gledi-ai/cybrentq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page