{"id":17623520,"url":"https://github.com/jannikmi/extremitypathfinder","last_synced_at":"2025-04-06T01:07:57.436Z","repository":{"id":40472157,"uuid":"149986881","full_name":"jannikmi/extremitypathfinder","owner":"jannikmi","description":"python package for fast shortest path computation on 2D polygon or grid maps","archived":false,"fork":false,"pushed_at":"2025-01-13T18:25:48.000Z","size":3070,"stargazers_count":44,"open_issues_count":13,"forks_count":12,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T00:07:07.807Z","etag":null,"topics":["astar-pathfinding","graph-algorithms","gridworld","multipolygon","navigation","offline-path-planners","path","path-planning","pathfinder","pathfinding","pathfinding-algorithm","polygon","robotics","shortest-path","shortest-path-algorithm","shortest-pathfinding-algorithm","shortest-paths","visibility","visibility-graph","visibility-graph-algorithm"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/extremitypathfinder/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jannikmi.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["MrMinimal64"],"issuehunt":"mrminimal64"}},"created_at":"2018-09-23T13:27:12.000Z","updated_at":"2025-02-26T02:26:31.000Z","dependencies_parsed_at":"2023-01-25T23:31:11.304Z","dependency_job_id":"f9e716c4-6384-41b5-9f18-a46f42b6b35d","html_url":"https://github.com/jannikmi/extremitypathfinder","commit_stats":{"total_commits":217,"total_committers":8,"mean_commits":27.125,"dds":0.2626728110599078,"last_synced_commit":"8f5759f12e2957c6dd6e6eb9703d0f007f6a64cb"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2Fextremitypathfinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2Fextremitypathfinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2Fextremitypathfinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2Fextremitypathfinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jannikmi","download_url":"https://codeload.github.com/jannikmi/extremitypathfinder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419860,"owners_count":20936012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["astar-pathfinding","graph-algorithms","gridworld","multipolygon","navigation","offline-path-planners","path","path-planning","pathfinder","pathfinding","pathfinding-algorithm","polygon","robotics","shortest-path","shortest-path-algorithm","shortest-pathfinding-algorithm","shortest-paths","visibility","visibility-graph","visibility-graph-algorithm"],"created_at":"2024-10-22T21:10:25.081Z","updated_at":"2025-04-06T01:07:57.414Z","avatar_url":"https://github.com/jannikmi.png","language":"Python","funding_links":["https://github.com/sponsors/MrMinimal64","https://issuehunt.io/r/mrminimal64"],"categories":[],"sub_categories":[],"readme":"===================\nextremitypathfinder\n===================\n\n..\n    Note: can't include the badges file from the docs here, as it won't render on PyPI -\u003e sync manually\n\n\n.. image:: https://github.com/jannikmi/extremitypathfinder/actions/workflows/build.yml/badge.svg?branch=master\n    :target: https://github.com/jannikmi/extremitypathfinder/actions?query=branch%3Amaster\n\n.. image:: https://readthedocs.org/projects/extremitypathfinder/badge/?version=latest\n    :alt: documentation status\n    :target: https://extremitypathfinder.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/pypi/wheel/extremitypathfinder.svg\n    :target: https://pypi.python.org/pypi/extremitypathfinder\n\n.. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white\n   :target: https://github.com/pre-commit/pre-commit\n   :alt: pre-commit\n\n.. image:: https://pepy.tech/badge/extremitypathfinder\n    :alt: Total PyPI downloads\n    :target: https://pepy.tech/project/extremitypathfinder\n\n.. image:: https://img.shields.io/pypi/v/extremitypathfinder.svg\n    :alt: latest version on PyPI\n    :target: https://pypi.python.org/pypi/extremitypathfinder\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :target: https://github.com/psf/black\n\npython package for fast geometric shortest path computation in 2D multi-polygon or grid environments based on visibility graphs.\n\n\n.. image:: ./docs/_static/title_demo_plot.png\n\n\nQuick Guide:\n\nInstall the package with the optional Numba extra for a significant speedup:\n\n.. code-block:: console\n\n    pip install extremitypathfinder[numba]\n\n\n.. code-block:: python\n\n    from extremitypathfinder import PolygonEnvironment\n\n    environment = PolygonEnvironment()\n    # counter clockwise vertex numbering!\n    boundary_coordinates = [(0.0, 0.0), (10.0, 0.0), (9.0, 5.0), (10.0, 10.0), (0.0, 10.0)]\n    # clockwise numbering!\n    list_of_holes = [\n        [\n            (3.0, 7.0),\n            (5.0, 9.0),\n            (4.5, 7.0),\n            (5.0, 4.0),\n        ],\n    ]\n    environment.store(boundary_coordinates, list_of_holes, validate=False)\n    start_coordinates = (4.5, 1.0)\n    goal_coordinates = (4.0, 8.5)\n    path, length = environment.find_shortest_path(start_coordinates, goal_coordinates)\n\n\nFor more refer to the `documentation \u003chttps://extremitypathfinder.readthedocs.io/en/latest/\u003e`__.\n\n\nAlso see:\n`GitHub \u003chttps://github.com/jannikmi/extremitypathfinder\u003e`__,\n`PyPI \u003chttps://pypi.python.org/pypi/extremitypathfinder/\u003e`__\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjannikmi%2Fextremitypathfinder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjannikmi%2Fextremitypathfinder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjannikmi%2Fextremitypathfinder/lists"}