Native Python port of the Topolys non-manifold topology library.
Status: Alpha. Geometry, transformations, topology entities, model factories, cascading edge splits, serialization, graph export, and the full Ruby scenario suite are implemented.
Install the tagged release directly from GitHub:
python -m pip install "py-topolys @ git+https://github.com/canmet-energy/py-topolys.git@v0.1.0"For requirements.txt:
py-topolys @ git+https://github.com/canmet-energy/py-topolys.git@v0.1.0
For pyproject.toml:
dependencies = [
"py-topolys @ git+https://github.com/canmet-energy/py-topolys.git@v0.1.0",
]import py_topolys
model = py_topolys.Model()
points = [
py_topolys.Point3D(0, 0, 0),
py_topolys.Point3D(1, 0, 0),
py_topolys.Point3D(1, 1, 0),
py_topolys.Point3D(0, 1, 0),
]
wire = model.get_wire(model.get_vertices(points))
face = model.get_face(wire, [])This port targets Ruby Topolys 0.6.2 at
canmet-energy/topolys@33b68df.
See UPSTREAM.md for provenance and update policy, or review
changes since the baseline.
The pinned Ruby suite passes all 41 examples. CI regenerates Ruby observations and compares them with the Python parity fixtures on every change.
See CHANGELOG.md for release history and RELEASE.md for the verification and publishing process.