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.1

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.1
File Size Uploaded
geomcore-0.32.1.tar.gz 1.6 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for geomcore 0.32.1
File
geomcore-0.32.1-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
geomcore-0.32.1-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.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
geomcore-0.32.1-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.9 abi3 macOS 10.12+ x86-64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64 Details

Total release size: 6.1 MB

Release files / geomcore-0.32.1.tar.gz

Download URL geomcore-0.32.1.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
a4ec854ff515ada3fb63b5613e38b5bb11c456872fdfc288c2405497187413b9
BLAKE2b-256 checksum
How to use checksums
418fd16ce1ddb4ec235e899259f1b0b2937e533794419ad03e853a2fe3202f14
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.1-cp39-abi3-win_amd64.whl

Download URL geomcore-0.32.1-cp39-abi3-win_amd64.whl
Size 783.7 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
6a3504bae620e0d511d1948f390348d52c8e9f806a0b419007dff6a8340901db
BLAKE2b-256 checksum
How to use checksums
29024b537197eb5134712b500d85a782f80a355dc30ed445fc1f6fe41160366b
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.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL geomcore-0.32.1-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
6d34e5e719d9e4e709af495e5fe6a6418fb8bbd7b769401a53f764956bd2f772
BLAKE2b-256 checksum
How to use checksums
dba193440a3c7ddb203e5d8ebb7f688345a6531db1b13dd653340fd548c1aa48
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.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL geomcore-0.32.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 942.7 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
bfe60b7900e42034869610400eda58f6bc281bf8da86be12b507d027386d0b7a
BLAKE2b-256 checksum
How to use checksums
c4274f8024f74dc1ba47fb940360787cca9ce347f5759292832c5908f8e3c17d
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.1-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL geomcore-0.32.1-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
b12baa29eff1f79ab926759d9d0e169bbfe2ddc4ceeeb951c3a3273be73f17c6
BLAKE2b-256 checksum
How to use checksums
921b7825415a74b32906b7f46e64d1e558c8a4b84b96cf9a37f3d96a6dc5132c
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

This release

0.32.1 This release

5 release files

0.32.0

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