Skip to main content

Binary distribution of the CBC MILP solver (COIN-OR Branch and Cut)

Project description

cbcbox

PyPI version PyPI downloads CI Platforms License

cbcbox is a high-performance, self-contained Python distribution of the CBC MILP solver (COIN-OR Branch and Cut), built from the latest COIN-OR master branch.

On x86_64 (Linux, macOS, Windows) the wheel ships both a Haswell-optimised binary (AVX2/FMA) for maximum speed and a generic build with runtime CPU dispatch for compatibility with any x86_64 machine — selected automatically. All dynamic dependencies (OpenBLAS, libgfortran, etc.) are bundled; no system libraries or separate installation steps are needed.

Highlights

  • Haswell-optimised & generic builds — on x86_64 Linux, macOS, and Windows the wheel ships two complete solver stacks: a Haswell build (OpenBLAS AVX2/FMA kernel) for maximum throughput, and a generic build (DYNAMIC_ARCH runtime dispatch) for compatibility with any x86_64 CPU. The best available variant is selected automatically at import time (see Build variants).

  • Parallel branch-and-cut — built with --enable-cbc-parallel. Use -threads=N to distribute the search tree across N threads, giving significant speedups on multi-core machines for hard MIP instances.

  • AMD fill-reducing orderingSuiteSparse AMD is compiled in, enabling the high-quality UniversityOfFlorida Cholesky factorization for Clp's barrier (interior point) solver. AMD reordering produces much less fill-in on large sparse problems than the built-in native Cholesky, making barrier substantially faster. Activate with -cholesky UniversityOfFlorida -barrier (see barrier usage).

Performance (x86_64)

Auto-updated by CI after each successful workflow run. Single-threaded solve time — lower is better.

CBC solve time — generic vs AVX2/Haswell (Linux x86_64)

Single-threaded solve time across benchmark instances on Linux x86_64. Speedup factor shown above each pair. Lower is better.

See also: Windows AMD64 + macOS x86_64 summary

Build variants

On x86_64 Linux, macOS, and Windows, the wheel ships two complete sets of binaries:

Variant OpenBLAS kernel Clp SIMD Minimum CPU
generic DYNAMIC_ARCH (runtime dispatch) standard any x86_64
avx2 HASWELL (256-bit AVX2/FMA) -march=haswell -DCOIN_AVX2=4 (all Haswell ISA extensions + 4-double AVX2 layout) Haswell (2013+)

At import time cbcbox automatically selects avx2 when it is available and the running CPU supports AVX2; otherwise it falls back to generic.

You can override this selection with the CBCBOX_BUILD environment variable:

# Force generic (portable) build
CBCBOX_BUILD=generic cbc mymodel.mps -solve -quit

# Force AVX2-optimised build (raises an error if not available)
CBCBOX_BUILD=avx2 cbc mymodel.mps -solve -quit

When CBCBOX_BUILD is set, a short summary of the selected build is printed to stdout on every call — useful for tagging experiment results:

[cbcbox] CBCBOX_BUILD=avx2
[cbcbox]   binary  : .../cbcbox/cbc_dist_avx2/bin/cbc
[cbcbox]   lib dir : .../cbcbox/cbc_dist_avx2/lib
[cbcbox]   libs    : libCbc.so.3, libClp.so.3, libopenblas.so.0

Non-x86_64 platforms (Linux aarch64, macOS arm64) ship the generic build only. CBCBOX_BUILD=avx2 will raise a RuntimeError on those platforms.

Local debug builds

The released wheels are fully optimised and stripped. To debug CBC itself (e.g. with GDB or LLDB), use the scripts in scripts/ to build a local debug-enabled binary. These produce the same full feature set as the release wheels (OpenBLAS, AMD, Nauty, pthreads) but compiled with -O1 -g and, on x86_64, with -march=haswell -DCOIN_AVX2=4 so you can debug AVX2-specific code paths.

Script Platform Environment Output directory
scripts/build_debug.sh Linux, macOS native (host compiler) cbc_dist_debug_avx2/ (x86_64) or cbc_dist_debug/ (ARM64)
scripts/build_debug_manylinux.sh Linux Docker — manylinux2014 container (exact CI parity) same as above
scripts/build_debug_windows.ps1 Windows MSYS2 / MinGW64 cbc_dist_debug_avx2\

Quick start

Linux / macOS (native build):

# x86_64 → debug + AVX2 → cbc_dist_debug_avx2/bin/cbc
# ARM64  → debug only  → cbc_dist_debug/bin/cbc
./scripts/build_debug.sh

# With AddressSanitizer:
./scripts/build_debug.sh --asan

# With ThreadSanitizer:
./scripts/build_debug.sh --tsan

# Force a clean rebuild from scratch (required when switching sanitizers):
./scripts/build_debug.sh --asan --clean

Linux (manylinux2014 container — matches CI exactly):

# Requires Docker; the script prints install instructions if it is missing.
./scripts/build_debug_manylinux.sh
./scripts/build_debug_manylinux.sh --asan
./scripts/build_debug_manylinux.sh --tsan

Windows (PowerShell):

# Requires MSYS2 at C:\msys64.  Note: sanitizers are not supported on Windows/MinGW.
.\scripts\build_debug_windows.ps1
.\scripts\build_debug_windows.ps1 -Clean   # force full rebuild

Debugging

# GDB (Linux):
gdb cbc_dist_debug_avx2/bin/cbc
(gdb) run mymodel.mps -solve -quit

# LLDB (macOS):
lldb cbc_dist_debug/bin/cbc
(lldb) run mymodel.mps -solve -quit

Sanitizer tips

Sanitizer Flag What it catches Runtime env var
AddressSanitizer --asan heap/stack buffer overflows, use-after-free, memory leaks ASAN_OPTIONS=detect_leaks=0 to suppress system-lib false positives
ThreadSanitizer --tsan data races between threads TSAN_OPTIONS=halt_on_error=0 to log races without aborting

ASan and TSan are mutually exclusive. Neither is available on Windows/MinGW. Always pass --clean when switching from one sanitizer to another to avoid linking mismatched object files.

OpenBLAS is always built without sanitizer flags to avoid false positives from hand-optimised BLAS assembly; only the COIN-OR stack is instrumented.

Note: Debug binaries are not included in the published wheels because of their size. They are intended for local development only.

Supported platforms

Platform Wheel tag
Linux x86_64 manylinux2014_x86_64
Linux aarch64 manylinux2014_aarch64
macOS arm64 (Apple Silicon) macosx_11_0_arm64
macOS x86_64 macosx_10_9_x86_64
Windows AMD64 win_amd64

Installation

pip install cbcbox

Usage

Command line

After installation, CBC is available directly as the cbc command (pip installs the entry point into the environment's bin/ on Linux/macOS or Scripts/ on Windows, which is already on PATH):

cbc mymodel.lp -solve -quit
cbc mymodel.mps.gz -solve -quit
cbc mymodel.mps -seconds 60 -timem elapsed -solve -quit
cbc mymodel.mps -dualp pesteep -solve -quit

Alternatively, invoke via the Python module entry point:

python -m cbcbox mymodel.lp -solve -quit

CBC accepts LP, MPS and compressed MPS (.mps.gz) files. Pass -help for the full list of options, or -quit to exit after solving.

Parallel branch-and-cut

This build includes parallel branch-and-cut (--enable-cbc-parallel). Use -threads=N to distribute the search tree across N threads:

cbc mymodel.mps -threads=4 -solve -quit

Barrier (interior-point) solver

Clp's barrier solver can be faster than simplex for large LP relaxations. This build includes SuiteSparse AMD, which enables the high-quality UniversityOfFlorida Cholesky factorization — significantly reducing fill-in compared to the built-in native Cholesky:

# Solve LP relaxation with barrier + AMD Cholesky, then crossover to simplex basis
cbc mymodel.mps -cholesky UniversityOfFlorida -barrier -solve -quit

# Useful as a root-node strategy inside MIP (let CBC use simplex for B&B):
cbc mymodel.mps -cholesky UniversityOfFlorida -barrier -solve -quit

Without AMD, only -cholesky native (less efficient) is available.

Python API

The package exposes helpers to locate the installed files:

import cbcbox
import subprocess

# Path to the cbc binary (cbc.exe on Windows).
cbcbox.cbc_bin_path()
# e.g. '/home/user/.venv/lib/python3.13/site-packages/cbcbox/cbc_dist/bin/cbc'

# Directory containing the shared libraries.
cbcbox.cbc_lib_dir()
# e.g. '.../cbcbox/cbc_dist/lib'

# Directory containing the COIN-OR C/C++ headers.
cbcbox.cbc_include_dir()
# e.g. '.../cbcbox/cbc_dist/include/coin'

# Run CBC programmatically.
result = subprocess.run(
    [cbcbox.cbc_bin_path(), "mymodel.mps", "-solve", "-quit"],
    capture_output=True, text=True,
)
print(result.stdout)

What is built

The build pipeline compiles all components from source inside the CI runner, in the following order:

Component Version / branch Purpose
Cbc master Branch-and-cut MIP solver
Cgl master Cut generation library
Clp master Simplex LP solver (used as the MIP node relaxation)
Osi master Open Solver Interface
CoinUtils master Utility library (shared by all COIN-OR packages)
Nauty 2.8.9 Symmetry detection for MIP presolve
AMD (SuiteSparse v7.12.2) v7.12.2 Sparse matrix fill-reducing ordering
OpenBLAS v0.3.31 Optimised BLAS/LAPACK for LP basis factorisation

On x86_64 Linux, macOS, and Windows the entire stack is compiled twice: once for the generic variant (OpenBLAS DYNAMIC_ARCH=1) and once for the avx2 variant (TARGET=HASWELL, CXXFLAGS=-O3 -march=haswell -DCOIN_AVX2=4). AMD and Nauty are built only once (they are pure combinatorial code with no BLAS dependency) and reused by both COIN-OR variants.

All COIN-OR components are built as shared (.so / .dylib / .dll) libraries. The shared libraries are patched with self-relative RPATHs and bundled inside the wheel, making them directly usable via cffi or ctypes without any system installation.

Wheel contents

The wheel installs under cbcbox/ inside the site-packages directory. On x86_64 Linux, macOS, and Windows it contains two dist trees; other platforms contain only cbc_dist/:

cbc_dist/           ← generic build (all platforms)
cbc_dist_avx2/      ← AVX2-optimised build (x86_64 Linux/macOS/Windows)
├── bin/
│   ├── cbc           # CBC MIP solver binary  (cbc.exe on Windows)
│   └── clp           # Clp LP solver binary   (clp.exe on Windows)
├── lib/
│   ├── libCbc.so / libCbc.dylib / libCbc.dll  # CBC solver
│   ├── libCbcSolver.so ...
│   ├── libClp.so ...                          # Clp LP solver
│   ├── libCgl.so ...                          # Cut generation
│   ├── libOsi.so ...                          # Solver interface
│   ├── libOsiClp.so ...                       # Clp OSI binding
│   ├── libOsiCbc.so ...                       # CBC OSI binding (where available)
│   ├── libCoinUtils.so ...
│   ├── libopenblas.so / .dylib / .dll         # OpenBLAS BLAS/LAPACK
│   ├── pkgconfig/                             # .pc files for all libraries
│   └── <bundled runtime shared libs>          # Platform-specific — see below
└── include/
    ├── coin/      # COIN-OR headers (CoinUtils, Osi, Clp, Cgl, Cbc)
    ├── nauty/     # Nauty headers
    └── *.h        # SuiteSparse / AMD headers

Bundled dynamic libraries

Because OpenBLAS links to the Fortran runtime, the following shared libraries are bundled inside the wheel and their paths are rewritten so no system installation is required.

Linux (lib/ directory, RPATH set to $ORIGIN)

Library Description
libopenblas.so.0 OpenBLAS BLAS/LAPACK
libgfortran.so.5 GNU Fortran runtime
libquadmath.so.0 Quad-precision math (dependency of libgfortran)

macOS (lib/ directory, install names rewritten to @rpath/)

Library Description
libopenblas.dylib OpenBLAS BLAS/LAPACK
libgfortran.5.dylib GNU Fortran runtime
libgcc_s.1.1.dylib GCC runtime
libquadmath.0.dylib Quad-precision math

Windows (bin/ directory, DLLs placed next to the executable)

Library Description
libopenblas.dll OpenBLAS BLAS/LAPACK
libgfortran-5.dll GNU Fortran runtime
libgcc_s_seh-1.dll GCC SEH runtime
libquadmath-0.dll Quad-precision math
libstdc++-6.dll C++ standard library (MinGW64)
libwinpthread-1.dll POSIX thread emulation

CI / build pipeline

Wheels are built and tested automatically via GitHub Actions using cibuildwheel. The workflow (.github/workflows/wheel.yml) runs independent compile jobs in parallel, then packages each platform:

Compile jobs Runner Produces
compile-linux-x64-generic + compile-linux-x64-avx2 ubuntu-latest manylinux2014_x86_64 wheel
compile-linux-arm64-generic ubuntu-24.04-arm manylinux2014_aarch64 wheel
compile-macos-arm64-generic macos-15 macosx_11_0_arm64 wheel
compile-macos-intel-generic + compile-macos-intel-avx2 macos-15-intel macosx_10_9_x86_64 wheel
compile-windows-generic + compile-windows-avx2 windows-latest win_amd64 wheel

Each platform's compile jobs run in parallel. Once all compile jobs for a platform finish, the corresponding package-* job assembles the wheel via cibuildwheel and runs the test suite against the installed wheel.

A final combine_reports job collects per-platform performance results and commits the updated README.md to the repository.

Integration tests

The test suite (pytest) solves fifteen MIP instances and checks the optimal objective values, in both single-threaded and parallel (3-thread) modes. On x86_64 Linux, macOS, and Windows each test is run twice — once against the generic binary and once against the avx2 binary — and a side-by-side performance comparison is recorded:

Instance Expected optimal Time limit
pp08a.mps.gz 7 350 2000 s
sprint_hidden06_j.mps.gz 130 2000 s
air03.mps.gz 340 160 2000 s
air04.mps.gz 56 137 2000 s
air05.mps.gz 26 374 2000 s
nw04.mps.gz 16 862 2000 s
mzzv11.mps.gz −21 718 2000 s
trd445c.mps.gz −153 419.078836 2000 s
nursesched-sprint02.mps.gz 58 2000 s
stein45.mps.gz 30 2000 s
neos-810286.mps.gz 2 877 2000 s
neos-1281048.mps.gz 601 2000 s
j3050_8.mps.gz 1 2000 s
qiu.mps.gz −132.873136947 2000 s
gesa2-o.mps.gz 25 779 856.3717 2000 s

Time limits are generous to avoid false failures on slow CI runners.

Performance results

Auto-updated by CI after each successful workflow run.

Summary

Geometric mean solve time (seconds) across all test instances.

1 thread

Platform generic (s) avx2 (s) avx2 speedup
Darwin x86_64 57.75 20.04 2.88×
Darwin arm64 40.67
Windows AMD64 51.04 16.02 3.19×

3 threads

Platform generic (s) avx2 (s) avx2 speedup
Darwin x86_64 41.69 18.43 2.26×
Darwin arm64 35.45
Windows AMD64 43.02 16.05 2.68×

Per-instance results

pp08a.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 5.12 13.16 0.39×
Darwin x86_64 generic 9.77 12.76 0.77×
Darwin arm64 generic 9.38 18.71 0.50×
Windows AMD64 avx2 4.88 8.24 0.59×
Windows AMD64 generic 12.69 22.46 0.56×

sprint_hidden06_j.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 47.38 56.40 0.84×
Darwin x86_64 generic 166.56 187.15 0.89×
Darwin arm64 generic 120.80 132.49 0.91×
Windows AMD64 avx2 57.43 54.49 1.05×
Windows AMD64 generic 255.07 209.23 1.22×

air03.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 1.57 1.97 0.80×
Darwin x86_64 generic 6.32 6.06 1.04×
Darwin arm64 generic 3.91 5.74 0.68×
Windows AMD64 avx2 2.38 2.40 0.99×
Windows AMD64 generic 6.02 6.00 1.00×

air04.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 52.63 42.73 1.23×
Darwin x86_64 generic 118.28 80.71 1.47×
Darwin arm64 generic 103.89 107.55 0.97×
Windows AMD64 avx2 32.62 27.15 1.20×
Windows AMD64 generic 158.00 89.90 1.76×

air05.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 24.27 20.37 1.19×
Darwin x86_64 generic 57.64 44.14 1.31×
Darwin arm64 generic 47.79 43.18 1.11×
Windows AMD64 avx2 17.49 13.72 1.27×
Windows AMD64 generic 58.28 44.22 1.32×

nw04.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 12.52 13.76 0.91×
Darwin x86_64 generic 35.36 37.73 0.94×
Darwin arm64 generic 33.94 41.38 0.82×
Windows AMD64 avx2 15.47 15.91 0.97×
Windows AMD64 generic 57.33 53.57 1.07×

mzzv11.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 125.54 77.68 1.62×
Darwin x86_64 generic 651.87 365.25 1.78×
Darwin arm64 generic 248.28 206.00 1.21×
Windows AMD64 avx2 117.23 210.54 0.56×
Windows AMD64 generic 279.00 292.00 0.96×

trd445c.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 103.64 102.05 1.02×
Darwin x86_64 generic 332.04 207.64 1.60×
Darwin arm64 generic 183.60 196.02 0.94×
Windows AMD64 avx2 100.59 122.17 0.82×
Windows AMD64 generic 236.94 228.74 1.04×

nursesched-sprint02.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 36.04 32.96 1.09×
Darwin x86_64 generic 122.97 96.07 1.28×
Darwin arm64 generic 93.48 92.81 1.01×
Windows AMD64 avx2 26.41 26.41 1.00×
Windows AMD64 generic 112.50 85.37 1.32×

stein45.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 10.62 10.02 1.06×
Darwin x86_64 generic 39.77 19.42 2.05×
Darwin arm64 generic 19.44 10.52 1.85×
Windows AMD64 avx2 8.44 6.91 1.22×
Windows AMD64 generic 26.39 18.78 1.41×

neos-810286.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 14.83 13.00 1.14×
Darwin x86_64 generic 65.89 44.89 1.47×
Darwin arm64 generic 37.40 29.59 1.26×
Windows AMD64 avx2 12.94 12.90 1.00×
Windows AMD64 generic 35.76 39.66 0.90×

neos-1281048.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 21.52 8.85 2.43×
Darwin x86_64 generic 149.85 18.41 8.14×
Darwin arm64 generic 40.28 18.81 2.14×
Windows AMD64 avx2 13.48 7.51 1.80×
Windows AMD64 generic 36.25 18.86 1.92×

j3050_8.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 4.64 4.02 1.15×
Darwin x86_64 generic 7.42 7.97 0.93×
Darwin arm64 generic 7.93 6.39 1.24×
Windows AMD64 avx2 2.12 2.30 0.92×
Windows AMD64 generic 8.50 7.18 1.18×

qiu.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 51.99 15.78 3.30×
Darwin x86_64 generic 67.75 25.47 2.66×
Darwin arm64 generic 99.11 29.71 3.34×
Windows AMD64 avx2 24.17 12.87 1.88×
Windows AMD64 generic 80.18 38.30 2.09×

gesa2-o.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 5.84 4.78 1.22×
Darwin x86_64 generic 13.24 10.64 1.24×
Darwin arm64 generic 10.02 8.16 1.23×
Windows AMD64 avx2 3.39 3.22 1.05×
Windows AMD64 generic 11.03 10.38 1.06×

pk1.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 42.14 43.92 0.96×
Darwin x86_64 generic 92.37 84.90 1.09×
Darwin arm64 generic 70.86 47.86 1.48×
Windows AMD64 avx2 33.16 29.07 1.14×
Windows AMD64 generic 102.78 65.09 1.58×

mas76.mps.gz

Platform Build 1 thread (s) 3 threads (s) parallel speedup
Darwin x86_64 avx2 23.64 46.48 0.51×
Darwin x86_64 generic 55.51 83.21 0.67×
Darwin arm64 generic 43.80 49.49 0.89×
Windows AMD64 avx2 19.48 38.97 0.50×
Windows AMD64 generic 53.58 66.35 0.81×

NAQ — Never Asked Questions

Why not benchmark on the full MIPLIB 2017 library?

Several practical constraints shape the benchmark set:

  1. CI time limits. GitHub Actions enforces a 6-hour wall-clock limit per job. The full MIPLIB 2017 collection contains ~240 instances, many of which take hours even on fast hardware. Including all of them would make every CI run time out before producing any useful measurements.

  2. Comparing apples to apples requires instances solved to optimality. If some instances are only solved within a time limit (i.e., a gap > 0 %), a meaningful performance comparison must account for both solve time and solution quality simultaneously. This greatly complicates analysis and makes plots harder to interpret. Restricting to instances that CBC reliably solves to proven optimality keeps the comparison clean: a single elapsed-time number per instance is all that is needed.

  3. The instance set is intentionally biased toward set packing / covering / partitioning structure. Most instances in the benchmark (pp08a, sprint_hidden06_j, nw04, mzzv11, nursesched-sprint02, air0x, trd445c) contain large blocks of set packing, covering, or partitioning constraints. This structure arises naturally in applications such as crew scheduling, nurse scheduling, vehicle routing, and cutting stock — exactly the domain where column generation is most valuable. Since the benchmark focuses on this problem class rather than providing a general-purpose solver survey, it is a specially interesting use case.

License

CBC and all COIN-OR components are distributed under the Eclipse Public License 2.0. OpenBLAS is distributed under the BSD 3-Clause licence. SuiteSparse AMD is distributed under the BSD 3-Clause licence. Nauty is distributed under the Apache 2.0 licence.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

cbcbox-2.915-py3-none-win_amd64.whl (57.9 MB view details)

Uploaded Python 3Windows x86-64

cbcbox-2.915-py3-none-manylinux2014_x86_64.whl (90.4 MB view details)

Uploaded Python 3

cbcbox-2.915-py3-none-manylinux2014_aarch64.whl (38.9 MB view details)

Uploaded Python 3

cbcbox-2.915-py3-none-macosx_15_0_x86_64.whl (74.5 MB view details)

Uploaded Python 3macOS 15.0+ x86-64

cbcbox-2.915-py3-none-macosx_15_0_arm64.whl (31.7 MB view details)

Uploaded Python 3macOS 15.0+ ARM64

File details

Details for the file cbcbox-2.915-py3-none-win_amd64.whl.

File metadata

  • Download URL: cbcbox-2.915-py3-none-win_amd64.whl
  • Upload date:
  • Size: 57.9 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cbcbox-2.915-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9e79cbb8a9ab2b97dfff947557028489a00a06d74c7bb3883a22145e592ee2ed
MD5 2cc827d14fb5938353eb3a420209384e
BLAKE2b-256 0d07f1b80dbb5d6a52b3aef8319a7dfe05fdd451b38f2ee4cdc4eed8a32513b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cbcbox-2.915-py3-none-win_amd64.whl:

Publisher: wheel.yml on h-g-s/cbcbox

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

File details

Details for the file cbcbox-2.915-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cbcbox-2.915-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ed56fe67a2bc54f88f20bfde1aac5b2ec6454e0d6d2214d1f9ee8d969f8cb2e8
MD5 116ed4d3dbabbfa5d3ebbc0e4c34e170
BLAKE2b-256 bb931ae0851d97a3aee2015095d740c1e645e8b1d019b551e182748e1c377227

See more details on using hashes here.

Provenance

The following attestation bundles were made for cbcbox-2.915-py3-none-manylinux2014_x86_64.whl:

Publisher: wheel.yml on h-g-s/cbcbox

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

File details

Details for the file cbcbox-2.915-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cbcbox-2.915-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7f36bc230b97fa74552f309429beab5a866a459d47c8ad34e13b4d7b74198e4b
MD5 80479b11bc4617391bf748fd7f095bef
BLAKE2b-256 50973745a7861b50e0f01c3cceb2ef6d551c40b045b79675db08837c0e1c2b6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cbcbox-2.915-py3-none-manylinux2014_aarch64.whl:

Publisher: wheel.yml on h-g-s/cbcbox

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

File details

Details for the file cbcbox-2.915-py3-none-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for cbcbox-2.915-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 887bd29b665ef54d05018bd20497c2d40a28fcb3fb719f5072643fd693a650b5
MD5 abb9b105ebabd6a73387c9bf952c0e54
BLAKE2b-256 bf071ff286ef008c8f044f19833ae710532c959430b2e33f4cbbe2efbf41ac9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cbcbox-2.915-py3-none-macosx_15_0_x86_64.whl:

Publisher: wheel.yml on h-g-s/cbcbox

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

File details

Details for the file cbcbox-2.915-py3-none-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for cbcbox-2.915-py3-none-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9593524ae9f5f47732610ad967c98bd2bb4b0786db5dc2bfbf75ed7bfa9ec6af
MD5 5c77f3fef6dc450747862482b55497d9
BLAKE2b-256 f2d943c326e1579e9cd2aedde97c2a8b466d115586ccf34af86d33269fa7d37c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cbcbox-2.915-py3-none-macosx_15_0_arm64.whl:

Publisher: wheel.yml on h-g-s/cbcbox

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