Skip to main content

py-topolys

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.

Installation

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",
]

Usage

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, [])

Port Baseline

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.

Download files

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

Source Distribution

py_topolys-0.1.0.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

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

py_topolys-0.1.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file py_topolys-0.1.0.tar.gz.

File metadata

  • Download URL: py_topolys-0.1.0.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for py_topolys-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2d2a501f803fd9235d044374d39a02b3d7b1b445f21c5ef1cb80b8c6c1f21372
MD5 e3040240479de4f75f170ca816358d28
BLAKE2b-256 323668428071f3245df35ea6f1f31ae8697ddf772bc4a08bb9d3004de4f87a3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_topolys-0.1.0.tar.gz:

Publisher: publish.yml on canmet-energy/py-topolys

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

File details

Details for the file py_topolys-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: py_topolys-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for py_topolys-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a0f2f6e75ba92251d777a69a25f2d98f924c0325a64417a7cd9b4e9c5d560fb8
MD5 21deda319236104959b858d6badcbbdc
BLAKE2b-256 e1ad49c71b431ae37909568b369e9c7079ef1347da4ae94f586ad0584ba27d73

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_topolys-0.1.0-py3-none-any.whl:

Publisher: publish.yml on canmet-energy/py-topolys

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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

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