A package built to support working with spatial data using open source python

  • Users starred: 171
  • Users forked: 77
  • Users watching: 13
  • Updated at: 2020-06-19 07:08:53

DOI pyOpenSci Build Status Build status codecov Docs build Code style: black


PyPI PyPI - Downloads Conda Conda

EarthPy makes it easier to plot and manipulate spatial data in Python.

Why EarthPy?

Python is a generic programming language designed to support many different applications. Because of this, many commonly performed spatial tasks for science including plotting and working with spatial data take many steps of code. EarthPy builds upon the functionality developed for raster data (rasterio) and vector data (geopandas) in Python and simplifies the code needed to:

EarthPy also has an io module that allows users to

  1. Quickly access pre-created data subsets used in the earth-analytics courses hosted on
  2. Download other datasets that they may want to use in their workflows.

EarthPy's design was inspired by the raster and sp package functionality available to R users.

View Example EarthPy Applications in Our Documentation Gallery

Check out our vignette gallery for applied examples of using EarthPy in common spatial workflows.


EarthPy can be installed using pip, but we strongly recommend that you install it using conda and the conda-forge channel.

Install Using Conda / conda-forge Channel (Preferred)

If you are working within an Anaconda environment, we suggest that you install EarthPy using conda-forge

$ conda install -c conda-forge earthpy

Note: if you want to set conda-forge as your default conda channel, you can use the following install workflow. We recommmend this approach. Once you have run conda config, you can install earthpy without specifying a channel.

$ conda config --add channels conda-forge
$ conda install earthpy

Install via Pip

We strongly suggest that you install EarthPy using conda-forge given pip can be more prone to spatial library dependency conflicts. However, you can install earthpy using pip.

To install EarthPy via pip use:

$ pip install --upgrade earthpy

Once you have successfully installed EarthPy, you can import it into Python.

>>> import earthpy.plot as ep

Below is a quick example of plotting multiple bands in a numpy array format.

>>> arr = np.random.randint(4, size=(3, 5, 5))
>>> ep.plot_bands(arr, titles=["Band 1", "Band 2", "Band 3"])

Active Maintainers

We welcome contributions to EarthPy. Below are the current active package maintainers. Please see our contributors file for a complete list of all of our contributors.

Leah Wasser Max Joseph Joseph McGlinchy Jenny Palomino Nathan Korinek


We've welcome any and all contributions. Below are some of the contributors to EarthPy. We are currently trying to update this list!!

Michelle Roby Tim Head Michelle Roby Michelle Roby

How to Contribute

We welcome contributions to EarthPy! Please be sure to check out our contributing guidelines for more information about submitting pull requests or changes to EarthPy.

License & Citation


Citation Information

When citing EarthPy, please cite our JOSS paper:

	journal = {Journal of Open Source Software},
	doi = {10.21105/joss.01886},
	issn = {2475-9066},
	number = {43},
	publisher = {The Open Journal},
	title = {EarthPy: A Python package that makes it easier to explore and plot raster and vector data using open source Python tools.},
	url = {},
	volume = {4},
	author = {Wasser, Leah and Joseph, Maxwell and McGlinchy, Joe and Palomino, Jenny and Korinek, Nathan and Holdgraf, Chris and Head, Tim},
	pages = {1886},
	date = {2019-11-13},
	year = {2019},
	month = {11},
	day = {13},