bnbpy
A generic, configurable Python framework for solving optimization problems using Branch & Bound. Also supports Column Generation and Branch & Price.
Configure | Usage | Base Problems | Development | Contact
See more examples in the notebooks folder:
- Single Machine Scheduling
- Permutation Flow Shop
- Permutation Assembly Flow Shop
- MILP
- Cutting Stock
- Graph Coloring
- Lot Sizing
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 and extension settings are in pyproject.toml.
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 if not fathomed
pass
# Apply Branch & Bound
problem = MyProblem()
bnb = BranchAndBound()
bnb.solve(problem)
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.
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)
bfs = BranchAndBound()
sol = bfs.solve(milp)
print(f"Sol: {sol} | x: {sol.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()
# The commercial solver Gurobi took 600s (timeout) to find the near-optimal
# solution 1432
sol = bnb.solve(
problem, maxiter=1000000, timelimit=600
)
print(sol)
# >>> Status: OPTIMAL | Cost: 1431 | LB: 1431
plot_gantt(sol.sequence, figsize=[8, 3])
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 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
bnb = BranchAndBound()
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,
)
sol = bnb.solve(problem, maxiter=1000)
print(sol)
# >>> Status: OPTIMAL | Cost: 17 | LB: 17
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.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| bnbpy-0.1.0.tar.gz | 1.3 MB | Without provenance | Details for bnbpy-0.1.0.tar.gz |
Built distributions (wheels)
Total release size: 337.9 MB
Release files / bnbpy-0.1.0.tar.gz
| Download URL | bnbpy-0.1.0.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
750da1ec4dd4c91ccd9187b8bb1355c218d5fd145f70c680009820ef4f717c1f
|
|
BLAKE2b-256 checksum How to use checksums |
f862b07d04e4b4ccec59fb21a084466b8b42b9cb4f34c6db4f2ac7129a6e527f
|
| 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.1.0-cp314-cp314-win_amd64.whl
| Download URL | bnbpy-0.1.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 720.3 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
be37c4d2c313a4e5a7dd333800459b7fc5665af45a5a1792667f2cb700b6bb27
|
|
BLAKE2b-256 checksum How to use checksums |
c70a4a19f60a7ce783ef9f759bf15bd68d1838f516b605a25afc3bf380ab160a
|
| 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.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | bnbpy-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 16.4 MB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
8eb3decaa61f8a547efe1771f155506bb39774eeec4665a68207254aab214bea
|
|
BLAKE2b-256 checksum How to use checksums |
619c6b6fa9477734505f970bf4c458cbf42182677013c5052b341dd020942c44
|
| 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.1.0-cp314-cp314-musllinux_1_2_aarch64.whl
| Download URL | bnbpy-0.1.0-cp314-cp314-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 16.0 MB |
| Tags | CPython 3.14 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
a3bea574bee0b2b7c3a136ecb287aeed722cb77683928d176f53321dacb3da62
|
|
BLAKE2b-256 checksum How to use checksums |
2015cc8f9d4c4698e3b9c006b8ad464e164f6f3b9bbe4a96d20b81954147efea
|
| 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.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | bnbpy-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
26ea69b0a3e2f945c7067d787ea03bc3e3be9d718dbe787246be71c51fe2e447
|
|
BLAKE2b-256 checksum How to use checksums |
7166bd8b764bc73ceaf425106538fe4b1c9e6d9e844e3debf1b2e1f744965040
|
| 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.1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | bnbpy-0.1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
877de23e823c4cc61044b69a22913f4be4d1e025b431658735ebb43625447fe7
|
|
BLAKE2b-256 checksum How to use checksums |
f851b12b95e9b8476abc9de2ccda10ff24df3c0730062b8a4ded6eec6fbccbac
|
| 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.1.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | bnbpy-0.1.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e2835a2a75972951fb8af88a046f3ed7ba234bc8b82ab9a023133e59b3ee5f22
|
|
BLAKE2b-256 checksum How to use checksums |
df4ea2e9f74d870433def03e6ae615a30830b4f25623d74897ee527ec14b6ea6
|
| 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.1.0-cp314-cp314-macosx_10_15_universal2.whl
| Download URL | bnbpy-0.1.0-cp314-cp314-macosx_10_15_universal2.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
3f53f04f0ea4e7f71dad445ccda4439701bcf81ea19b7774d68f664d2c508e89
|
|
BLAKE2b-256 checksum How to use checksums |
f2f0db210bf0e913baaf512cd85f6bb3c67c7e8ea805d759fd7a2188189f25b9
|
| 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.1.0-cp313-cp313-win_amd64.whl
| Download URL | bnbpy-0.1.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 703.5 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2bc3c3310acd967059da7345f6120718fbd32da9c6f7e1180cfce8369e661ee6
|
|
BLAKE2b-256 checksum How to use checksums |
623cce1eb8ea4de067103b0df99873412d364c353cca741ff569a80acb913f84
|
| 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.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | bnbpy-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 16.4 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
a9432abf0e0b2a1135ffa8a2d44f596c2783b30e040990a9eb83aaef5d7f412c
|
|
BLAKE2b-256 checksum How to use checksums |
e721a6e56f938bcd990c0fb77f9acb76adc341118a6bd7bdca969e6b0f08a752
|
| 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.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
| Download URL | bnbpy-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 16.0 MB |
| Tags | CPython 3.13 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
779ad57249823db3be3c4581decebe60589940061023c5e78f4cbfeacfeb54f9
|
|
BLAKE2b-256 checksum How to use checksums |
df462bf17cfc69aff13444da6ca90b54890f4e7ced32766b0384e7b7ccfe8809
|
| 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.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | bnbpy-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e88f7ce74a741f972ad8a7fbb2074f6c7dc1cfb7183860ac01951fa3cc865cb3
|
|
BLAKE2b-256 checksum How to use checksums |
c975c93570de0a9750943a6aa3588219f370baa9326871cbcaaa0da8fb2fb360
|
| 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.1.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | bnbpy-0.1.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
943952b85c1b93f390ebda928370cefffc4c4ef311e59adf521ae3338032a34b
|
|
BLAKE2b-256 checksum How to use checksums |
512343278a2d30c4ebb65abb8c524f9041f09cf15d81e402dac1d10ce40d4a79
|
| 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.1.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | bnbpy-0.1.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8a75a12fb153885d905211b283ae9738c9e09e73dd79309beaf4d4e19eecbe9c
|
|
BLAKE2b-256 checksum How to use checksums |
a6aca02a6739ef2fddee888e2cd01442c5bb2bd5081725d49c4f16e7d75a2a6b
|
| 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.1.0-cp313-cp313-macosx_10_13_universal2.whl
| Download URL | bnbpy-0.1.0-cp313-cp313-macosx_10_13_universal2.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
99c06b951a055cdf9aec666bbc2ec18a9d044c1bb7ef8f755cd818ad137a67ce
|
|
BLAKE2b-256 checksum How to use checksums |
e37f937048dc17868fa9c1b56525f151f2efa6552bbd00c613b1343afc3c146f
|
| 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.1.0-cp312-cp312-win_amd64.whl
| Download URL | bnbpy-0.1.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 710.4 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1f87ef728e7595bbae87df6299c63293f80e0f07035520fe70f1ff90896f662a
|
|
BLAKE2b-256 checksum How to use checksums |
23cb074d5f003354d6525be5cd4dc5f7fe2d1107490c369e8b1fe4f68fd667b9
|
| 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.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | bnbpy-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 16.5 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
95c1de2a631bffba8c7a9c9837b2ef69c412e20262eced0ab019cb5e81eaa818
|
|
BLAKE2b-256 checksum How to use checksums |
ad2f685513daf1ed388c96c9ae7a7398b0a7778c94af8bde594030d646423135
|
| 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.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
| Download URL | bnbpy-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 16.1 MB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
ba8f067b641574a1042851da113ec04f0e127f0def8131b63042631807309c30
|
|
BLAKE2b-256 checksum How to use checksums |
25497a40154c7ad2e5c8b7902625fedebebfb52abad0a1cbe0577bbc18f99457
|
| 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.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | bnbpy-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.8 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c9d763e3a6d32ea2b9f1c35f2c625c0e67dff1b5c32c28a5675d3530e1950713
|
|
BLAKE2b-256 checksum How to use checksums |
bbaf1c3b41ad240f8aea7d2b9d3d25034f42f965c5c0624a15c4ea9cb329817d
|
| 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.1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | bnbpy-0.1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 15.6 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
58d6fd6c95f40d5ebf013c3cbd00d668f0258e722f8c9e03e6f22977083cab63
|
|
BLAKE2b-256 checksum How to use checksums |
23f486f9a600a1c1deb332d3f74ba86724b94e04fda1a90ca59dd50efe124c53
|
| 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.1.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | bnbpy-0.1.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b9c429dc4003444843cb3f681869f8c1b75a39cf09db6e069f8bf0ba2dce15f1
|
|
BLAKE2b-256 checksum How to use checksums |
f298c42cd50e10c2ab78d2cd6f5e211f8dd2c37520f5c9d88e8609162c54f154
|
| 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.1.0-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | bnbpy-0.1.0-cp312-cp312-macosx_10_13_universal2.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
4fa49b504f36b3b5ba0a8c7e490b59f722e372b733892b3202c8e23bdee15451
|
|
BLAKE2b-256 checksum How to use checksums |
bc271a15ac5129440894f6a5d6a1ca4c557d266df3089ef002bcc7dfe3f0e626
|
| 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.1.0-cp311-cp311-win_amd64.whl
| Download URL | bnbpy-0.1.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 716.2 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c693c66bd88d4ca5f07bb3d4c180d10c577ead572530b2405461e385cefde162
|
|
BLAKE2b-256 checksum How to use checksums |
876daceb9ec8bdb86baae1445d46b48591116b2ae4928ee8f442fef138882199
|
| 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.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | bnbpy-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 16.5 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
10ac511fc2462c66a68443951e2a5c70a95b245fefcf7371346b42cd79bc0c71
|
|
BLAKE2b-256 checksum How to use checksums |
dd5567c80d3318e1fedecee846e4d0dd66a42fcf070e9b5e55b65d1bec60fb14
|
| 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.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | bnbpy-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 16.1 MB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
9eb993512436fd1df0940ec703bceff703186486d518a2a8cd49aa6065ce256e
|
|
BLAKE2b-256 checksum How to use checksums |
6f649604e374bcf8f041c8e946766179e326c4ebb781728dc95ad085e58b832e
|
| 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.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | bnbpy-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
bc63833b93b982f6260da115034cf6c0675fe9ec4eda4d97be530029b9dd42e7
|
|
BLAKE2b-256 checksum How to use checksums |
8daa04b8fb3fc8dc26c24c278acf4f9e11cc97d90ea500427e4fc6ff1626b5ac
|
| 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.1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | bnbpy-0.1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
2f50aa5444544c63a027a0cc0f9cd859c4eb640328ff27463fde6ebaebdea8bc
|
|
BLAKE2b-256 checksum How to use checksums |
5af3a576844574de4223abbb01a4f244d5c6e14bfa64a7c3b85b9212cad0ff9e
|
| 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.1.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | bnbpy-0.1.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
49cc57a1a7e664c5371fb7de1a878153a7678feb6630516b693d9203f61703f4
|
|
BLAKE2b-256 checksum How to use checksums |
ba0b56fbe3060df26dac272a992183675507ba547fd3506f13c6dbe8b5f56e39
|
| 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.1.0-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | bnbpy-0.1.0-cp311-cp311-macosx_10_9_universal2.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
1741d1f053a5364a0490bccf94f7524becb013c5c02eb918cb6cbde77336866b
|
|
BLAKE2b-256 checksum How to use checksums |
e64e4b0e37784668a30e3b8ce517dac3e629b62a16a5e55555b651dec6657c33
|
| 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.1.0-cp310-cp310-win_amd64.whl
| Download URL | bnbpy-0.1.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 711.4 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0c4965e5c7cdc05b4e0ce5a49ac560b956e4c24e5afa1dbfad40a89e695b24ca
|
|
BLAKE2b-256 checksum How to use checksums |
b965466526dbb9bd6743902a904755dfef63ffa5ddbb2f4d4f692c174571887f
|
| 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.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | bnbpy-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 16.3 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
d70e1b0b935bbbce63156cd9ca9e04bfd45840cc2f1874da9da794a7ac684cdf
|
|
BLAKE2b-256 checksum How to use checksums |
cf6557f88cd9b1a9c9c1f3f3df8b27bc941ae3550ea5798e896afa311ea6c08c
|
| 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.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
| Download URL | bnbpy-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 15.9 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
fdff92efc6cf1796f2faea0d173b5c45820351f4ff29283f187641989cafbcda
|
|
BLAKE2b-256 checksum How to use checksums |
8a55c7deccdf22f31777cde76ff43678959433ed0b28b2f7bdc4fbd6303b5790
|
| 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.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | bnbpy-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7d22a75fcdd51f1ae91dd0a6f1b3c83e1c76726eac05b76924e950cd410009b3
|
|
BLAKE2b-256 checksum How to use checksums |
bc2cba4df4c6713aee7aafaa2d5309960438225a94ce7130e9d2bf5c53e5a972
|
| 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.1.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | bnbpy-0.1.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 15.3 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
fd7ea73907240315b30846733dae3fd41a97b956536cca6882ee677b8f24562d
|
|
BLAKE2b-256 checksum How to use checksums |
754479647b928f1cab2a9be9b5048f53eb7c8c8b935ebcb1659bd4a4d64771da
|
| 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.1.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | bnbpy-0.1.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c5d33780af08c177692775f0066ce5b2a2001c2841fbbd7f58d88779c2d1bf68
|
|
BLAKE2b-256 checksum How to use checksums |
75db0a97c9dab73d40a003facb40bba1b940d898c7e2e62bcbb9a1242169cc69
|
| 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.1.0-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | bnbpy-0.1.0-cp310-cp310-macosx_10_9_universal2.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
fccc3c22279fc2fa75f47f2563d28cedfed386c10324559e1fe2b3bfee23aefe
|
|
BLAKE2b-256 checksum How to use checksums |
3c4563e22e9211906e8e44ab7d9f67a6a03e6fbfe086a5f989f8c3013f28339c
|
| 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.1.0
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.