Skip to main content

Python bindings for Geometer CAD geometry operations

Project description

Geometer

Focused C++ geometry library, CLI, Python package, and WASM interface built on OCCT. Geometer provides generic CAD/kernel operations for STEP-to-GLB conversion, STEP HLR projection, planar contouring, and packed planar boolean work.

Documentation

Build And Validate

cmake --preset default
cmake --build build --config Release
python scripts/validate_native.py
python scripts/validate_python_package.py

Native artifacts are copied to dist/native/<platform>/. Root-level dist/geometer* artifacts are intentionally not produced.

Build WASM artifacts:

python scripts/build_wasm.py

WASM artifacts are copied to:

  • dist/wasm/browser/
  • dist/wasm/node-test/
  • dist/wasm/planar-browser/

Python Package

PyPI distribution: wn-geometer

Import package: geometer

Install the current release:

python -m pip install wn-geometer==2026.5.24

Basic Python use:

from pathlib import Path
import geometer

version = geometer.version()
projection = geometer.project_step_hlr(
    Path("part.step"),
    views=[geometer.ProjectionView.top()],
)
glb_bytes = geometer.step_to_glb(Path("part.step"))

The package is executable-backed. Wheels bundle the platform executable under geometer/native/<platform>/ and call it through the JSON batch CLI.

CLI

geometer --version
geometer step-to-glb input.step output.glb
geometer step-project-hlr input.step output.json
geometer step-project-svg input.step output.svg --mode simple --view top
geometer init-request request.json --step input.step --operation step_hlr_projection_json --output output.json
geometer run request.json response.json

Examples

  • examples/python/step_hlr_svg.py - no-GUI package example that writes HLR projection JSON, SVG, and GLB outputs.
  • examples/python/pyvista_hlr_viewer.py - PyVista/Qt STEP 3D + HLR preview.
  • examples/wasm/embedded_model_viewer.html - browser viewer using prepared GLB fixtures and the WASM HLR worker.
  • examples/cpp/ - native Dear ImGui + SDL3 + OpenGL HLR preview.

Serve browser examples from the repo root:

python -m http.server 8123 --bind 127.0.0.1

Open http://127.0.0.1:8123/examples/wasm/embedded_model_viewer.html.

Release

Geometer uses date-based releases per ADR 006:

  • Git tag: vYYYY-MM-DD
  • PyPI/CMake version: YYYY.M.D
  • C ABI generation: YYYYMMDD

Before tagging, run the L99 release gate plus native and package validation:

python -m pytest tests/L99_release -q
python scripts/validate_native.py
python scripts/validate_python_package.py

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

wn_geometer-2026.5.24-py3-none-win_amd64.whl (6.0 MB view details)

Uploaded Python 3Windows x86-64

wn_geometer-2026.5.24-py3-none-manylinux_2_39_x86_64.whl (11.5 MB view details)

Uploaded Python 3manylinux: glibc 2.39+ x86-64

File details

Details for the file wn_geometer-2026.5.24-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for wn_geometer-2026.5.24-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 42e91a8c43568e52f52e0414ed94f72ea0279a02d03ccb1776275ce5cd0365d8
MD5 b93e12bd3bcfcf580c37825c192dde5c
BLAKE2b-256 c9cd06e55e42d18332959df691d91dde289fcc405c22c956781c166f99ff6cd4

See more details on using hashes here.

File details

Details for the file wn_geometer-2026.5.24-py3-none-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for wn_geometer-2026.5.24-py3-none-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 02ec5e7f244792192fedef12af4f649239b1e077744c05f48f1fb0d23ae4c92b
MD5 e8a096d298f63286c63ff3e3545bd355
BLAKE2b-256 07589a2efb8f5def6b9f6d46fd1056c1caec8511aad737f15bcd4d2898da16aa

See more details on using hashes here.

Supported by

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