openskp Python 1.3.0 (GitHub-only, not on PyPI)
This release is not published to PyPI yet. It's a real, fully tested, tagged release — install it directly from this tag:
pip install "openskp[fragments] @ git+https://github.com/iamahsanmehmood/openskp.git@preview-python-v1.3.0#subdirectory=packages/python"
It will fold into a proper python-v1.3.0 PyPI release once cross-language parity work catches up across TypeScript/.NET/Dart/C++ — tracked publicly in ROADMAP.md and issue #285.
530 tests passing, ruff check clean, package builds cleanly (python -m build).
See CHANGELOG.md#130—2026-09-09 for full details, or docs/DEVELOPER_GUIDE.md#fragments-export for the Fragments API reference. Headline additions:
- Direct SketchUp → Fragments (.frag) export — Python-only, no other language has this yet (an open TypeScript port, PR #276, is not yet mergeable). Fragments visibility is carried via a
Model.metadatasidecar, not the public schema; legacy files get synthetic per-item GUIDs, not real ones. - Triangulation: Shapely replaced with earcut — faster, and fixes a real concave-face undercoverage bug.
- 4 IFC export correctness fixes — units/axis, real instance names + layer visibility, plugin-attribute Psets, opt-in full-path classification.
- Real per-layer hidden-flag reading from VFF files, legacy pages/scenes reading, section-plane writer, construction line/point read+write, and a fix for a large real file (359MB/95k definitions) that previously exhausted all available memory.
Known gaps are stated honestly rather than glossed over — see docs/LANGUAGE_PARITY.md for the full Python-vs-other-languages picture, and issue #284 for the known legacy-format parsing gap (6/14 real old-format test files) unrelated to this release but tracked at the same time.