{"id":28564933,"url":"https://github.com/alter15926/pathfinding","last_synced_at":"2025-06-10T14:03:06.274Z","repository":{"id":293721353,"uuid":"984870846","full_name":"alter15926/pathfinding","owner":"alter15926","description":"A simple pathfinding module based on the A-star algorithm","archived":false,"fork":false,"pushed_at":"2025-06-07T03:47:09.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-07T04:27:28.247Z","etag":null,"topics":["2d","2d-navmesh","3d","algorithm","asynchronous","kuhn-munkres","path-planning","pathfinding-algorithm","python","sprites","steering-behaviors","tilemap","unity","unity-2d-pathfinding"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":false,"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/alter15926.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"zenodo":null}},"created_at":"2025-05-16T16:42:57.000Z","updated_at":"2025-06-07T03:47:13.000Z","dependencies_parsed_at":"2025-06-07T04:24:43.384Z","dependency_job_id":"d045b2a7-a610-40f9-b50f-c2e0bc2f646c","html_url":"https://github.com/alter15926/pathfinding","commit_stats":null,"previous_names":["alter15926/pathfinding"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alter15926%2Fpathfinding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alter15926%2Fpathfinding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alter15926%2Fpathfinding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alter15926%2Fpathfinding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alter15926","download_url":"https://codeload.github.com/alter15926/pathfinding/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alter15926%2Fpathfinding/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259088470,"owners_count":22803642,"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":["2d","2d-navmesh","3d","algorithm","asynchronous","kuhn-munkres","path-planning","pathfinding-algorithm","python","sprites","steering-behaviors","tilemap","unity","unity-2d-pathfinding"],"created_at":"2025-06-10T14:01:12.109Z","updated_at":"2025-06-10T14:03:06.263Z","avatar_url":"https://github.com/alter15926.png","language":"C","readme":"# Pathfinding Module 🌟\n\n![Pathfinding](https://img.shields.io/badge/Pathfinding-A%2A%20Algorithm-blue)\n\nWelcome to the **Pathfinding** repository! This module provides a straightforward implementation of the A-star algorithm, designed to help you find the shortest path in a grid or graph. Whether you are building a game, a robot navigation system, or just exploring algorithms, this module will serve as a solid foundation.\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Examples](#examples)\n- [Contributing](#contributing)\n- [License](#license)\n- [Releases](#releases)\n\n## Features\n\n- **Easy to Use**: The module is designed with simplicity in mind. You can integrate it into your projects without hassle.\n- **Efficient**: The A-star algorithm is one of the most efficient pathfinding algorithms available, making it suitable for real-time applications.\n- **Customizable**: You can modify the heuristic function to suit your specific needs.\n- **Supports Diagonal Movement**: The module can handle diagonal movements, allowing for more natural pathfinding in grid-based environments.\n\n## Installation\n\nTo install the Pathfinding module, you can clone this repository or download the latest release. To download, visit the [Releases section](https://github.com/alter15926/pathfinding/releases). \n\n```bash\ngit clone https://github.com/alter15926/pathfinding.git\n```\n\nAfter cloning, navigate to the directory:\n\n```bash\ncd pathfinding\n```\n\nYou can then install the required dependencies. If you are using Python, you can use pip:\n\n```bash\npip install -r requirements.txt\n```\n\n## Usage\n\nUsing the Pathfinding module is straightforward. Here’s a simple example to get you started:\n\n```python\nfrom pathfinding import AStar\n\n# Define your grid\ngrid = [\n    [0, 1, 0, 0],\n    [0, 1, 0, 1],\n    [0, 0, 0, 0],\n    [1, 1, 0, 0]\n]\n\n# Create an instance of the AStar class\npathfinder = AStar(grid)\n\n# Find the path from start to end\nstart = (0, 0)\nend = (3, 3)\npath = pathfinder.find_path(start, end)\n\nprint(\"Path found:\", path)\n```\n\n### Parameters\n\n- **grid**: A 2D list representing the grid where `0` is a walkable cell and `1` is an obstacle.\n- **start**: A tuple representing the starting point in the grid.\n- **end**: A tuple representing the endpoint in the grid.\n\n### Return Value\n\nThe `find_path` method returns a list of tuples representing the path from the start to the end point.\n\n## Examples\n\nHere are a few more examples to demonstrate the capabilities of the Pathfinding module:\n\n### Example 1: Simple Grid\n\n```python\ngrid = [\n    [0, 0, 0, 0],\n    [0, 1, 1, 0],\n    [0, 0, 0, 0],\n    [0, 1, 0, 0]\n]\n\npathfinder = AStar(grid)\npath = pathfinder.find_path((0, 0), (3, 3))\nprint(\"Path found:\", path)\n```\n\n### Example 2: Complex Obstacles\n\n```python\ngrid = [\n    [0, 1, 0, 0, 0],\n    [0, 1, 1, 1, 0],\n    [0, 0, 0, 1, 0],\n    [0, 1, 0, 0, 0],\n    [0, 0, 0, 1, 0]\n]\n\npathfinder = AStar(grid)\npath = pathfinder.find_path((0, 0), (4, 4))\nprint(\"Path found:\", path)\n```\n\n## Contributing\n\nWe welcome contributions to the Pathfinding module! If you would like to help improve this project, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Make your changes and commit them.\n4. Push your branch to your fork.\n5. Open a pull request.\n\nPlease ensure that your code adheres to the existing style and includes appropriate tests.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n\n## Releases\n\nTo download the latest version of the Pathfinding module, visit the [Releases section](https://github.com/alter15926/pathfinding/releases). You can find the necessary files to download and execute.\n\n## Additional Resources\n\n- [A-star Algorithm Overview](https://en.wikipedia.org/wiki/A*_search_algorithm)\n- [Pathfinding Visualizations](https://pathfinding.js.org/)\n\nFeel free to explore and use the Pathfinding module in your projects. If you have any questions or suggestions, don't hesitate to reach out!","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falter15926%2Fpathfinding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falter15926%2Fpathfinding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falter15926%2Fpathfinding/lists"}