Skip to main content

A pure, standalone geometric kernel for CAD-grade curves and surfaces: parametric evaluation, transformations, and curve-on-surface parametrization.

Project description

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 Point3, Vector3
from geomcore.curves import Circle3D
import math

circle = Circle3D.new(Point3.origin(), Vector3.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

  • Parametric evaluation for lines, circles, ellipses, parabolas, hyperbolas, and B-spline curves (rational and periodic), plus planes, cylinders, cones, spheres, tori, and B-spline surfaces.
  • Bulk evaluation (eval_points) with a single native call per batch.
  • Rigid transformations via a single Transform type.
  • Analytic curve-on-surface parametrization (parametrize_on) for lines and circles on the five elementary surfaces.

All numeric results 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geomcore-0.1.0.tar.gz (132.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

geomcore-0.1.0-cp39-abi3-win_amd64.whl (264.9 kB view details)

Uploaded CPython 3.9+Windows x86-64

geomcore-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (424.8 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

geomcore-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (433.3 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

geomcore-0.1.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (764.1 kB view details)

Uploaded CPython 3.9+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file geomcore-0.1.0.tar.gz.

File metadata

  • Download URL: geomcore-0.1.0.tar.gz
  • Upload date:
  • Size: 132.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for geomcore-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f6001caedc5cae634469f4ec88daaf87691ecef6aa0b2a7aa9beb4eb8de37d7d
MD5 8ae74ea9308891babc5ce112c6844070
BLAKE2b-256 5164be3b4c4edd4db7f0d3c53b657830aede2b583291d5a964237248ddb6929a

See more details on using hashes here.

Provenance

The following attestation bundles were made for geomcore-0.1.0.tar.gz:

Publisher: release.yml on GabrielJMS/geomcore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geomcore-0.1.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: geomcore-0.1.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 264.9 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for geomcore-0.1.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 aa76e4dc5c41a742a5e4037f12e0744694c924ef1b1af1c177bed3921c603a71
MD5 d98cea91db022b41b47307a9ad53c13c
BLAKE2b-256 c69de8f0ea9f921fb3e9b4633084352a80e5ef4062a3262a48b19ceaeff844aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for geomcore-0.1.0-cp39-abi3-win_amd64.whl:

Publisher: release.yml on GabrielJMS/geomcore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geomcore-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for geomcore-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 08b9ce7ccf6e3e93e116b02df4365a597f3572cd80eed1d08b056dfb5863f650
MD5 6dbe4e437a8506f6fe87e4e78367a12f
BLAKE2b-256 faa270ab31eca9f2df33d6f964463f0fa0a08b9c58099ec1738a66d167036e73

See more details on using hashes here.

Provenance

The following attestation bundles were made for geomcore-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on GabrielJMS/geomcore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geomcore-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for geomcore-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 83912a4505c5c7c7bde66d0362ee7a212977be11f5b0fa8505cadc0bca425f7b
MD5 795442d15cf75d0fe73666009e25b64f
BLAKE2b-256 23ae3aed13440ca43451316d13f4cab517101001f51833f02ccba2d980d64295

See more details on using hashes here.

Provenance

The following attestation bundles were made for geomcore-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on GabrielJMS/geomcore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geomcore-0.1.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for geomcore-0.1.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 065e3cc35b67ff4c4cf20231c2fbedbc425ebbae80941bbce5e4ea1cd4c37299
MD5 3d9ab4ab5937b02ef8ffe36cd2eb8e51
BLAKE2b-256 4b429bd141deb5bde3ab79eef3d94765ea28e49e51ef2b04fbc96628e772e96d

See more details on using hashes here.

Provenance

The following attestation bundles were made for geomcore-0.1.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on GabrielJMS/geomcore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page