Skip to main content

geomcore (Python bindings)

Python bindings for geomcore, a pure, standalone geometric kernel for CAD-grade curves and surfaces — parametric evaluation, rigid transformations, and analytic curve-on-surface parametrization, implemented in Rust.

from geomcore import Point3D, Vector3D
from geomcore.curves import Circle3D
import math

circle = Circle3D(Point3D.origin(), Vector3D.z(), 2.0)
point = circle.eval_point(math.pi / 4)

Install

pip install geomcore

Pre-built wheels are published for Linux (x86_64, aarch64), macOS, and Windows, for Python 3.9+ (abi3 — one wheel covers all versions).

What's inside

  • Evaluation of lines, circles, ellipses, parabolas, hyperbolas and B-spline curves (rational and periodic), plus planes, cylinders, cones, spheres, tori and B-spline surfaces, with bulk eval_points in a single native call per batch.
  • Rigid transformations via a single Transform type, applied with transformed.
  • Containment, project_point and extrema on every curve and surface.
  • Analytic intersections with a.intersect(b), in either order, returning (kind, payload) tuples, with tangency and coincidence reported, and "not_analytic" when there is no closed form. A pair without an exact solver raises TypeError.
  • Numeric intersections over any curve or surface: intersect_curve_surface, intersect_curve_curve, curve_curve_extrema and intersect_marching.
  • Curve-on-surface parametrization: parametrize_on (analytic) and parametrize_numeric.
  • B-spline interpolate and least-squares approximate.
  • Type stubs (PEP 561) for IDEs and type checkers.

Evaluation, transformations and curve-on-surface parametrization are validated against golden fixtures at CAD-kernel-grade tolerances (1e-7). See the repository for full documentation, the roadmap, and the Rust crate.

License

Dual-licensed under MIT or Apache-2.0, at your option.

Metadata

Release files for geomcore 0.32.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for geomcore 0.32.0
File Size Uploaded
geomcore-0.32.0.tar.gz 1.4 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for geomcore 0.32.0
File
geomcore-0.32.0-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
geomcore-0.32.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
geomcore-0.32.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
geomcore-0.32.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.9 abi3 macOS 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64 Details

Total release size: 5.9 MB

Release files / geomcore-0.32.0.tar.gz

Download URL geomcore-0.32.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
c5965457f69aecd806ca93c1536cca42aefc4ec93f4595a80b16326f26f81178
BLAKE2b-256 checksum
How to use checksums
493ae6318e0e6b2cd38fa2ddd0c2a267fc1cdfe74f35e871bcba2cde295e36fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / geomcore-0.32.0-cp39-abi3-win_amd64.whl

Download URL geomcore-0.32.0-cp39-abi3-win_amd64.whl
Size 783.7 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
ce63256f27eea4367eadf83e13bde28cfd3ac697390d9df99a32fd33aa11866e
BLAKE2b-256 checksum
How to use checksums
c53eb8ded1df46ffbbdd67b7bff03db26d7f0dd3e4404dab42e8a6980541c7a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / geomcore-0.32.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL geomcore-0.32.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 993.7 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
24614aea228f26fba22649ecb016f0f0be1e75e597c7ca964c3d52cf9694010c
BLAKE2b-256 checksum
How to use checksums
8d912d43d22888f27109744f0ae65bcfa36ad253630eeb938e7f288f7222072f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / geomcore-0.32.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL geomcore-0.32.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 943.0 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
6e93b49e05c966608bf7ca256708a6e7924b10871ec62ccac4b7c9724562e6a7
BLAKE2b-256 checksum
How to use checksums
451ebb75438f26338f9606dd84c11356bf08266746b48c025d390db1105e9e03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / geomcore-0.32.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL geomcore-0.32.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 1.7 MB
Tags CPython 3.9 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5420fb31b3d6a959d5b93a3e43cf541a4925af357a51920ad47fc54a50669d5b
BLAKE2b-256 checksum
How to use checksums
d044da5b918110ea04ddde867c60935fcfec669a611bec7ca2a8f288b791d134
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release history Release notifications | RSS feed

0.34.0

5 release files

0.33.0

5 release files

0.32.2

5 release files

0.32.1

5 release files

This release

0.32.0 This release

5 release files

0.31.0

5 release files

0.30.0

5 release files

0.29.0

5 release files

0.28.0

5 release files

0.27.0

5 release files

0.26.0

5 release files

0.25.0

5 release files

0.24.0

5 release files

0.23.0

5 release files

0.22.0

5 release files

0.21.0

5 release files

0.20.0

5 release files

0.19.0

5 release files

0.18.0

5 release files

0.17.0

5 release files

0.16.0

5 release files

0.15.0

5 release files

0.14.0

5 release files

0.13.0

5 release files

0.12.0

5 release files

0.11.0

5 release files

0.10.0

5 release files

0.9.0

5 release files

0.8.0

5 release files

0.7.0

5 release files

0.6.0

5 release files

0.5.0

5 release files

0.4.0

5 release files

0.3.0

5 release files

0.2.0

5 release files

0.1.0

5 release 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