rectangle-packer
Pack a set of rectangles into a bounding box with minimum area
Decision gist · record as of 2026-08-14
Yes. The package is stable (Production/Stable status), actively maintained, has no known vulnerabilities, and solves a well-defined problem with a clean API. The medium install friction is offset by precompiled wheels for common platforms and Python versions. Install it if you need to pack rectangles efficiently.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Medium install friction due to compiled wheels for multiple platforms and Python versions (3.9–3.14).
- Active maintenance with recent release (155 days ago) and no known vulnerabilities.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions.
last release 2026-03-12 (155 days) · last repo commit 2026-03-12 · 77 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 207,686 downloads/mo, #9,544 on PyPI
Alternatives
Verify before relying
python3 -m pip install rectangle-packer
Import the module and call pack() with a list of (width, height) tuples to get (x, y) coordinates for each rectangle's lower-left corner.- Whether the packing algorithm guarantees optimal solutions or uses a heuristic approach.
- Performance characteristics (time/space complexity) for large numbers of rectangles.
- Whether rectangles can be rotated or only placed in fixed orientations.
What it is and what it does
rectangle-packer is a Python library that solves the 2D rectangle packing problem: given a collection of rectangles with fixed dimensions, it arranges them into a bounding box with minimal area and no overlaps. The package is implemented in C for performance and exposes a simple Python API that takes a list of (width, height) tuples and returns the (x, y) coordinates where each rectangle should be placed.
The library targets developers working on layout problems in graphics, game engines, texture atlasing, or any domain requiring efficient spatial arrangement of rectangular objects. It has no runtime dependencies and supports modern Python versions (3.9 through 3.14) across Linux, macOS, and Windows with precompiled wheels.
Use it for
- Generate texture atlases for game engines by packing sprite sheets into minimal-area canvases.
- Optimize UI layout in graphics applications by arranging rectangular elements with minimal wasted space.
- Arrange rectangular bins or containers in warehouse or logistics planning simulations.
- Pack rectangular images or tiles into a single image file for efficient storage and rendering.
- Solve bin-packing problems in manufacturing or material-cutting scenarios.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is stable (Production/Stable status), actively maintained, has no known vulnerabilities, and solves a well-defined problem with a clean API. The medium install friction is offset by precompiled wheels for common platforms and Python versions. Install it if you need to pack rectangles efficiently.
Install
rectangle-packer on PyPI
Before you install
Medium install friction due to compiled wheels for multiple platforms and Python versions (3.9–3.14). Active maintenance with recent release (155 days ago) and no known vulnerabilities.
Requires Python 3.9 or later.
License in practice
MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions.
Quickstart
python3 -m pip install rectangle-packer
Import the module and call pack() with a list of (width, height) tuples to get (x, y) coordinates for each rectangle's lower-left corner.
Verify before relying
- Whether the packing algorithm guarantees optimal solutions or uses a heuristic approach.
- Performance characteristics (time/space complexity) for large numbers of rectangles.
- Whether rectangles can be rotated or only placed in fixed orientations.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 155 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 207,686 / month, #9,544 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: MacOSOperating System :: Microsoft :: Windows :: Windows 10Operating System :: POSIX :: LinuxProgramming Language :: CProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPython |
Evidence: rectangle_packer-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl; rectangle_packer-2.1.0-cp311-cp311-macosx_11_0_arm64.whl; rectangle_packer-2.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; rectangle_packer-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; rectangle_packer-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl; rectangle_packer-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl; rectangle_packer-2.1.0-cp311-cp311-win32.whl; rectangle_packer-2.1.0-cp311-cp311-win_amd64.whl; rectangle_packer-2.1.0-cp312-cp312-macosx_10_13_x86_64.whl; rectangle_packer-2.1.0-cp312-cp312-macosx_11_0_arm64.whl; rectangle_packer-2.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; rectangle_packer-2.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; rectangle_packer-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl; rectangle_packer-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl; rectangle_packer-2.1.0-cp312-cp312-win32.whl; rectangle_packer-2.1.0-cp312-cp312-win_amd64.whl; rectangle_packer-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl; rectangle_packer-2.1.0-cp313-cp313-macosx_11_0_arm64.whl; rectangle_packer-2.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; rectangle_packer-2.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
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 › “rectangle layout optimization”
- rectangle-packerPacks a set of rectangles with fixed orientations into a minimal-area…
- rectpackRectpack solves the 2D bin packing problem by arranging rectangles…
- squarifyComputes treemap layout rectangles from a list of values using the…
Give your agent the search over MCP, or paste the wish link into any chat.
More Mathematics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
kiwisolver is a Python binding to a fast C++ implementation of the Cassowary constraint solver, enabling you to solve systems of linear constraints and inequalities.
Install it if you need to solve constraint systems; skip it if you only need simple linear algebra.
SymPy is a Python library for symbolic mathematics, performing algebraic manipulation, calculus, equation solving, and mathematical expression simplification without numerical approximation.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
PyTorch provides GPU-accelerated tensor computation and automatic differentiation for building and training deep neural networks in Python.
onnxruntime loads and executes Open Neural Network Exchange (ONNX) models with a focus on inference performance across CPUs and accelerators.
Install it if you have ONNX models to run in production or development.
See also pybboxes · rectpack · squarify · quadrilateral-fitter · PyRect · py3dbp · binpacking · prtpy · qrdet · PyWinBox