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.4.2.tar.gz (3.0 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.4.2-cp38-abi3-win_arm64.whl (2.9 MB view details)

Uploaded CPython 3.8+Windows ARM64

engeom-0.4.2-cp38-abi3-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.8+Windows x86-64

engeom-0.4.2-cp38-abi3-musllinux_1_2_x86_64.whl (4.3 MB view details)

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

engeom-0.4.2-cp38-abi3-musllinux_1_2_aarch64.whl (3.7 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

engeom-0.4.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

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

engeom-0.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

engeom-0.4.2-cp38-abi3-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

engeom-0.4.2-cp38-abi3-macosx_10_12_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

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

Hashes for engeom-0.4.2.tar.gz
Algorithm Hash digest
SHA256 822acf7b2cbc529a2ff828557b5f2b809fa031745f6bb8bb9123f75d642fe180
MD5 839feb283eacb0d3a6b93d4ddd58532f
BLAKE2b-256 ab2953a45775970441caf30e59c30ce6e91e3634a1fb3173e98026655358444a

See more details on using hashes here.

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

Hashes for engeom-0.4.2-cp38-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 b086a06a4b14e03e2283987bda234f32c520abf6f2307e6a03119297308b8d0e
MD5 9ae06b4b0c482c40c2058510fe288114
BLAKE2b-256 9732a132a1ee903e2965a1a3fce60f48213d6d5c492ed5bfcdea2bf61ffe9628

See more details on using hashes here.

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

Hashes for engeom-0.4.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 704e4cbf6a252eb4377985784bf0848c4f42d4d62acb1521c2757fa956cdb4ed
MD5 4983726602b08984b9ea415aaf9b281a
BLAKE2b-256 966f88fbff84c1bb3071b3268d7c7bb77a39402c43fa347315aeffcec0ec564f

See more details on using hashes here.

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

Hashes for engeom-0.4.2-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f9db4a41e4125cbaee30b99a5e773c7e49019aa6a31203f2b930193d0840eff4
MD5 7a7251fd2a61164033b0b860c2098eaf
BLAKE2b-256 0e86fa8f653eb58000c5f49398d8311a48e1a0fad499f8d7d4f5a91e511ac420

See more details on using hashes here.

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

Hashes for engeom-0.4.2-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e40b173b076c9a88d7a6412c6b287ff3cc3f6d60a47c60fd266d611985a95350
MD5 9ab8cd81c9d3d1dc3029731e073984f3
BLAKE2b-256 2ee42e9905c523e026c9a0b33da0d98a6f8f109828f09ed1d25fa7cbff9b227c

See more details on using hashes here.

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

Hashes for engeom-0.4.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 178f070e5af0fc4adf3e051de86a03d1056a7429ba584420373f4a3486f5e783
MD5 8d705dd970925667d0ae6b855c805619
BLAKE2b-256 d1c3f2e83c98ad8b9a34c2b1730de8ab4f2b84240678dcc18632ee4397c1a9f9

See more details on using hashes here.

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

Hashes for engeom-0.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a7df442ce6411a34dd0d373981e5f5277c1f85bf242c443dba10c3e7975f965
MD5 ea19e4a3d145d4e15459001bdf52d516
BLAKE2b-256 96d1b5f79b9e14fedc3b822900f59c22cfb56400ff7b9704a326d8a6992387f2

See more details on using hashes here.

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

Hashes for engeom-0.4.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7de8d5c9c15643f51e4a5d63aeac9c1d742c250b42475e4bbf3c7c60156e92a
MD5 9c3ea1fbad40f3086e2e1cd09752278f
BLAKE2b-256 a60fa6e08e41c071c1552dc55acddbab3ed27b3abacf49ede0c71006e1501ec7

See more details on using hashes here.

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

Hashes for engeom-0.4.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3e3b5e1179d1182cd44d86fbe88ae9a03b76d5bbb44bd6df54d7c56720c52a16
MD5 7011a5cac74802748837b4c8247a31d2
BLAKE2b-256 83ae079d92e44594f0fb58242dd8b411176dcbcdaf4a592b5f2bbe4af1b81e45

See more details on using hashes here.

Release history Release notifications | RSS feed

0.5.0

9 files

0.4.3

9 files

This release

0.4.2 This release

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