Metadata-Version: 2.4
Name: geoutils
Version: 0.2.4
Summary: Analysis of georeferenced rasters, vectors and point clouds
Home-page: https://github.com/GlacioHack/geoutils
Download-URL: https://pypi.org/project/geoutils/
Author: GeoUtils developers
License: Apache-2.0
Keywords: raster,vector,point,geospatial,gis,xarray,pandas
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Topic :: Scientific/Engineering :: Image Processing
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Programming Language :: Python
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: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: <3.15,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: geopandas>=0.12.0
Requires-Dist: rasterio>=1.3
Requires-Dist: scipy==1.*
Requires-Dist: xarray>2023
Requires-Dist: rioxarray==0.*
Requires-Dist: pyproj==3.*
Requires-Dist: pandas<3,>=1
Requires-Dist: numpy<3,>=1
Requires-Dist: affine
Requires-Dist: shapely
Requires-Dist: pyogrio
Provides-Extra: opt
Requires-Dist: laspy[lazrs]; extra == "opt"
Requires-Dist: numba; extra == "opt"
Requires-Dist: dask; extra == "opt"
Requires-Dist: matplotlib; extra == "opt"
Requires-Dist: psutil; extra == "opt"
Requires-Dist: plotly; extra == "opt"
Provides-Extra: test
Requires-Dist: gdal; extra == "test"
Requires-Dist: pytest<8,>=7; extra == "test"
Requires-Dist: pytest-xdist; extra == "test"
Requires-Dist: pytest-lazy-fixtures; extra == "test"
Requires-Dist: pytest-instafail; extra == "test"
Requires-Dist: pytest-socket; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: coveralls; extra == "test"
Requires-Dist: pyyaml; extra == "test"
Requires-Dist: flake8; extra == "test"
Requires-Dist: netcdf4; extra == "test"
Requires-Dist: pre-commit; extra == "test"
Provides-Extra: doc
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: sphinx-book-theme; extra == "doc"
Requires-Dist: sphinx-gallery; extra == "doc"
Requires-Dist: sphinx-design; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints; extra == "doc"
Requires-Dist: sphinxcontrib-programoutput; extra == "doc"
Requires-Dist: sphinx-argparse; extra == "doc"
Requires-Dist: autovizwidget; extra == "doc"
Requires-Dist: graphviz; extra == "doc"
Requires-Dist: myst-nb; extra == "doc"
Requires-Dist: numpydoc; extra == "doc"
Requires-Dist: typing-extensions; extra == "doc"
Provides-Extra: dev
Requires-Dist: laspy[lazrs]; extra == "dev"
Requires-Dist: numba; extra == "dev"
Requires-Dist: dask; extra == "dev"
Requires-Dist: matplotlib; extra == "dev"
Requires-Dist: psutil; extra == "dev"
Requires-Dist: plotly; extra == "dev"
Requires-Dist: gdal; extra == "dev"
Requires-Dist: pytest<8,>=7; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: pytest-lazy-fixtures; extra == "dev"
Requires-Dist: pytest-instafail; extra == "dev"
Requires-Dist: pytest-socket; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: coveralls; extra == "dev"
Requires-Dist: pyyaml; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: netcdf4; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: sphinx; extra == "dev"
Requires-Dist: sphinx-book-theme; extra == "dev"
Requires-Dist: sphinx-gallery; extra == "dev"
Requires-Dist: sphinx-design; extra == "dev"
Requires-Dist: sphinx-autodoc-typehints; extra == "dev"
Requires-Dist: sphinxcontrib-programoutput; extra == "dev"
Requires-Dist: sphinx-argparse; extra == "dev"
Requires-Dist: autovizwidget; extra == "dev"
Requires-Dist: graphviz; extra == "dev"
Requires-Dist: myst-nb; extra == "dev"
Requires-Dist: numpydoc; extra == "dev"
Requires-Dist: typing-extensions; extra == "dev"
Requires-Dist: psutil; extra == "dev"
Requires-Dist: plotly; extra == "dev"
Provides-Extra: all
Requires-Dist: laspy[lazrs]; extra == "all"
Requires-Dist: numba; extra == "all"
Requires-Dist: dask; extra == "all"
Requires-Dist: matplotlib; extra == "all"
Requires-Dist: psutil; extra == "all"
Requires-Dist: plotly; extra == "all"
Requires-Dist: gdal; extra == "all"
Requires-Dist: pytest<8,>=7; extra == "all"
Requires-Dist: pytest-xdist; extra == "all"
Requires-Dist: pytest-lazy-fixtures; extra == "all"
Requires-Dist: pytest-instafail; extra == "all"
Requires-Dist: pytest-socket; extra == "all"
Requires-Dist: pytest-cov; extra == "all"
Requires-Dist: coveralls; extra == "all"
Requires-Dist: pyyaml; extra == "all"
Requires-Dist: flake8; extra == "all"
Requires-Dist: netcdf4; extra == "all"
Requires-Dist: pre-commit; extra == "all"
Requires-Dist: sphinx; extra == "all"
Requires-Dist: sphinx-book-theme; extra == "all"
Requires-Dist: sphinx-gallery; extra == "all"
Requires-Dist: sphinx-design; extra == "all"
Requires-Dist: sphinx-autodoc-typehints; extra == "all"
Requires-Dist: sphinxcontrib-programoutput; extra == "all"
Requires-Dist: sphinx-argparse; extra == "all"
Requires-Dist: autovizwidget; extra == "all"
Requires-Dist: graphviz; extra == "all"
Requires-Dist: myst-nb; extra == "all"
Requires-Dist: numpydoc; extra == "all"
Requires-Dist: typing-extensions; extra == "all"
Requires-Dist: psutil; extra == "all"
Requires-Dist: plotly; extra == "all"
Dynamic: download-url
Dynamic: license-file

# GeoUtils: consistent geospatial analysis in Python.

![](https://readthedocs.org/projects/geoutils/badge/?version=latest)
[![build](https://github.com/GlacioHack/geoutils/actions/workflows/python-tests.yml/badge.svg)](https://github.com/GlacioHack/GeoUtils/actions/workflows/python-tests.yml)
[![Conda Version](https://img.shields.io/conda/vn/conda-forge/geoutils.svg)](https://anaconda.org/conda-forge/geoutils)
[![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/geoutils.svg)](https://anaconda.org/conda-forge/geoutils)
[![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/geoutils.svg)](https://anaconda.org/conda-forge/geoutils)
[![PyPI version](https://badge.fury.io/py/geoutils.svg)](https://badge.fury.io/py/geoutils)
[![Coverage Status](https://coveralls.io/repos/github/GlacioHack/geoutils/badge.svg?branch=main)](https://coveralls.io/github/GlacioHack/geoutils?branch=main)

[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/GlacioHack/geoutils/main)
[![Pre-Commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Formatted with black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)
[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)

**GeoUtils** is an open source project to develop a core Python package for geospatial analysis and foster inter-operability between other Python GIS packages.

It aims at **facilitating end-user geospatial analysis by revolving around consistent `Raster` and `Vector` objects** that effortlessly interface between
themselves. GeoUtils is founded on **implicit loading behaviour**, **robust numerical interfacing** and **convenient object-based methods** to easily perform
the most common higher-level tasks needed by geospatial users.

If you are looking for an accessible Python package to write the Python equivalent of your [GDAL](https://gdal.org/) command lines, or of your
[QGIS](https://www.qgis.org/en/site/) analysis pipeline **without a steep learning curve** on Python GIS syntax, GeoUtils is perfect for you! For more advanced
users, GeoUtils also aims at being efficient and scalable by supporting lazy loading and parallel computing (ongoing).

GeoUtils relies on [Rasterio](https://github.com/rasterio/rasterio), [GeoPandas](https://github.com/geopandas/geopandas) and [Pyproj](https://github.com/pyproj4/pyproj) for georeferenced
calculations, and on [NumPy](https://github.com/numpy/numpy) and [Xarray](https://github.com/pydata/xarray) for numerical analysis. It allows easy access to
the functionalities of these packages through interfacing or composition, and quick inter-operability through object conversion.

## Documentation

For a quick start, full feature description or search through the API, see GeoUtils' documentation at: https://geoutils.readthedocs.io.

## Installation

```bash
mamba install -c conda-forge geoutils
```

See [mamba's documentation](https://mamba.readthedocs.io/en/latest/) to install `mamba`, which will solve your environment much faster than `conda`.

## Start contributing

1. Fork the repository, make a feature branch and push changes.
2. When ready, submit a pull request from the feature branch of your fork to `GlacioHack/geoutils:main`.
3. The PR will be reviewed by at least one maintainer, discussed, then merged.

More info on [our contributing page](CONTRIBUTING.md).
