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

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

Built distributions (wheels)

Table of built distributions (wheels) for geomcore 0.32.2
File
geomcore-0.32.2-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
geomcore-0.32.2-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.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
geomcore-0.32.2-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: 7.4 MB

Release files / geomcore-0.32.2.tar.gz

Download URL geomcore-0.32.2.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
26b7ba857722421243b5f0a810589c839fb5a4cae23ebb3139a61fc50034f2df
BLAKE2b-256 checksum
How to use checksums
175d395df1d0ed92feb73988a8cd983996d41fdf810eed69b9b235b11a07e3d4
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.2-cp39-abi3-win_amd64.whl

Download URL geomcore-0.32.2-cp39-abi3-win_amd64.whl
Size 1.1 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
92e7bfc3be28b54c12c5315d5e4819f36dd817445ae3bed86e1b677cdf2804a3
BLAKE2b-256 checksum
How to use checksums
75954e087ad7e3126735d418949bd82ff3693165e81ec4985117cb0a71c92005
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.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL geomcore-0.32.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
92aab3b780714939e718cb6cb5213b11b37aa09db250c6f6b08b4aa7d8664787
BLAKE2b-256 checksum
How to use checksums
bc37d044f0ef34bad76b11c441b1ada8d5257a9fd3166191523a1957a79fbba2
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.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL geomcore-0.32.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
9900b62be6851043e8b7290487d9aea493727d5a941995521572c935a00241bb
BLAKE2b-256 checksum
How to use checksums
0ccf64cc2d88e37ac004e84a40b6f786dd13563989d285fa01eed8949cc5f79a
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.2-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL geomcore-0.32.2-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 2.2 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
ecfb0bd94d54a71448d8c989eb1f3f3d5a4cbd372e31a196547d1c1e1500ef61
BLAKE2b-256 checksum
How to use checksums
dc29b2195162279b2841d9bdd273ccf455acd6185c970a5646c43d6c51eceb16
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

This release

0.32.2 This release

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

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