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.31.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.31.0
File Size Uploaded
geomcore-0.31.0.tar.gz 1.2 MB Details

Built distributions (wheels)

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

Total release size: 5.2 MB

Release files / geomcore-0.31.0.tar.gz

Download URL geomcore-0.31.0.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
c60d9c68b2ac4f3209961ffa38f71a1b88fb364d3e98d0f9fa74e65587bfc8ac
BLAKE2b-256 checksum
How to use checksums
302b80cf30be2a2a9cea5f5b14626349cc5501a72cbab6b56d0d52abd349414c
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 12, 2026.

Transparency log

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

Download URL geomcore-0.31.0-cp39-abi3-win_amd64.whl
Size 713.2 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
ea405cc80274e8aecf731ee8329b5365970c3c71e7a0d125d0bd7d265410d9ea
BLAKE2b-256 checksum
How to use checksums
45829720431e0c3c7fa091811ebee5b73cbb16fb8ece026859f3b5d857d80d4f
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 12, 2026.

Transparency log

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

Download URL geomcore-0.31.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 894.5 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
6c51d5ffd63955aafa5b75dfeaf945c254a154d60e05c0f94ebb52b797cdc4e6
BLAKE2b-256 checksum
How to use checksums
eb75f9204c058d7a223862d94168c9808ef4426a6b68118f79ecabb671679dfc
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 12, 2026.

Transparency log

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

Download URL geomcore-0.31.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 860.2 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
2b44cb859fc9a363804e0299ce6e818d7cfa94ffc8753b0d69dc85fe18d2c0f0
BLAKE2b-256 checksum
How to use checksums
eb28db476d967f56644e43247e625a00bfd763d689dcaa4458aa22b67419a0aa
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 12, 2026.

Transparency log

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

Download URL geomcore-0.31.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 1.6 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
f8c98d198f1cb4a552d1bee367946dc1dc1f52a19ddb2213ce63d42318e3716c
BLAKE2b-256 checksum
How to use checksums
1f257208dd5dd0f8eaac754ae3b7f8a4205dc6f9781edec6ae53e337f2fb7735
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 12, 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

0.32.0

5 release files

This release

0.31.0 This release

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