Skip to main content

engeom

Python bindings for engeom, a Rust library of metrology-focused tools for working with 2D and 3D geometry. The primary use case is engineering applications such as GD&T and quality/dimensional inspection, covering every step of the process starting from raw data formats such as meshes and point clouds.

pip install engeom

What is included

  • 3D geometry (engeom.geom3): points, vectors, surface points, lines, planes, circles, spheres, cylinders, cones, triangle meshes, and point clouds, with Levenberg-Marquardt fitting and alignment (engeom.align3).
  • 2D geometry (engeom.geom2): points, vectors, surface points, lines, circles, arcs, and polyline curves, with fitting and alignment.
  • Airfoil analysis (engeom.airfoil2): construction and analysis of airfoil cross-sections, including camber lines, leading/trailing edge detection, inscribed circles, thickness, and orientation.
  • Raster fields (engeom.raster2, engeom.raster3): 2D scalar fields for depth-map style data, with filtering, smoothing, in-painting, and region labeling.
  • Metrology (engeom.metrology): dimension and tolerance types built on the geometry primitives.
  • Sensor models (engeom.sensors): pinhole camera and laser profile sensors.
  • Plotting helpers (engeom.plot): convenience adapters for visualizing engeom types.

Numpy at the boundary

Array-shaped data crosses the Rust/Python boundary as numpy arrays rather than lists of objects. Points and vectors are shaped (n, 2) or (n, 3) with dtype float64, and face/index arrays use unsigned integer dtypes such as uint32. This matters for both the API shape and for performance.

Documentation

Combined documentation for the Rust and Python APIs is built with mdBook from the book/ directory of the repository.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Download files

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

Source Distribution

engeom-0.5.0.tar.gz (3.7 MB view details)

Uploaded Source

Built Distributions

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

engeom-0.5.0-cp38-abi3-win_arm64.whl (3.5 MB view details)

Uploaded CPython 3.8+Windows ARM64

engeom-0.5.0-cp38-abi3-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.8+Windows x86-64

engeom-0.5.0-cp38-abi3-musllinux_1_2_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

engeom-0.5.0-cp38-abi3-musllinux_1_2_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

engeom-0.5.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

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

engeom-0.5.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

engeom-0.5.0-cp38-abi3-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

engeom-0.5.0-cp38-abi3-macosx_10_12_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file engeom-0.5.0.tar.gz.

File metadata

  • Download URL: engeom-0.5.0.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for engeom-0.5.0.tar.gz
Algorithm Hash digest
SHA256 08959b11825346b8d62e9e2b74430ff12263e12a5e770b71d63b04ea353dbd8f
MD5 c921d53e9fb953db2e0525b116077fbb
BLAKE2b-256 82de56cf1d1be79b2235122c9980bcdcce88a898ba5ad5b8c3ed20b1df31a65d

See more details on using hashes here.

File details

Details for the file engeom-0.5.0-cp38-abi3-win_arm64.whl.

File metadata

  • Download URL: engeom-0.5.0-cp38-abi3-win_arm64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.8+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for engeom-0.5.0-cp38-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 5408c06723bc6c5eb778cab064a9fce5807d841bbf7c088d7f2f484c74932876
MD5 de85e172581eff47f5bce5abb0a32908
BLAKE2b-256 7618b38ad50b8d2d7b2c0a060393f8871458f4b0a5694f4ea5dc9268139d4a0e

See more details on using hashes here.

File details

Details for the file engeom-0.5.0-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: engeom-0.5.0-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for engeom-0.5.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bbdeaa9d9c49fb5191b8f5c5b28e12e91d59e90fcdd220438eb871b1908375d1
MD5 40cd61ecc0005c1645351e344a8e649f
BLAKE2b-256 f66e59939f24d2acb72e3883817d18731e7ddad166fcd4b0af003ef9128423bd

See more details on using hashes here.

File details

Details for the file engeom-0.5.0-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: engeom-0.5.0-cp38-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for engeom-0.5.0-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 78727a29ba55efe1659fa8c4076f82e26bab15582886d2762a186e78223e28f4
MD5 9329d321175d243036f6ba13ede7ef77
BLAKE2b-256 0a5f2048cde8101992c479ca560c2ba6020943658affc8738286c0a585f14e76

See more details on using hashes here.

File details

Details for the file engeom-0.5.0-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: engeom-0.5.0-cp38-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for engeom-0.5.0-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4c5a42278520b00b213cad2d27f4c4f8874bc1c8f8618b75121f263a16d0aa7c
MD5 60968e9439a64ad028454bc114e50efe
BLAKE2b-256 5f3f179b9c3571bc2bf714d1be802902007b98190f92effdbb1331e6f92022b1

See more details on using hashes here.

File details

Details for the file engeom-0.5.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: engeom-0.5.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for engeom-0.5.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e287df2b259c7f5517ef5cfda3dca59e6f2c3fb8953b0f54dee153791ff76856
MD5 b096f470d48ea0cec0bcdb7a387de5dc
BLAKE2b-256 d0eb7e6f320128cf9da61ae876427b0b95f104b28402e0b231a3f59c055442e4

See more details on using hashes here.

File details

Details for the file engeom-0.5.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: engeom-0.5.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for engeom-0.5.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8ebce506e4ec067a4871dd638ec225547d8758f2d02a022369b96c676108793d
MD5 4eb2876fd22d16050a923aeb42c2755c
BLAKE2b-256 889adce7dd31747d4ffa41a1bb7034ecff9e364a35fa25ae6a5933de218d6dae

See more details on using hashes here.

File details

Details for the file engeom-0.5.0-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: engeom-0.5.0-cp38-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.8+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for engeom-0.5.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a66494acab7d393c7175af389a0488d4fe7f1b75272d2b09ee3df809146e50b2
MD5 b23c5939ff7b760db45352d3a8337580
BLAKE2b-256 4b492d04f10bc8b060fd0b94115f11fd8493822cfb648dccb6fb837ac5a2434f

See more details on using hashes here.

File details

Details for the file engeom-0.5.0-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: engeom-0.5.0-cp38-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.8+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for engeom-0.5.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 58e258bb7c7875ad000f0b1a64a2820bab192277df05569f78afc301cd3acba0
MD5 41fc09c00ec35f8a7aa4e9e4da2ff027
BLAKE2b-256 5d1b77fbf45d9047e79790d79c1e141c21e436c9e92f0575f9b5af267029b746

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5.0 This release

9 files

0.4.3

9 files

0.4.2

9 files

0.4.1

5 files

0.3.4

5 files

0.3.3

5 files

0.3.2

5 files

0.3.1

5 files

0.3.0

6 files

0.2.21

6 files

0.2.20

6 files

0.2.19

6 files

0.2.18

6 files

0.2.17

5 files

0.2.16

5 files

0.2.15

5 files

0.2.14

5 files

0.2.13

5 files

0.2.12

6 files

0.2.11

6 files

0.2.10

6 files

0.2.9

6 files

0.2.8

6 files

0.2.7

6 files

0.2.6

6 files

0.2.5

6 files

0.2.4

6 files

0.2.3

6 files

0.2.1

15 files

0.1.2

15 files

0.1.1

15 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