Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

bnbpy

Tests Ruff Mypy

A generic, configurable Python framework for solving optimization problems using Branch & Bound. Also supports Column Generation and Branch & Price.

📖 Documentation

Configure | Usage | Base Problems | Development | Contact

See more examples in the notebooks folder:

Configuration

Installation

PyPI

The bnbpy package is available in PyPI. So you can install it with a simple.

pip install bnbpy

Source Code

Alternatively, you can clone the repository and build it locally on your computer. Ensure you have a c++ compiler available due to Cython and c++ core components.

To clone the repository, you can run:

git clone https://github.com/bruscalia/bnbpy.git
cd bnbpy

Install the package and its dependencies via pip from the root of the repository:

python -m pip install .

To include development resources for running bnbprob, tests, and linters, use the dev extra:

python -m pip install .[dev]

For editable (development) mode, which allows you to track changes in the source files:

python -m pip install -e .[dev]

All package dependencies and metadata are specified in setup.cfg. Build requirements are in pyproject.toml and the Cython extensions are defined in setup.py.

Building

To build Cython extensions, run:

python setup.py build_ext --inplace

Be aware of deprecated commands in setup.py. See here for more information.

To build wheels for distribution, run:

python -m build --wheel

Usage

Branch & Bound

from bnbpy import BranchAndBound, Problem

class MyProblem(Problem):
    # Define your problem specifications by implementing abstract methods

    def calc_bound(self):
        # Compute node lower bound
        pass

    def is_feasible(self):
        # Verify if node is feasible in the complete problem
        pass

    def branch(self):
        # Return a list of subproblems (an empty list if none)
        pass

# Apply Branch & Bound
problem = MyProblem()
bnb = BranchAndBound(problem)
bnb.solve()
print(bnb.solution)

Branch & Price

import bnbpy as bbp

class MyMaster(bbp.Master):
    def __init__(self, *args):
        # Implement your master problem
        pass

    def add_col(self, c) -> bool:
        # Include a new column and return True if accepted
        return True

    def solve(self) -> bbp.MasterSol:
        # cost = ...
        # duals = ...
        # return MasterSol(cost=cost, duals=duals)
        pass

class MyPricing(bbp.Pricing):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        # Instantiate your pricing problem

    def set_weights(self, c):
        # Modify the instance by incorporating new weights
        pass

    def solve(self) -> bbp.PriceSol:
        # red_cost = ...
        # new_col = ...
        # return PriceSol(red_cost=red_cost, new_col=new_col)
        pass

class MyCG(bbp.ColumnGenProblem):
    def __init__(self, **kwargs):
        master = MyMaster()
        pricing = MyPricing(**kwargs)
        super().__init__(
            master=master,
            pricing=pricing,
        )

    def branch(self) -> list['MyCG'] | None:
        # Create children
        pass

    def is_feasible(self) -> bool:
        # Check for feasibility in the complete formulation
        pass

Base Problems

The bnbprob package incorporates elements of bnbpy to solve classical examples. It is installed alongside bnbpy, but some of its modules depend on development packages (such as pydantic and pyomo), so install it with the dev extra to use them:

pip install bnbpy[dev]

See examples for MILP, Permutation Flow Shop, and Graph Coloring problems below.

MILP

The MILP implementation is based on scipy.optimize.linprog for solving LPs.

import numpy as np

from bnbprob.milpy import MILP
from bnbpy import BranchAndBound

# Simple problem
c = np.array([-5.0, -4.0])

A_ub = np.array([
    [2.0, 3.0],
    [2.0, 1.0]
])
b_ub = np.array([12.0, 6.0])

milp = MILP(c, A_ub=A_ub, b_ub=b_ub)
bnb = BranchAndBound(milp)
sol = bnb.solve()
print(f"Sol: {sol} | x: {sol.problem.results.x}")
# >>> Sol: Status: OPTIMAL | Cost: -18.0 | LB: -18.0 | x: [2. 2.]

Permutation Flow Shop

In this example, an instance from the literature with 20 jobs on 10 machines is solved. It takes less than 0.1 second, which is an impressive performance even compared to the best commercial MILP solvers.

import json
from bnbprob.pafssp import CallbackBnB, PermFlowShop, plot_gantt

with open("./data/flow-shop/reC11.json", mode="r", encoding="utf8") as f:
    p = json.load(f)

problem = PermFlowShop.from_p(p, constructive='neh')
bnb = CallbackBnB(problem)

# The commercial solver Gurobi took 600s (timeout) to find the near-optimal
# solution 1432
sol = bnb.solve(
    maxiter=1000000, timelimit=600
)
print(sol)
# >>> Status: OPTIMAL | Cost: 1431.0 | LB: 1431.0

# The sequence holds plain-Python job snapshots (PyJob)
# with processing times `p` and start times `s` on each machine
plot_gantt(sol.problem.sequence, figsize=[8, 3])

pfssp

Graph Coloring

To illustrate the usability of the Branch & Price feature, the implementation of Graph Coloring outperforms commercial solvers with basic MILP modeling.

from bnbprob import gcol
from bnbpy import BranchAndBound

# Instances are available in the 'data' folder
instance = gcol.load_instance("./data/gcol/gcol_70_7.txt")

# Solve a 70-node instance to optimality in about 11-24s
# With only heuristics to generate columns, it took only 14s
# The commercial solver Gurobi took 81s to find the optimal solution
# but could only prove optimality within 51 min
price_tol = 0.1
pricing = gcol.ColorHybrPricing(
    instance["edges"],
    heur=gcol.TargetMultiStart(
        12, price_tol + 1, 20, 200
    ),
    price_tol=price_tol
)
problem = gcol.ColGenColor(
    instance['edges'],
    pricing=pricing,
    max_iter_price=1000,
)
bnb = BranchAndBound(problem)
sol = bnb.solve(maxiter=1000)
print(sol)
# >>> Status: OPTIMAL | Cost: 17.0 | LB: 17.0

Development

Code Quality

This project uses Ruff as a linter and Mypy as a static type checker. Both are configured in pyproject.toml.

mypy src/
ruff check src/

Tests

Tests are configured in pyproject.toml. The package pytest is used as the main framework. To run tests, execute:

pytest

To track code coverage of the main package bnbpy, run:

pytest --cov=bnbpy --cov-report=html

Most of the package is already cythonized, so the coverage loses its meaning when raw.

Contact

Reach out to me at bruscalia12@gmail.com if you have any questions.

Metadata

Release files for bnbpy 0.2.0rc1

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

Source distribution (sdist)

Source distribution for bnbpy 0.2.0rc1
File Size Uploaded Provenance Actions
bnbpy-0.2.0rc1.tar.gz 1.8 MB Without provenance Details for bnbpy-0.2.0rc1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for bnbpy 0.2.0rc1
File Actions
bnbpy-0.2.0rc1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for bnbpy-0.2.0rc1-cp314-cp314-win_amd64.whl
bnbpy-0.2.0rc1-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for bnbpy-0.2.0rc1-cp314-cp314-musllinux_1_2_x86_64.whl
bnbpy-0.2.0rc1-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details for bnbpy-0.2.0rc1-cp314-cp314-musllinux_1_2_aarch64.whl
bnbpy-0.2.0rc1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for bnbpy-0.2.0rc1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
bnbpy-0.2.0rc1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details for bnbpy-0.2.0rc1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
bnbpy-0.2.0rc1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for bnbpy-0.2.0rc1-cp314-cp314-macosx_11_0_arm64.whl
bnbpy-0.2.0rc1-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details for bnbpy-0.2.0rc1-cp314-cp314-macosx_10_15_universal2.whl
bnbpy-0.2.0rc1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for bnbpy-0.2.0rc1-cp313-cp313-win_amd64.whl
bnbpy-0.2.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for bnbpy-0.2.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl
bnbpy-0.2.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details for bnbpy-0.2.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
bnbpy-0.2.0rc1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for bnbpy-0.2.0rc1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
bnbpy-0.2.0rc1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for bnbpy-0.2.0rc1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
bnbpy-0.2.0rc1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for bnbpy-0.2.0rc1-cp313-cp313-macosx_11_0_arm64.whl
bnbpy-0.2.0rc1-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details for bnbpy-0.2.0rc1-cp313-cp313-macosx_10_13_universal2.whl
bnbpy-0.2.0rc1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for bnbpy-0.2.0rc1-cp312-cp312-win_amd64.whl
bnbpy-0.2.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for bnbpy-0.2.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
bnbpy-0.2.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details for bnbpy-0.2.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
bnbpy-0.2.0rc1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for bnbpy-0.2.0rc1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
bnbpy-0.2.0rc1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for bnbpy-0.2.0rc1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
bnbpy-0.2.0rc1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for bnbpy-0.2.0rc1-cp312-cp312-macosx_11_0_arm64.whl
bnbpy-0.2.0rc1-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details for bnbpy-0.2.0rc1-cp312-cp312-macosx_10_13_universal2.whl
bnbpy-0.2.0rc1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for bnbpy-0.2.0rc1-cp311-cp311-win_amd64.whl
bnbpy-0.2.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for bnbpy-0.2.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
bnbpy-0.2.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details for bnbpy-0.2.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
bnbpy-0.2.0rc1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for bnbpy-0.2.0rc1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
bnbpy-0.2.0rc1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for bnbpy-0.2.0rc1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
bnbpy-0.2.0rc1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for bnbpy-0.2.0rc1-cp311-cp311-macosx_11_0_arm64.whl
bnbpy-0.2.0rc1-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details for bnbpy-0.2.0rc1-cp311-cp311-macosx_10_9_universal2.whl
bnbpy-0.2.0rc1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for bnbpy-0.2.0rc1-cp310-cp310-win_amd64.whl
bnbpy-0.2.0rc1-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for bnbpy-0.2.0rc1-cp310-cp310-musllinux_1_2_x86_64.whl
bnbpy-0.2.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details for bnbpy-0.2.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl
bnbpy-0.2.0rc1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for bnbpy-0.2.0rc1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
bnbpy-0.2.0rc1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for bnbpy-0.2.0rc1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
bnbpy-0.2.0rc1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for bnbpy-0.2.0rc1-cp310-cp310-macosx_11_0_arm64.whl
bnbpy-0.2.0rc1-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details for bnbpy-0.2.0rc1-cp310-cp310-macosx_10_9_universal2.whl

Total release size: 232.6 MB

Release files / bnbpy-0.2.0rc1.tar.gz

Download URL bnbpy-0.2.0rc1.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
6ef1cf7207d5a6ba14d84ae2dc574f22a78e2deadffaedf41200cfabb94e3c43
BLAKE2b-256 checksum
How to use checksums
2a1acb354a6cde3e1ef3d703736279270307b2526534076011c8a42716d061f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp314-cp314-win_amd64.whl

Download URL bnbpy-0.2.0rc1-cp314-cp314-win_amd64.whl
Size 837.8 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
7cd27eaa23942acb19e4d04cba0dcdcd2d34c80d70764e43783ec5859fb83b4f
BLAKE2b-256 checksum
How to use checksums
31d7de5dee4aeab78d9fcbc7cfa1d043d6fc55e4e2c77d09b883e2c50f64af1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL bnbpy-0.2.0rc1-cp314-cp314-musllinux_1_2_x86_64.whl
Size 11.0 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
131032af61c7f99a42c3644e9f97d1d4b18d159aaf2a036c9f5ab68dab029603
BLAKE2b-256 checksum
How to use checksums
fca6047000779722f83557f0770828b1eef6c458f0bf5e5bb203aae5615ceabc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL bnbpy-0.2.0rc1-cp314-cp314-musllinux_1_2_aarch64.whl
Size 10.7 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
c56b613627ff70bfd9ae91223e4b93867140d2bd3e5e786745157763d98f8efd
BLAKE2b-256 checksum
How to use checksums
2256d43c1a73d88fc5a77f2729367814e16344f9bd794b0bf6ae097fa75a83f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL bnbpy-0.2.0rc1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 10.2 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
563b4cec0f580cb512131b9b47db9b8e39cdf1611904a939fac3cfc58f4c84ea
BLAKE2b-256 checksum
How to use checksums
22894cb6551f180217d2593318f6eca5fb6889a2c68c7b1a842747749d0d92c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL bnbpy-0.2.0rc1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 10.1 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f1cc81677eea0974ba42483715c92548f288fa964c9619ee0d8847c6aed44081
BLAKE2b-256 checksum
How to use checksums
3a0f58da8050008672f5444c8d0f388f6b2727ab4313361ebac33cbf18f25dd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp314-cp314-macosx_11_0_arm64.whl

Download URL bnbpy-0.2.0rc1-cp314-cp314-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
27bcc574e7903a5c71d97de2a782d17705ddc561dd72381de4fcf09508013316
BLAKE2b-256 checksum
How to use checksums
dc947e05497ce372bb8fc6a5b86750b5f5d0808b3cbd96deb83b14afe2045543
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp314-cp314-macosx_10_15_universal2.whl

Download URL bnbpy-0.2.0rc1-cp314-cp314-macosx_10_15_universal2.whl
Size 2.1 MB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
25329bfd2eb358f541499fe82f15736e7496c975cddecf2f1a318391b08e082d
BLAKE2b-256 checksum
How to use checksums
85d69bc5ecd6bea6af4f651811f9a5b6355f6e6e9aec6b2beb679219ec16ee13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp313-cp313-win_amd64.whl

Download URL bnbpy-0.2.0rc1-cp313-cp313-win_amd64.whl
Size 834.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
c3468abdda34432bb30050a3103d4493ee57ff200b50f8f91f67e8692251eaa9
BLAKE2b-256 checksum
How to use checksums
c6a070b44c572ef712419bd43e1e3a1073ec620077e1bcb2168b34dce26c03f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL bnbpy-0.2.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 11.0 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d83e88a42ce3b45f1adbd9367e00d2068671bb09ff3f4d25503304b20dd2f1c7
BLAKE2b-256 checksum
How to use checksums
1903483d2f8fa053010bdd0f962b9515af2383425038a3ccb61a9d2a187a4fe5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL bnbpy-0.2.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
Size 10.8 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
ae6cfb4e6d28a4dfff1b3a0113a3f6dede3f787633582b59f0cc0d7511ede2c3
BLAKE2b-256 checksum
How to use checksums
faccd5e17e99ad13ab4dfc050b09b7150d9ddd402a6524db0c4a372bdab5fa70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL bnbpy-0.2.0rc1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 10.2 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
48f7c71d1856f41b9dfbb977d0b86d17f734b654942c8207d5475dba1c32e970
BLAKE2b-256 checksum
How to use checksums
1ffc6764b7bbc89f09ef7a5c141ff85ba1b7064e95c2e8ac6908abe49e0eae25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL bnbpy-0.2.0rc1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 10.1 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ff8ff8c19a907530ab1ad3522f4dfedbc50d73a90c0fe7818532c6a4d7605564
BLAKE2b-256 checksum
How to use checksums
7b5ffd1498e2c4a44fe645d9d2b2beda0745997b19569a13a8edbde3ff21c8de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp313-cp313-macosx_11_0_arm64.whl

Download URL bnbpy-0.2.0rc1-cp313-cp313-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b7d49325ccb642507d2ff911d50ff20602a2876f1b753b3e5d21a5c160cb246c
BLAKE2b-256 checksum
How to use checksums
c71ba8c6adf8f09099dcea6a12da1df85e003f32addd675f018cbdd1277464e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp313-cp313-macosx_10_13_universal2.whl

Download URL bnbpy-0.2.0rc1-cp313-cp313-macosx_10_13_universal2.whl
Size 2.0 MB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
2e117070102eb5b825a6d574eb2951f33f451abb3eebd16c341e54de10ddeb61
BLAKE2b-256 checksum
How to use checksums
3dc7242fb8f1a45f2fb966b6d30643a70466affa8c6e2b49c80a617d0a5fef7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp312-cp312-win_amd64.whl

Download URL bnbpy-0.2.0rc1-cp312-cp312-win_amd64.whl
Size 844.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f30d2f7a80224285d1298b01d4d3ce25b56bc58b8a324de19e3028feb5ed234b
BLAKE2b-256 checksum
How to use checksums
6cd6392c62856c501b270b752c8d0546c297a7ccff6363e8696efb1670ac7cc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL bnbpy-0.2.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 11.1 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e89d83ea2cc30cbdd3c933048d46212788440b08a739c728ff42b40f96ae9c9a
BLAKE2b-256 checksum
How to use checksums
6d2f5eb5f5ff328cad8b3c3d97e6c208efa5c105021b79f7bb0b002bd0264624
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL bnbpy-0.2.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
Size 10.9 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
61dd2392cce528a8907adac9085e438d50c1ecb7ed72efe3cb3896aacf67d079
BLAKE2b-256 checksum
How to use checksums
3a781e73a7e8bdef6ebdb447732799d1507efb6f12e50d53b86f418c7598446c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL bnbpy-0.2.0rc1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 10.3 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ca00dfcf9498bdafe251431e53a9821653483b0b4141911cd34e1ffec03305a7
BLAKE2b-256 checksum
How to use checksums
557659e9d40e78d44e3ce7dcada7bc3bd1d5f76055f3d9c15342a5680565232f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL bnbpy-0.2.0rc1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 10.2 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
02dbc0175cfe62e9675d0acfba1cd0b2b79d2647c3b62eb453565d8744ef5e4e
BLAKE2b-256 checksum
How to use checksums
7d8699204dca424b4c6ca70117fd1755cf702da5ef6d9bd511ffb06262a28530
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp312-cp312-macosx_11_0_arm64.whl

Download URL bnbpy-0.2.0rc1-cp312-cp312-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
895fe91f9ff79704203d0724ea7d8f517fd945c149926fc7888be34da93b6d25
BLAKE2b-256 checksum
How to use checksums
15a83dbdb78526161b294bf459eb223e9fb83587148ea3cac54fca52d3542490
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp312-cp312-macosx_10_13_universal2.whl

Download URL bnbpy-0.2.0rc1-cp312-cp312-macosx_10_13_universal2.whl
Size 2.1 MB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
3eb7f0e5658d9932a0c8ea290c096c8c220c775c136ab1c6eb59015edc7f6482
BLAKE2b-256 checksum
How to use checksums
aa75a50a2be31bf37ba59215c3071eec402c8e4837171471b6cf5c95cf548098
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp311-cp311-win_amd64.whl

Download URL bnbpy-0.2.0rc1-cp311-cp311-win_amd64.whl
Size 849.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e30bbffa28b0385d5c4aae85b85e6a18008e34e2c44ecf13b7e6dd9dff104651
BLAKE2b-256 checksum
How to use checksums
4964c601033cbe4a30cd730f627f63e9b7ada0e37fb929d07969b251d7b7a298
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL bnbpy-0.2.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 11.1 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
3faf27cc1988f463ed5c9c1f6d4b15dc9ce7206ba9fa2591521760be720e380c
BLAKE2b-256 checksum
How to use checksums
a628d64fd0bc9582cbe499d185fb28d7ed0092c7310b5d18587c7b7c4d1d8693
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL bnbpy-0.2.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
Size 10.9 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
e0c357cf076d4dcefa7cebc61b6f385dc72fad3b917aa922553bc0f448a340c1
BLAKE2b-256 checksum
How to use checksums
8950ddc6302233459f5b35c817cf832f36df5157f2ca3628a1f69c004bab0cc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL bnbpy-0.2.0rc1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 10.3 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
94582e39d3a55e34b006907159ba0fd970a8f236ac6ee5e708ce7c73bbb186bd
BLAKE2b-256 checksum
How to use checksums
5ff57c3a438800ea32739bddab2e6d53ba7900d8c48016ab4d40f407836f8090
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL bnbpy-0.2.0rc1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 10.2 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
fe075d0833d6f4d978f73aa1bc53c97918a7593d34bbcd6c689edae40630fea7
BLAKE2b-256 checksum
How to use checksums
46cdf5fd8244dfab6a1fc3c9955145880fdddf5ff5c67fad35af99702d3da425
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp311-cp311-macosx_11_0_arm64.whl

Download URL bnbpy-0.2.0rc1-cp311-cp311-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
930a2bfd16e32dc68c1630fbf08caf555164961de5becdd0fd9856c3d7ec8c27
BLAKE2b-256 checksum
How to use checksums
7ea5baf4d79fdec2fb2417741498c11107222888c5773a5576ca91a42fe6c2e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp311-cp311-macosx_10_9_universal2.whl

Download URL bnbpy-0.2.0rc1-cp311-cp311-macosx_10_9_universal2.whl
Size 2.1 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
e26e947bfe9f9ad5d42bd02acb0c695d01639f0d2bac56d6d8cb6e242e182406
BLAKE2b-256 checksum
How to use checksums
b9102bbc69ac5a0390c16bcd57366eed583409fccb01ce26f6a3a9694c31612a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp310-cp310-win_amd64.whl

Download URL bnbpy-0.2.0rc1-cp310-cp310-win_amd64.whl
Size 851.3 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
f7b24b7e5ff4f2e13b45621ea12927f258602e803c5184dee48c8eeb8a23b5cd
BLAKE2b-256 checksum
How to use checksums
eadfa5dfb64746214afe370d2bf78d313365071fa36b2d82a106570b21722f84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL bnbpy-0.2.0rc1-cp310-cp310-musllinux_1_2_x86_64.whl
Size 10.9 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
791d07762c6c746f8247fabfdf77f2b3aba740b288ed37d68df456887fa9a25c
BLAKE2b-256 checksum
How to use checksums
bc4d6916c1f5f1ef9d4dc7420ae61d551eed1dc780d96a1d4570beb2fe8947f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL bnbpy-0.2.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl
Size 10.7 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
fde59039ac6659011497a37a05c7de998712c672a311f3be8da47aba858e0afd
BLAKE2b-256 checksum
How to use checksums
5f36cc3f6ccf60882bdcece39338427cece079e3b584d0a908bba731a41e7695
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL bnbpy-0.2.0rc1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 10.1 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e06ab85d991fdd2da82e1db9a37c4bd80319f03f69e903bac35ac314f2978936
BLAKE2b-256 checksum
How to use checksums
79ed6d7a730c72bf206df8f17bd74be00d651d71c8ad0e6fdfaf647ec4bd99f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL bnbpy-0.2.0rc1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 10.0 MB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d5a6375db2b7503eee6a28b36cd4500e5f1f73f0a2eed5427acff64a789eb934
BLAKE2b-256 checksum
How to use checksums
99060a350842360c036bd0241a79d73f2cd4b3ec1416a1cb631b6e1a8b8dbda8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp310-cp310-macosx_11_0_arm64.whl

Download URL bnbpy-0.2.0rc1-cp310-cp310-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1b298a28e92980f9c331568f787dee42fd501bff878dbdc93c7c4a11baba2895
BLAKE2b-256 checksum
How to use checksums
93daa4045603ea6d3908642bfc67232975573ff2fb4fc46f92e63016176c2efa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / bnbpy-0.2.0rc1-cp310-cp310-macosx_10_9_universal2.whl

Download URL bnbpy-0.2.0rc1-cp310-cp310-macosx_10_9_universal2.whl
Size 2.1 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
132ae2c84922c9cbd625956eb6fad3a222da653d55efb19233fdb50e5d48ce1d
BLAKE2b-256 checksum
How to use checksums
188f79e7e0d7b966f60260883daeafb1189bd4cc3af949953bee0761c6774a66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for bnbpy 0.2.0rc1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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