Skip to main content

extremitypathfinder

https://github.com/jannikmi/extremitypathfinder/actions/workflows/build.yml/badge.svg?branch=master documentation status https://img.shields.io/pypi/wheel/extremitypathfinder.svg pre-commit Total PyPI downloads latest version on PyPI https://img.shields.io/badge/code%20style-black-000000.svg

python package for fast geometric shortest path computation in 2D multi-polygon or grid environments based on visibility graphs.

./docs/_static/title_demo_plot.png

Supported versions

Python >=3.12,<4 is accepted; CI currently tests CPython 3.12–3.14. Dependencies are NetworkX 3.x and NumPy >=2.3.3,<3. Python <3.12 and NumPy <2.3.3 are no longer supported.

The Python and NumPy floors stay within the September 2026 downstream support window in NEP 29, now superseded by SPEC 0. Both policies exclude Python 3.11 by this date. This compatibility window is narrower than CPython’s security support lifetime. Review the floors for future releases; SPEC 0 recommends dropping Python 3.12 in October 2026. The dependency minimums are shared across all tested Python versions. These recommendations do not promise upstream bug fixes for every included NumPy release. CI runs the full suite with minimum and latest compatible dependencies, both with and without the numba extra, on every supported Python version.

The optional numba extra installs Numba >=0.63,<1 and SciPy >=1.16.1,<2. SciPy supplies the compiled linear algebra routines. Pip selects compatible versions; Numba may constrain NumPy more tightly than the ordinary installation. Acceleration depends on Numba/llvmlite platform support and adds installation size and initial compilation time. Standard, GIL-enabled CPython is tested; free-threaded builds and alternative interpreters are not covered by CI.

Quick Guide:

Install the package with the optional Numba extra for a significant speedup:

pip install "extremitypathfinder[numba]"
from extremitypathfinder import PolygonEnvironment

environment = PolygonEnvironment()
# counter clockwise vertex numbering!
boundary_coordinates = [(0.0, 0.0), (10.0, 0.0), (9.0, 5.0), (10.0, 10.0), (0.0, 10.0)]
# clockwise numbering!
list_of_holes = [
    [
        (3.0, 7.0),
        (5.0, 9.0),
        (4.5, 7.0),
        (5.0, 4.0),
    ],
]
environment.store(boundary_coordinates, list_of_holes, validate=False)
start_coordinates = (4.5, 1.0)
goal_coordinates = (4.0, 8.5)
path, length = environment.find_shortest_path(start_coordinates, goal_coordinates)

For more refer to the documentation.

Also see: GitHub, PyPI

Download files

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

Source Distribution

extremitypathfinder-2.8.0.tar.gz (46.7 kB view details)

Uploaded Source

Built Distribution

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

extremitypathfinder-2.8.0-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file extremitypathfinder-2.8.0.tar.gz.

File metadata

  • Download URL: extremitypathfinder-2.8.0.tar.gz
  • Upload date:
  • Size: 46.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for extremitypathfinder-2.8.0.tar.gz
Algorithm Hash digest
SHA256 3238fb24068288febd87e23ca2896d7a7e0acfcafc2c0747944f524f2bd7941b
MD5 6e32b6fdc24e0d11841ac276da333b84
BLAKE2b-256 04fccec9b833c9f33367e567f0d655827e08b8b7740e0b51342a622ecc8e30b8

See more details on using hashes here.

File details

Details for the file extremitypathfinder-2.8.0-py3-none-any.whl.

File metadata

File hashes

Hashes for extremitypathfinder-2.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 66def468f510df8211ef2b766e8b103dd7c03706c05cd033d152fa4c54a761b0
MD5 bb8d2e90c52a778b89b2d39e2ff5b452
BLAKE2b-256 8ba2babcd7af954d8001dded13878fe60337201ddf299e039ec7a5f3d3868719

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.8.0 This release

2 files

2.7.2

2 files

2.7.1

2 files

2.7.0

2 files

2.6.0

2 files

2.5.0

2 files

2.4.1

2 files

2.4.0

2 files

2.3.0

2 files

2.2.3

2 files

2.2.2

2 files

2.2.1

2 files

2.1.0

2 files

2.0.0

2 files

1.5.0

2 files

1.4.0

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 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