Metadata-Version: 2.4
Name: cutting-engine
Version: 0.1.0
Summary: Pure Python guillotine cutting optimizer for furniture sheet panels
Project-URL: Repository, https://github.com/BerdiyorovAbrorjon/cutting-engine
Author-email: Abrorjon Berdiyorov <abrorjonberdiyor@gmail.com>
License-Expression: MIT
Requires-Python: >=3.11
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Description-Content-Type: text/markdown

# cutting-engine

Pure Python guillotine cutting optimizer for furniture sheet panels.

Authoritative docs:

- `docs/CUTTING_ENGINE.md` — main library implementation contract.
- `docs/CUTTING_MODULE_SPEC.md` — application cutting module implementation spec.
- `docs/ALGORITHM_SCORING.md` — authoritative algorithm and scoring implementation spec.
- `docs/ALGORITHM_SCORING_UZ.md` — Uzbek version of the algorithm/scoring spec.
- `docs/PROGRESS.md` — current implementation status and next work.
- `benchmarks/` — Bazis-Raskroy metric baseline comparison framework.

Implementation rule:

```text
CuttingRequest -> deterministic global strategy search -> CuttingResult
Default sheet size: 2750 x 1830
Default kerf: 4
Default trim: 5
```

The library must not contain FastAPI, database, parser, importer, exporter,
PDF/SVG/CNC, or business-order logic.

Run Bazis baseline benchmark report:

```bash
/opt/homebrew/bin/python3.11 -m benchmarks.run_benchmarks --export --verbose
```
