Metadata-Version: 2.4
Name: w9-pathfinding
Version: 0.1.1
Summary: Implementation of some pathfinding algorithms
Home-page: https://github.com/w9PcJLyb/w9-pathfinding
Author: w9PcJLyb
License: Apache-2.0
Project-URL: Bug Tracker, https://github.com/w9PcJLyb/w9-pathfinding/issues
Project-URL: Documentation, https://w9-pathfinding.readthedocs.io/stable
Project-URL: Release Notes, https://w9-pathfinding.readthedocs.io/stable/changelog.html
Keywords: pathfinding mapf
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: setuptools
Requires-Dist: cython
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-subtests; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: numpy; extra == "dev"
Requires-Dist: matplotlib; extra == "dev"
Requires-Dist: pydantic>=2.11.0; extra == "dev"
Dynamic: author
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# W9-Pathfinding

W9-Pathfinding is a versatile pathfinding library written in C++ with a Python interface provided by Cython. It offers a variety of pathfinding algorithms for navigating different types of maps, including grids, graphs, and 3D spaces. The library includes both classic pathfinding algorithms and multi-agent pathfinding algorithms.

Full documentation is available at: https://w9-pathfinding.readthedocs.io/stable

[![Apache-2.0 license](https://img.shields.io/github/license/w9PcJLyb/w9-pathfinding)](https://github.com/w9PcJLyb/w9-pathfinding/blob/main/LICENSE)
[![PyPI](https://img.shields.io/pypi/v/w9-pathfinding)](https://pypi.org/project/w9-pathfinding/)

### Key Features:

- Supports multiple environments: graphs, 2D/3D grids, and hexagonal grids
- Works with both weighted and unweighted environments
- Includes classical pathfinding algorithms (BFS, Dijkstra, A*, etc.)
- Includes multi-agent pathfinding algorithms (CBS, ICTS, WHCA*, and more)
- Supports pathfinding with dynamic obstacles
- Built-in visualization tools for debugging and demonstrations

### Quick start:

```python
from w9_pathfinding.envs import Grid
from w9_pathfinding.pf import Dijkstra

grid = Grid(width=4, height=3)
grid.add_obstacle((1, 1))

finder = Dijkstra(grid)
path = finder.find_path((0, 0), (3, 2))
print(path)
```

See more examples in the [Usage Guide](https://w9-pathfinding.readthedocs.io/stable/usage.html).

### Installation:

```bash
pip install w9-pathfinding
```
