<p align="center">
  <img src="https://github.com/topotoolbox/pytopotoolbox/blob/main/docs/logo.png?raw=true" alt="pytopotoolbox Logo">
</p>

-------------------

[![GitHub Release](https://img.shields.io/github/v/release/topotoolbox/pytopotoolbox)](https://github.com/TopoToolbox/pytopotoolbox/releases/tag/v0.0.1)
[![PyPI - Version](https://img.shields.io/pypi/v/topotoolbox)](https://pypi.org/project/topotoolbox/)
[![Tests](https://github.com/topotoolbox/pytopotoolbox/workflows/CI/badge.svg)](https://github.com/topotoolbox/pytopotoolbox/actions)
[![GitHub License](https://img.shields.io/github/license/topotoolbox/pytopotoolbox)](https://github.com/TopoToolbox/pytopotoolbox#GPL-3.0-1-ov-file)
[![DOI](https://zenodo.org/badge/777258209.svg)](https://doi.org/10.5281/zenodo.16742408)

# pytopotoolbox

**TopoToolbox** is a Python library that provides a set of functions and classes that support the analysis of relief and flow pathways in digital elevation models (DEMs). The major aim of TopoToolbox is to offer helpful analytical GIS utilities in a non-GIS environment in order to support the simultaneous application of GIS-specific and other quantitative methods.

The documentation is located at [https://topotoolbox.github.io/pytopotoolbox/](https://topotoolbox.github.io/pytopotoolbox/).

This python library is based on the [TopoToolbox](https://topotoolbox.wordpress.com/) for Matlab and uses the API provided by [libtopotoolbox](https://topotoolbox.github.io/libtopotoolbox/) to compute efficiently.

## Getting started

To get started head to [pytopotoolbox/tutorial](https://topotoolbox.github.io/pytopotoolbox/tutorial.html). If you need more examples see [pytopotoolbox/examples](https://topotoolbox.github.io/pytopotoolbox/examples.html) or reference the API documentation [pytopotoolbox/api](https://topotoolbox.github.io/pytopotoolbox/api.html).

The examples can also be downloaded as Jupyter Notebook files from [docs/examples](./docs/examples). Feel free to download and play around with them to gain a better understanding of the functionality of the TopoToolbox.

## Installation

TopoToolbox is available in the [Python Package
Index](https://pypi.org/project/topotoolbox/). With Python version 3.10
or later and `pip` installed, you can run

```bash
pip install --upgrade topotoolbox
```

to install the latest release from the Python Package Index. If you
run into problems with installation, please open an
[issue](https://github.com/TopoToolbox/pytopotoolbox/issues/new/).

## Contributing

If you would like to contribute to pytopotoolbox, check out the [Contribution Guidelines](./docs/CONTRIBUTING.md).

## License

This project is licensed under the GPL-3.0 (GNU) License - see the [LICENSE](./LICENSE) file for details.
