Skip to main content

fastrectpack

PyPI ci wheels License: Apache-2.0 Python 3.9 to 3.13

A drop-in accelerator for rectpack, the pure-Python 2D rectangle packing library. The MaxRects packing algorithms are re-implemented in C++17 and produce exactly the same packings as the original, 5x to 246x faster on the 14 integer benchmark workloads and more on large single-bin jobs. Sizes can be Python ints, floats, numpy.float64 or numpy.int64.

# before
from rectpack import newPacker
# after: nothing else changes
from fastrectpack import newPacker

Headline numbers

Default newPacker() settings. Times are the best recorded run; full method and all 14 cases are in BENCHMARKS.md.

Workload Rectangles Original rectpack Pure-Python fixes only fastrectpack (C++) Speedup
random sizes 1,000 3.525 s 0.473 s 0.0144 s 246x
random sizes 5,000 21.123 s 3.738 s 0.1364 s 155x
few large, many small 1,000 1.360 s 0.243 s 0.0102 s 133x
sprite sizes 2,000 1.500 s 0.322 s 0.0177 s 85x
sheet cutting, 100 bins 2,000 0.415 s 0.214 s 0.0780 s 5x

Two things to read from this table:

  • Part of the win needs no C++. A better algorithm in plain Python gives 1.7x to 7.5x on its own (the "Pure-Python fixes only" column). The C++ port supplies the rest.
  • The gain depends on the workload. Jobs that spread rectangles over many bins gain about 5x, because the bin-selection loop is still Python. See "What is not faster" below.

Float and numpy sizes (new in 0.2.0)

One bin, MaxRectsBlsf, no rotation: the settings the gdsfactory chip-layout package uses, which passes integer rectangle sizes and a numpy.float64 bin size. Best of 7 interleaved rounds (3 at 1,000 rectangles).

Input Rectangles Original rectpack fastrectpack (C++) Speedup
int rectangles, numpy.float64 bin (gdsfactory) 300 0.633 s 0.0022 s 284x
int rectangles, numpy.float64 bin (gdsfactory) 1,000 20.612 s 0.0173 s 1193x
float rectangles and bin 1,000 20.272 s 0.0148 s 1374x
numpy.int64 rectangles, int bin 1,000 27.063 s 0.0156 s 1734x

The output is identical, including the type of every number. These ratios are larger than the ones above because everything goes into a single bin, where the original's cost grows fastest. gdsfactory's own _pack_single_bin function, run unmodified with fastrectpack in place of rectpack, returned identical results 12x (50 rectangles) to 335x (500 rectangles) faster, timed once each.

The benchmark machine is a laptop that drops into slow phases (probably thermal throttling), so absolute seconds vary by up to about 2.3x. Best-time speedup ratios agreed to roughly 10% between full runs.

Dumbbell chart of the speedup over the original rectpack for 14 workloads, log scale. Pure-Python fixes alone give 1.7x to 7.5x; the C++ version gives 5x to 246x, with output identical in every case. Jobs that spread rectangles over many bins gain about 5x. The same numbers are in the tables in this README and in BENCHMARKS.md.

Install

pip install fastrectpack

Prebuilt wheels cover CPython 3.9 to 3.13 on Linux x86_64 (manylinux), Windows x86_64 and macOS arm64 (Apple silicon). Other platforms (Linux ARM, Intel Macs, Alpine/musl) and Python 3.14 are untested and build from the source distribution, which needs CMake 3.15+ and a C++17 compiler (MSVC 2019+, GCC 9+ or Clang 10+). From a checkout: pip install .. rectpack==0.2.2 is installed as a dependency.

Usage

Identical to rectpack:

from fastrectpack import newPacker

packer = newPacker()
for width, height in [(100, 30), (40, 60), (30, 30), (70, 70), (100, 50), (30, 30)]:
    packer.add_rect(width, height)
packer.add_bin(300, 450)
packer.pack()

for bin_index, x, y, w, h, rid in packer.rect_list():
    print(bin_index, x, y, w, h)

fastrectpack re-exports everything rectpack exports. MaxRectsBl, MaxRectsBssf, MaxRectsBaf and MaxRectsBlsf are replaced by accelerated subclasses of the originals; everything else is the original object.

How it works

The four MaxRects classes subclass the originals and run the algorithm in a small C++17 core while every size is a Python int, a Python float, a numpy.float64 or a numpy.int64. Results have the same values and the same types as the original returns. Anything else falls back, for good, to the original Python code for that object.

Profiling the original showed about 90% of its time in one step that compares every pair of free rectangles after each placement. The port compares only the pairs that involve newly created rectangles, which is valid because the list left by the previous step contains no rectangle that contains another. docs/DESIGN.md covers the design, exactly what "identical" means, and the known gaps.

What is accelerated

Accelerated
MaxRects algorithms (Bl, Bssf, Baf, Blsf), with or without rotation Yes
All bin heuristics (BNF, BFF, BBF, Global), online and offline modes, all sort orders Yes, when used with a MaxRects algorithm
Sizes given as plain Python int, up to 2^30 Yes
Sizes given as float, numpy.float64 or numpy.int64, in any mix with int (new in 0.2.0) Yes, up to 2^30 (2^26 for MaxRectsBaf)
Sizes given as Decimal, Fraction, bool, numpy.float32 or other numpy integer types No: handled by the original code, same result, same speed as rectpack
Skyline and Guillotine algorithms No: unchanged original code

When an accelerated object meets an input outside the fast path, it hands its state to the original Python implementation and continues there, so results and error messages stay the same.

What is not faster

  • Many-bin workloads. With 100 open bins, most of the time goes to the Python loop that asks every bin how well a rectangle fits. That loop was left in Python, so the gain there is about 5x.
  • Decimal, numpy.float32 and numpy integers other than numpy.int64. These fall back to the original code, so there is no speedup. The fallback costs nothing extra: it makes 0.007% more Python function calls than plain rectpack and takes the same time. An earlier version of this README reported the fallback as about 2x slower than rectpack. That was a measurement artifact (two timings taken one after the other on a laptop whose speed drifts), not a defect; results/fallback_slowdown.txt has the evidence.
  • Skyline and Guillotine. Not ported.

How correctness was checked

  • Exact parity. After every single placement, the tests compare the fitness value, the placement and the complete list of free rectangles (including its order) against the original. 1,038 tests, including three Hypothesis property tests (300, 150 and 400 generated cases) and all 200 packer configurations that use a MaxRects algorithm, run once with integer sizes and once with mixed types.
  • Types as well as values. Every comparison records the type of each number, so 5, 5.0 and numpy.float64(5.0) count as different results. On the float path the tests also check that the work stayed in C++.
  • Edge cases. Decimals, NaN, infinity, zero and negative sizes, booleans, strings, None, unsupported numpy types, sizes beyond the native range, exact fits, pieces larger than the bin, floats that do not round cleanly. Results and exceptions match the original.
  • Benchmark outputs. Every benchmark run hashes the full result of all three variants; all 14 cases are identical.
  • Sanitizers. The suite passes under AddressSanitizer and UndefinedBehaviorSanitizer, both locally (GCC 15.2 in WSL) and on a GitHub Actions Ubuntu runner.
  • Mutation check. Eleven deliberate bugs were injected into the C++, five of them in the float and numpy handling. The tests caught all eleven.
  • Platforms and Python versions. In GitHub Actions the full suite, including the float and numpy tests, passes on Python 3.9, 3.10 and 3.13 on Linux x86_64, and on 3.10 and 3.13 on Windows x86_64 and macOS arm64. The wheels for Python 3.9 to 3.13 on those three systems are each built and tested too, but without numpy installed, so the numpy tests are skipped there. Locally the suite also passes on Windows with numpy 1.26, 2.4 and 2.5.

Run them yourself:

pip install ".[test]"
pytest
python bench/run_bench.py --quick     # about a minute
python bench/run_bench.py             # full benchmark, several minutes
python bench/run_mixed.py --quick     # float and numpy input

Behaviour inherited from rectpack

These were found while porting. They are reproduced on purpose, not fixed, so that results match (research/original_bugs.py demonstrates each):

  • validate_packing() never compares the last rectangle with the others, so an overlap involving it goes undetected.
  • MaxRectsBl documents a smallest-x tie-break but takes the first candidate.
  • With the BBF bin heuristic, online add_rect returns True/False instead of the rectangle.

Limitations

  • Speed was measured on one Windows laptop only. Correctness is checked in CI on Linux, Windows and macOS (arm64), but speed on those systems has not been measured.
  • The package subclasses rectpack internals and pins rectpack==0.2.2. A new rectpack release would need re-checking.
  • An unpickled or deep-copied packer continues on the original Python code path: correct, but not accelerated.

Contributing and security

Issues and pull requests are welcome; see CONTRIBUTING.md. The most useful report is a real workload where it is still slow. Please report security problems privately, as described in SECURITY.md.

Credits and licence

Apache-2.0, the same licence as rectpack, of which this is a derivative work. rectpack is by SecNot. The MaxRects algorithms come from Jukka Jylänki, "A Thousand Ways to Pack the Bin" (2010). See NOTICE.

Metadata

Release files for fastrectpack 0.2.0

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

Source distribution (sdist)

Source distribution for fastrectpack 0.2.0
File Size Uploaded Provenance Actions
fastrectpack-0.2.0.tar.gz 49.2 kB With provenance Details for fastrectpack-0.2.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for fastrectpack 0.2.0
File Actions
fastrectpack-0.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for fastrectpack-0.2.0-cp313-cp313-win_amd64.whl
fastrectpack-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for fastrectpack-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
fastrectpack-0.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for fastrectpack-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
fastrectpack-0.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for fastrectpack-0.2.0-cp312-cp312-win_amd64.whl
fastrectpack-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for fastrectpack-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
fastrectpack-0.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for fastrectpack-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
fastrectpack-0.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for fastrectpack-0.2.0-cp311-cp311-win_amd64.whl
fastrectpack-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for fastrectpack-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
fastrectpack-0.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for fastrectpack-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
fastrectpack-0.2.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for fastrectpack-0.2.0-cp310-cp310-win_amd64.whl
fastrectpack-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for fastrectpack-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
fastrectpack-0.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for fastrectpack-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
fastrectpack-0.2.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for fastrectpack-0.2.0-cp39-cp39-win_amd64.whl
fastrectpack-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for fastrectpack-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
fastrectpack-0.2.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details for fastrectpack-0.2.0-cp39-cp39-macosx_11_0_arm64.whl

Total release size: 2.7 MB

Release files / fastrectpack-0.2.0.tar.gz

Download URL fastrectpack-0.2.0.tar.gz
Size 49.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4cd219445f2f1bb313fa0be0bd6d9fe7ffdc9a7383d7b84b9bca52bab4dc0da6
BLAKE2b-256 checksum
How to use checksums
4975b4adc42ea61067aa752964823ba3dbafde6abd52a696bb5289a361b500d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp313-cp313-win_amd64.whl

Download URL fastrectpack-0.2.0-cp313-cp313-win_amd64.whl
Size 307.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
d1bfa7349a2318db04c8fb817bdea976022059312c4b5fdff6985566c2e1d55f
BLAKE2b-256 checksum
How to use checksums
51efffcd7286eb19953277277a4ef9d3898203f5352ce0f5b152d9eabd13fbae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL fastrectpack-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 118.8 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e5fedcd0b4fd72c76941279a62a89c608cd8b9a1905ce3cf0f7f1b8c0612f155
BLAKE2b-256 checksum
How to use checksums
0631370409351ab8c452c9d93d3e708a398495a95126a68b1b467f0e2ccc3477
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL fastrectpack-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 100.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3d63f6f2d953fc16b9aa919435a4852ae59e941ec8dafd8bf1d67c6ad75452df
BLAKE2b-256 checksum
How to use checksums
17f741d5e4cfab0965ab347c185a52b2b38c4999cff275712c4d97007f44312f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp312-cp312-win_amd64.whl

Download URL fastrectpack-0.2.0-cp312-cp312-win_amd64.whl
Size 307.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
36aa3ee7e276edc0b483b2a9b050b9b4558a167b3e14d06d53c33f7fe258eeca
BLAKE2b-256 checksum
How to use checksums
27cf7c0579cca70ee0d7f04a848265119732498ba7c21aa254a0e23b5204ec49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL fastrectpack-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 118.7 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7f546cf04320a6243659d76d49ee3761638b0616eadca7d6965c565d37525f66
BLAKE2b-256 checksum
How to use checksums
72539b16fe20f1ae85803aec0ba7b705ee12ead158b85e0470f33d1509f077f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL fastrectpack-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 100.4 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4c31279d704ff1d0e1f7562bc262a39e506d6925dac8018cd11929fd856db890
BLAKE2b-256 checksum
How to use checksums
08f3a696c5d41e8ffba9f152c86eca4226030d74f12bb7d45224a2e1ae5e3fde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp311-cp311-win_amd64.whl

Download URL fastrectpack-0.2.0-cp311-cp311-win_amd64.whl
Size 304.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
94c7685bc58b88440f4c62b1b071b9bfc91e19d66bd64a3ddccde6f8444740d4
BLAKE2b-256 checksum
How to use checksums
d0d349dd499731ad2e3f9b871012f64199e8bde11a3abda2c197beab099524ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL fastrectpack-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 115.8 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
08425349fede4d9e8e0cb4d6180c00f175eaa252ea35ba4f5d162b1f5f3bc4ea
BLAKE2b-256 checksum
How to use checksums
23b28e540d084441a6946d33f51b7bda1e126ddd122f12374773fae999baf4d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL fastrectpack-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 99.5 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ea78aad8d0ff69d501f46bc973b6b7d641b827d559fb0f206ee6d90f31293d23
BLAKE2b-256 checksum
How to use checksums
d54870754d168747703793aa6613d001844ceaafc09adfc8300f065dc131d979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp310-cp310-win_amd64.whl

Download URL fastrectpack-0.2.0-cp310-cp310-win_amd64.whl
Size 303.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
afffce03a022ce4577c35733dc9aee4d84b1dc8faa04021ae137eb54fa9db728
BLAKE2b-256 checksum
How to use checksums
54b39e84f66752b9c16e73e3cdc6bb171be7a9ce20cb7e8a020717c7cc6de02c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL fastrectpack-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 114.5 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ddda15532f8634226bf65aaae89313d0820432ce4f09390f7b046b8e5ab34309
BLAKE2b-256 checksum
How to use checksums
3b75aeacf39dea70a0402629bc0b042a6a749f90031ec5fcabe6809fba8897e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL fastrectpack-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 98.3 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f94dae5b9ca50b88a2da739e32337084de6c0a02d7c5bbc875afa3fb89fab484
BLAKE2b-256 checksum
How to use checksums
6a111e20addcbbc09dd59446b5a3e9fdab63efd030403fa5bef2afb2093708d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp39-cp39-win_amd64.whl

Download URL fastrectpack-0.2.0-cp39-cp39-win_amd64.whl
Size 304.1 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
42f9a5d8b12b697061fc0aead94751bcc033425c6943ecc444efb8504fc27589
BLAKE2b-256 checksum
How to use checksums
cd06922b9c9d6506dde92bc2d83213a8786402df018378820bf3ad8761f63064
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL fastrectpack-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 114.7 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d2806cf8abcd9c0d9428d32f1f70867255c79d0597ee46177c6ce2bf9f28e879
BLAKE2b-256 checksum
How to use checksums
8f2ce2e6febe271673529cce243b09bfb7cb74f37b57db76e9aa2cca86561536
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / fastrectpack-0.2.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL fastrectpack-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Size 98.5 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d771cf7d2d2e75eb83ee1fb634cd5a9871719ebf59ccd08763942dd246d7b828
BLAKE2b-256 checksum
How to use checksums
56cb49288ba4fef40a82c42b23d207182b93021a418814cbc8fd2e1726624df5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Security for fastrectpack 0.2.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.

Full provenance

All 16 files in this release have been uploaded with provenance metadata.

Select from 16 files

Attestation for fastrectpack-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

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