Metadata-Version: 2.3
Name: tuw_raster_geometry
Version: 1.0.0
Summary: Contains geometry classes for common raster operations.
Author: TU Wien GEO RS Group
Author-email: TU Wien GEO RS Group <remote.sensing@geo.tuwien.ac.at>
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Topic :: Software Development :: Libraries
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: POSIX
Classifier: Natural Language :: English
Requires-Dist: numpy
Requires-Dist: dask ; extra == 'dask'
Requires-Dist: pytileproj ; extra == 'pytileproj'
Requires-Dist: rasterio ; extra == 'rasterio'
Requires-Python: >=3.10
Project-URL: Repository, https://github.com/TUW-GEO/tuw-raster-geometry
Provides-Extra: dask
Provides-Extra: pytileproj
Provides-Extra: rasterio
Description-Content-Type: text/markdown

# tuw_raster_geometry

[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![Static Badge](https://img.shields.io/badge/TU_Wien_GEO-Project-gray?style=flat&labelColor=%23006699&color=gray&link=https%3A%2F%2Fwww.tuwien.at%2Fen%2Fmg%2Fgeo)](https://www.tuwien.at/mg/geo)

<!-- NOTE: You could add the coverage badge created with Github Actions for example-->

> [!WARNING]
> Add your own documentation!

> [!IMPORTANT]
> This project uses `uv` for package management and `Just` for task automation.
> To install `uv` check the [uv documentation].
> To install `Just`, follow the instructions in the [Just documentation].

## First Steps

After you have just used the `cookiecutter` to create this repo, you might want to follow these steps:

1. Initialize a git repo with `git init` or `just init`
2. Install the Pre-Commit Hooks, to identify simple issues before commiting. You can run `just hooks` or use `uvx pre-commit install`
3. Set up a virtual environment. You might want to use `uv add <package>` to add dependencies to your project (no `pip install` necessary)

## Development

The Pre-commit Hooks will lint and format your code, aswell as running some checks.
In order to use the Pre-commit hooks, run:

```bash
uvx pre-commit install

# or use the Justfile
just hooks
```

> [!TIP]
> Checkout the `Justfile` or list all recipes with `just`
> to find commands that help you in your work.

By default cody quality checks (formatter, linter and type-checker) are inplace, via `Github Actions` and `GitLab CI/CD`,
which does the same as the `pre-commit` hooks.

Additionally the same code quality checks can be run manually via:

```bash
just check

# or manually with
uvx ruff check . --fix
uvx ruff format .
uvx ty check
```

> [!IMPORTANT]
> The configuration for the linter, the formatter and the typechecker can be done in the `pyproject.toml` file.
> By default ALL Linting Rules are enabled. If some rule are not desired in the project use the `exclude` field to disregard them.

Further more there are example `docs` in this repository, which you can use as a startingpoint for your code documentation.
A certain framework has been choosen, but it only serves as a suggestion to you.

[Just documentation]: https://github.com/casey/just
[uv documentation]: https://docs.astral.sh/uv/getting-started/installation/
