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.29.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.29.0
File Size Uploaded
geomcore-0.29.0.tar.gz 1.2 MB Details

Built distributions (wheels)

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

Total release size: 5.1 MB

Release files / geomcore-0.29.0.tar.gz

Download URL geomcore-0.29.0.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
7ef6d665ceb7f4c48e0fc581747ab496003a5f2cf0d65c7a10b0a4415aadd108
BLAKE2b-256 checksum
How to use checksums
c628cebc95ce2abd8f0ccf89c8bac3285d8d3ecc2086f0d6cad0a00ede4ae048
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.29.0-cp39-abi3-win_amd64.whl

Download URL geomcore-0.29.0-cp39-abi3-win_amd64.whl
Size 679.0 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
4822c54e981a6d48afee417c46856fe9e3a3021ed6baab2a8fbe68f5fcf0e6b7
BLAKE2b-256 checksum
How to use checksums
9b4f5394594daddf82f6235f326c6a8f8f21cbbda4b7c90d48a7d1323c7f53d0
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.29.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL geomcore-0.29.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 852.4 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
e753b55eea4fe3b4985898513b9f7c9beb15b4716a0f1c21b73c5d9efa760454
BLAKE2b-256 checksum
How to use checksums
e7d4573c8cecdcfbc91ceaeeb3c3856a07543f6e85f6a63d1b6897114f157ece
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.29.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL geomcore-0.29.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 831.8 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
7a7e22dde84ebc21ddc57692d16b5d383b35fed9a546d34faac7bb46a8a1a85f
BLAKE2b-256 checksum
How to use checksums
1513361d0b8ff1ae91bdf1a38439558c3ae3c32c76947a2e80b8fd97c3da6ad4
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.29.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL geomcore-0.29.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 1.5 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
a7f0debba62f5b7b7de44cc88fc418b3249bb65ba24a503b6b80d7f98da31945
BLAKE2b-256 checksum
How to use checksums
426b1cff336d0eb2a275df8f7e3a719ede0abcaf480a9ce31c85828a76a5f2a6
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

0.31.0

5 release files

0.30.0

5 release files

This release

0.29.0 This release

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