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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file engeom-0.4.2.tar.gz.
File metadata
- Download URL: engeom-0.4.2.tar.gz
- Upload date:
- Size: 3.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
822acf7b2cbc529a2ff828557b5f2b809fa031745f6bb8bb9123f75d642fe180
|
|
| MD5 |
839feb283eacb0d3a6b93d4ddd58532f
|
|
| BLAKE2b-256 |
ab2953a45775970441caf30e59c30ce6e91e3634a1fb3173e98026655358444a
|
File details
Details for the file engeom-0.4.2-cp38-abi3-win_arm64.whl.
File metadata
- Download URL: engeom-0.4.2-cp38-abi3-win_arm64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.8+, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b086a06a4b14e03e2283987bda234f32c520abf6f2307e6a03119297308b8d0e
|
|
| MD5 |
9ae06b4b0c482c40c2058510fe288114
|
|
| BLAKE2b-256 |
9732a132a1ee903e2965a1a3fce60f48213d6d5c492ed5bfcdea2bf61ffe9628
|
File details
Details for the file engeom-0.4.2-cp38-abi3-win_amd64.whl.
File metadata
- Download URL: engeom-0.4.2-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
704e4cbf6a252eb4377985784bf0848c4f42d4d62acb1521c2757fa956cdb4ed
|
|
| MD5 |
4983726602b08984b9ea415aaf9b281a
|
|
| BLAKE2b-256 |
966f88fbff84c1bb3071b3268d7c7bb77a39402c43fa347315aeffcec0ec564f
|
File details
Details for the file engeom-0.4.2-cp38-abi3-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: engeom-0.4.2-cp38-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.8+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9db4a41e4125cbaee30b99a5e773c7e49019aa6a31203f2b930193d0840eff4
|
|
| MD5 |
7a7251fd2a61164033b0b860c2098eaf
|
|
| BLAKE2b-256 |
0e86fa8f653eb58000c5f49398d8311a48e1a0fad499f8d7d4f5a91e511ac420
|
File details
Details for the file engeom-0.4.2-cp38-abi3-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: engeom-0.4.2-cp38-abi3-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.8+, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e40b173b076c9a88d7a6412c6b287ff3cc3f6d60a47c60fd266d611985a95350
|
|
| MD5 |
9ab8cd81c9d3d1dc3029731e073984f3
|
|
| BLAKE2b-256 |
2ee42e9905c523e026c9a0b33da0d98a6f8f109828f09ed1d25fa7cbff9b227c
|
File details
Details for the file engeom-0.4.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: engeom-0.4.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.0 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
178f070e5af0fc4adf3e051de86a03d1056a7429ba584420373f4a3486f5e783
|
|
| MD5 |
8d705dd970925667d0ae6b855c805619
|
|
| BLAKE2b-256 |
d1c3f2e83c98ad8b9a34c2b1730de8ab4f2b84240678dcc18632ee4397c1a9f9
|
File details
Details for the file engeom-0.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: engeom-0.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a7df442ce6411a34dd0d373981e5f5277c1f85bf242c443dba10c3e7975f965
|
|
| MD5 |
ea19e4a3d145d4e15459001bdf52d516
|
|
| BLAKE2b-256 |
96d1b5f79b9e14fedc3b822900f59c22cfb56400ff7b9704a326d8a6992387f2
|
File details
Details for the file engeom-0.4.2-cp38-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: engeom-0.4.2-cp38-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.8+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7de8d5c9c15643f51e4a5d63aeac9c1d742c250b42475e4bbf3c7c60156e92a
|
|
| MD5 |
9c3ea1fbad40f3086e2e1cd09752278f
|
|
| BLAKE2b-256 |
a60fa6e08e41c071c1552dc55acddbab3ed27b3abacf49ede0c71006e1501ec7
|
File details
Details for the file engeom-0.4.2-cp38-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: engeom-0.4.2-cp38-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.8+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e3b5e1179d1182cd44d86fbe88ae9a03b76d5bbb44bd6df54d7c56720c52a16
|
|
| MD5 |
7011a5cac74802748837b4c8247a31d2
|
|
| BLAKE2b-256 |
83ae079d92e44594f0fb58242dd8b411176dcbcdaf4a592b5f2bbe4af1b81e45
|