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

Uploaded CPython 3.8+Windows ARM64

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

Uploaded CPython 3.8+Windows x86-64

engeom-0.4.3-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.3-cp38-abi3-musllinux_1_2_aarch64.whl (3.8 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

engeom-0.4.3-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.3-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.3-cp38-abi3-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

engeom-0.4.3-cp38-abi3-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: engeom-0.4.3.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.3.tar.gz
Algorithm Hash digest
SHA256 7eae693a76b059980f2ef6a7424297f3e6eba14d2dda601cb81b19ef2b542382
MD5 ec5b809ddc912895ddd618d1acc91a91
BLAKE2b-256 fc21655856f837b92b9bfe219fc48efd5f687435bede0d4c420d8e78fde70e99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: engeom-0.4.3-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.1 {"installer":{"name":"uv","version":"0.12.1","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.3-cp38-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 15b5ea8565f1c11ff38681007717782b8191d62335c53772c0ce5c4acfa0d3bd
MD5 5d92a72d42e45a53ca3d6ba772cfa402
BLAKE2b-256 22b509d81d6def427078319e7cbabb212eb9dd6d472505f837608299a8355c59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: engeom-0.4.3-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.1 {"installer":{"name":"uv","version":"0.12.1","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.3-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ebd4c5de6cd121d861e48210455905bea7876b33449928f6c7938c6f3411a2b1
MD5 c46b073a0fc3280e91362c1813983709
BLAKE2b-256 e08143d41eadeb9b1a3d507b847be75c66094eeeb8809c7f3a385d4579f39b20

See more details on using hashes here.

File details

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

File metadata

  • Download URL: engeom-0.4.3-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.1 {"installer":{"name":"uv","version":"0.12.1","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.3-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7bcb9d8f95130de1f28359c0505b61d99b87126799bb6370bff13abda730516d
MD5 ac2170898870e21e4bd082669276b383
BLAKE2b-256 251a3f7756e33a2ee1e14bb61ca342f4037ac22116b2f5b6e80b66e3042e31ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: engeom-0.4.3-cp38-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.3-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 163600c70fc4530fe2fc68dafd34291f81dd2a7fab3fb3a17db18b143f0b2e42
MD5 c3c20ef56463a5038525671a65216597
BLAKE2b-256 b27eecd7e293edc835be9078bef2d126b27883c56179c5c0c9273c70f81b6ebe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: engeom-0.4.3-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.1 {"installer":{"name":"uv","version":"0.12.1","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.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 420b0afaadf61755072b22294550113fc54b9445928d10741efbbeed9181839f
MD5 e365f75c2de2a0d5b0c2bfd2008cb348
BLAKE2b-256 5d03e444b3f9a7b442c3f27d5eeba7df0291944c5ffbc4ad290b7accaf71ef81

See more details on using hashes here.

File details

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

File metadata

  • Download URL: engeom-0.4.3-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.1 {"installer":{"name":"uv","version":"0.12.1","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.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 684025ca63cea45e9aa1ddb99e81b422b2aebdd4eff4a7f26fa18c5fbb0f7513
MD5 14e440f7fc85ca83424e1a75c3519dc6
BLAKE2b-256 34fefd9a1a611be672b97d9b3128bef0946405fab12c8631ba53131634d41c2f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: engeom-0.4.3-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.1 {"installer":{"name":"uv","version":"0.12.1","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.3-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 efb6cf8fa5e02b92e3cde4d3a8ebe8a62f5f7cca90fa705fa27fd9fa00b02a40
MD5 00a4f1134eee6ddd67d63c6bff7b0a9f
BLAKE2b-256 2687d94941acdc3a13f7b8fafce6d5639eebb314259594051424367f161afc0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: engeom-0.4.3-cp38-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.8+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.3-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 171cabf9011321f936796717a5fb2a2f05ab06c0f9afc310b6ba0c3df16adcb7
MD5 04d9ce1898c7796f57b66c9cc4cef46c
BLAKE2b-256 95d8619f46abd7e555bdd9ccbd57ba2d39782bc74fb2888f3378afd1da8ba9d7

See more details on using hashes here.

Release history Release notifications | RSS feed

0.5.0

9 files

This release

0.4.3 This release

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