Geodesic distance and Hausdorff kernels with Rust performance and Python usability.
Project description
loxodrome
Python bindings for loxodrome. The package surfaces the Rust-backed geometry
handles, geodesic distance/bearing helpers, and Hausdorff variants.
- Setup and publishing live in the repo-level
README.md. - The Typer CLI (
uv run lox info) is a dev-only smoke check to confirm the extension loads.
Shapely interoperability
Shapely is optional. Install the extra if you want to bridge loxodrome points with Shapely:
pip install loxodrome[shapely]
Converters live in loxodrome.ext.shapely and keep imports guarded:
from loxodrome import Point
from loxodrome.ext.shapely import from_shapely, to_shapely
point = Point(12.5, -45.0)
shapely_point = to_shapely(point)
round_tripped = from_shapely(shapely_point)
Point, Point3D, and BoundingBox are supported. Other geometry kinds raise
TypeError, and non-rectangular polygons raise InvalidGeometryError, until
matching kernels land.
Demo notebook
A ready-to-run example lives at experiments/notebooks/loxodrome_usage.ipynb.
Launch it inside the uv-managed environment so imports resolve against the local build:
cd loxodrome
uv sync --all-extras
uv run maturin develop
uv run --with notebook jupyter notebook ../experiments/notebooks/loxodrome_usage.ipynb
For JupyterLab, swap the last line for
uv run --with jupyterlab jupyter-lab ../experiments/notebooks/loxodrome_usage.ipynb.
Project details
Release history Release notifications | RSS feed
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 loxodrome-0.0.1.tar.gz.
File metadata
- Download URL: loxodrome-0.0.1.tar.gz
- Upload date:
- Size: 62.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
598bf7f07e886d8693af28024ac507707880098ac343c8025ed580ca477f9841
|
|
| MD5 |
2fd940e37e47c70818111da2af980f7d
|
|
| BLAKE2b-256 |
96a3de1e7078588712b923e37db161a386cb287b3fadcf9ee45188ee10a6ffc2
|
Provenance
The following attestation bundles were made for loxodrome-0.0.1.tar.gz:
Publisher:
release.yml on eddieland/loxodrome
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
loxodrome-0.0.1.tar.gz -
Subject digest:
598bf7f07e886d8693af28024ac507707880098ac343c8025ed580ca477f9841 - Sigstore transparency entry: 768100699
- Sigstore integration time:
-
Permalink:
eddieland/loxodrome@d08ea9ebf518f071dbccc3e958dceec5fdc450d6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/eddieland
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d08ea9ebf518f071dbccc3e958dceec5fdc450d6 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file loxodrome-0.0.1-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: loxodrome-0.0.1-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 448.6 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fcf6835690a9f85734f6d02446ce2f73750937c67a172f1b1ba541e1cd8123a
|
|
| MD5 |
2f1c4b5d58abbb78ca29731d5b840eb6
|
|
| BLAKE2b-256 |
082dc2af504fb8485372de7c462edae1dc72a664cc4a5da888855146b58ea37c
|
Provenance
The following attestation bundles were made for loxodrome-0.0.1-cp313-cp313-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on eddieland/loxodrome
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
loxodrome-0.0.1-cp313-cp313-manylinux_2_28_x86_64.whl -
Subject digest:
2fcf6835690a9f85734f6d02446ce2f73750937c67a172f1b1ba541e1cd8123a - Sigstore transparency entry: 768100702
- Sigstore integration time:
-
Permalink:
eddieland/loxodrome@d08ea9ebf518f071dbccc3e958dceec5fdc450d6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/eddieland
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d08ea9ebf518f071dbccc3e958dceec5fdc450d6 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file loxodrome-0.0.1-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: loxodrome-0.0.1-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 448.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e277c4ca59016c9e433ef9e2edb53ace97ce7414e9adbcaf72672dde5fb44688
|
|
| MD5 |
18735e481a517bcd19a744873054f0ec
|
|
| BLAKE2b-256 |
000ab583eb843a3a501f58322a3d128c60964ac7ddc2a49c1f23047f3d481ece
|
Provenance
The following attestation bundles were made for loxodrome-0.0.1-cp312-cp312-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on eddieland/loxodrome
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
loxodrome-0.0.1-cp312-cp312-manylinux_2_28_x86_64.whl -
Subject digest:
e277c4ca59016c9e433ef9e2edb53ace97ce7414e9adbcaf72672dde5fb44688 - Sigstore transparency entry: 768100704
- Sigstore integration time:
-
Permalink:
eddieland/loxodrome@d08ea9ebf518f071dbccc3e958dceec5fdc450d6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/eddieland
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d08ea9ebf518f071dbccc3e958dceec5fdc450d6 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file loxodrome-0.0.1-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: loxodrome-0.0.1-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 451.6 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e727870a6a3ee21211fdc43c07923f71245d0c6b5b2829810f51c227f36760a
|
|
| MD5 |
0f54bb4d543941273ea5a69d1ce71bba
|
|
| BLAKE2b-256 |
ad0789b16e98bc8e58089fcdd50406e361df087a314d10f9b6028b5724c4a891
|
Provenance
The following attestation bundles were made for loxodrome-0.0.1-cp311-cp311-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on eddieland/loxodrome
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
loxodrome-0.0.1-cp311-cp311-manylinux_2_28_x86_64.whl -
Subject digest:
1e727870a6a3ee21211fdc43c07923f71245d0c6b5b2829810f51c227f36760a - Sigstore transparency entry: 768100701
- Sigstore integration time:
-
Permalink:
eddieland/loxodrome@d08ea9ebf518f071dbccc3e958dceec5fdc450d6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/eddieland
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d08ea9ebf518f071dbccc3e958dceec5fdc450d6 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file loxodrome-0.0.1-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: loxodrome-0.0.1-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 451.7 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fca31cc69bce65da5d817b70ac30eecb132a87da6bca436dbfa6fa310c36dafc
|
|
| MD5 |
fc0d0ccbd0f5345bd5e923d071c7e1bb
|
|
| BLAKE2b-256 |
c869c0dd734909ccd942ef4e089bc6dc6ff49b5e2e41ac2a0665c6e39151b7ae
|
Provenance
The following attestation bundles were made for loxodrome-0.0.1-cp310-cp310-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on eddieland/loxodrome
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
loxodrome-0.0.1-cp310-cp310-manylinux_2_28_x86_64.whl -
Subject digest:
fca31cc69bce65da5d817b70ac30eecb132a87da6bca436dbfa6fa310c36dafc - Sigstore transparency entry: 768100700
- Sigstore integration time:
-
Permalink:
eddieland/loxodrome@d08ea9ebf518f071dbccc3e958dceec5fdc450d6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/eddieland
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d08ea9ebf518f071dbccc3e958dceec5fdc450d6 -
Trigger Event:
workflow_dispatch
-
Statement type: