Skip to main content

ironnest

Deterministic, embeddable, true-shape 2D nesting engine for irregular parts — a Rust core (a jagua-rs fork at f64) exposed to Python via PyO3.

The differentiator is determinism: the same inputs produce byte-identical placements on every platform (macOS-arm64 / Windows-x64 / linux-x64), proven by a cross-platform CI golden — so a re-nest reproduces a byte-identical downstream cut program for a machine audit trail.

Install

pip install ironnest

One abi3 wheel per platform (macOS-arm64 / Windows-x64 / linux-x64) serves CPython 3.13+.

Usage

import ironnest

# one outline per part type, in item-local coords
items = [[(0.0, 0.0), (10.0, 0.0), (10.0, 10.0), (0.0, 10.0)]]
container = [(0.0, 0.0), (100.0, 0.0), (100.0, 100.0), (0.0, 100.0)]

placements, unplaced = ironnest.nest(
    items,
    qty=[25],
    container=container,
    holes=[],                        # interior keep-out zones ([] = none)
    min_sep=0.0,                     # 0.0 keeps output byte-identical across platforms
    rotations=[0.0, 90.0, 180.0, 270.0],
    seed=1,                          # explicit — no entropy fallback, ever
    budget=2000,                     # a fixed sample budget, never a wall clock
)
# placements: list[(item, x, y, rotation_deg)] with placed = Rot(rotation_deg)·original + (x, y)
# unplaced:   list[int] (item-type index per instance that did not fit)

holes are interior keep-out polygons on the sheet (nesting around voids / inside parts). To pack across several sheets in order, use nest_multi(items, qty, sheets, min_sep, rotations, seed, budget) where each sheet is an (outline, holes) pair.

The engine is a pure placement oracle: it knows nothing about kerf, lead-ins, pierces, cut sequencing, or G-code — those belong to the consuming CAD/CAM application, which re-validates every layout. See the project repository for the full design.

Licensed under MPL-2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ironnest-0.6.2.tar.gz (218.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ironnest-0.6.2-cp313-abi3-win_amd64.whl (540.4 kB view details)

Uploaded CPython 3.13+Windows x86-64

ironnest-0.6.2-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (680.9 kB view details)

Uploaded CPython 3.13+manylinux: glibc 2.17+ x86-64

ironnest-0.6.2-cp313-abi3-macosx_11_0_arm64.whl (608.3 kB view details)

Uploaded CPython 3.13+macOS 11.0+ ARM64

File details

Details for the file ironnest-0.6.2.tar.gz.

File metadata

  • Download URL: ironnest-0.6.2.tar.gz
  • Upload date:
  • Size: 218.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ironnest-0.6.2.tar.gz
Algorithm Hash digest
SHA256 7ff412e4ec4f7e7ef445b2fb2599d5a501eb8758b0fd743281d17c2f57d5194c
MD5 7245a64ccef27463b6af16e9904d5816
BLAKE2b-256 4e3c253435ac82cb831d3a5c35b0b7da35a6e4650205e228fd356b8fc88a0159

See more details on using hashes here.

Provenance

The following attestation bundles were made for ironnest-0.6.2.tar.gz:

Publisher: wheels.yml on TexasCoding/ironnest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ironnest-0.6.2-cp313-abi3-win_amd64.whl.

File metadata

  • Download URL: ironnest-0.6.2-cp313-abi3-win_amd64.whl
  • Upload date:
  • Size: 540.4 kB
  • Tags: CPython 3.13+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ironnest-0.6.2-cp313-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c8c388d6069b01a299bd8f0fd48c4e9f45f2d30377a0c1fbae333d060cac6c3f
MD5 24ef433b31d697f7841fc1d919dc753f
BLAKE2b-256 a53c19f6116433683cfb32fe1ea2621bdd1c8874b8021ab4a0e6007a6fa83a5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ironnest-0.6.2-cp313-abi3-win_amd64.whl:

Publisher: wheels.yml on TexasCoding/ironnest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ironnest-0.6.2-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ironnest-0.6.2-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7656f9dcb0ea01e76115c89b3f7cfb88e5d62841781fbcde6013dad8ad268096
MD5 055d196a41fdd3d40274c2429509e631
BLAKE2b-256 be4fda925aaa8385df55e3375f3a780081ee53b3809eaf741a9338a88ccd545a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ironnest-0.6.2-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on TexasCoding/ironnest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ironnest-0.6.2-cp313-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ironnest-0.6.2-cp313-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08cb4edec5839644be30084740897e0bf3357ec7e1ec4e0236ec988926464a0f
MD5 5f9191ce14d1c17d6d90767ecead3007
BLAKE2b-256 f7101c2ee9176167beeca366b83dada9ba36a54fb21fa532c3beafcd867371d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ironnest-0.6.2-cp313-abi3-macosx_11_0_arm64.whl:

Publisher: wheels.yml on TexasCoding/ironnest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page