py3dbp
3D Bin Packing
Decision gist · record as of 2026-08-14
Yes, if you need a straightforward 3D bin packing solver and can tolerate source-only installation. The algorithm is well-established, the code is permissive-licensed, and there are no known vulnerabilities. However, the package is dormant (last release 2020-07-04, no commits since 2023-12-14), so expect no active maintenance or bug fixes. Suitable for one-off scripts or embedded use where you control the environment; less suitable if you need ongoing support or expect to integrate it into a production system requiring updates.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- High install friction: distributed as a source tarball with no runtime dependencies but no wheel or prebuilt binary.
- Last release was 2020-07-04; repository is dormant but not archived, with 458 stars indicating some community use.
License · maintenance · safety
permissive license (permissive) — MIT license (permissive) means you can use, modify, and distribute this code freely in commercial and private projects with minimal restrictions.
last release 2020-07-04 (2232 days) · last repo commit 2023-12-14 · 458 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 817,546 downloads/mo, #4,983 on PyPI
Alternatives
Verify before relying
pip install py3dbp
from py3dbp import Packer, Bin, Item
packer = Packer()
packer.add_bin(Bin('box', 11.5, 6.125, 0.25, 10))
packer.add_item(Item('item', 3.9370, 1.9685, 1.9685, 1))
packer.pack()
for b in packer.bins:
print(b.items) # fitted items
print(b.unfitted_items) # items that did not fit- Whether the algorithm guarantees optimal packing or uses a heuristic approach
- Performance characteristics on large problem instances (number of items/bins)
- Python version compatibility beyond the generic 'Python 3' classifier
What it is and what it does
py3dbp implements a 3D bin packing algorithm that takes a list of rectangular items with dimensions and weight, and attempts to fit them into a set of rectangular bins also with dimensions and weight limits. It is based on an academic paper and a Go implementation, offering two main distribution modes: either distribute items across all available bins to minimize bin usage, or attempt to pack all items into each bin sequentially and report what fits and what doesn't.
The package provides a simple API: create a Packer, add Bins and Items with their dimensions and weights, call pack() with optional parameters to control sorting order (smallest-first or biggest-first) and decimal precision (default 3), then inspect which items fit into each bin and which remain unfitted. It handles the geometric constraint satisfaction internally.
Use it for
- Optimize warehouse or shipping logistics by determining how to pack orders into available box sizes
- Calculate container loading for logistics companies to minimize wasted space and shipping costs
- Solve resource allocation problems where items must fit into fixed-size containers with weight limits
- Prototype bin packing heuristics for supply chain or manufacturing planning systems
- Validate whether a given set of items can physically fit into available storage or shipping containers
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need a straightforward 3D bin packing solver and can tolerate source-only installation.
The algorithm is well-established, the code is permissive-licensed, and there are no known vulnerabilities. However, the package is dormant (last release 2020-07-04, no commits since 2023-12-14), so expect no active maintenance or bug fixes. Suitable for one-off scripts or embedded use where you control the environment; less suitable if you need ongoing support or expect to integrate it into a production system requiring updates.
Install
py3dbp on PyPI
Before you install
High install friction: distributed as a source tarball with no runtime dependencies but no wheel or prebuilt binary. Last release was 2020-07-04; repository is dormant but not archived, with 458 stars indicating some community use.
License in practice
MIT license (permissive) means you can use, modify, and distribute this code freely in commercial and private projects with minimal restrictions.
Quickstart
pip install py3dbp
from py3dbp import Packer, Bin, Item
packer = Packer()
packer.add_bin(Bin('box', 11.5, 6.125, 0.25, 10))
packer.add_item(Item('item', 3.9370, 1.9685, 1.9685, 1))
packer.pack()
for b in packer.bins:
print(b.items) # fitted items
print(b.unfitted_items) # items that did not fit
Verify before relying
- Whether the algorithm guarantees optimal packing or uses a heuristic approach
- Performance characteristics on large problem instances (number of items/bins)
- Python version compatibility beyond the generic 'Python 3' classifier
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Dormant 2,232 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 817,546 / month, #4,983 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 |
Evidence: py3dbp-1.1.2.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “3d bin packing algorithm”
- py3dbpSolves the 3D bin packing problem by fitting items into bins while…
- rectpackRectpack solves the 2D bin packing problem by arranging rectangles…
- binpackingDistributes weighted items into bins using greedy algorithms, either…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also binpacking · rectpack · prtpy · rectangle-packer · optbinning · PyRect · directsearch · munkres · ipfn · pwlf