Open Source Software and Tool Development

Open source refers to a (programming) tool or project where the (source) or the code used to build the tool is available for anyone to see, use and contribute to. If the tool is free, it will be referred to as FOSS or Free Open Source Software. To make it easier to teach earth data science I help build free open source software tools. Below are some of the free-to-use open source projects that i’m currently leading.

pyOpenSci

pyOpenSci is a community that promotes open science through supporting development and peer review of scientific software written in the Python programming language. pyOpenSci is modeled after rOpenSci.

I currently am organizing and leading the pyOpenSci effort with several colleagues. We are now solidifying the peer review process and gathering community support. Ultimately we’d like to see it grow as rOpenSci has and have funded full time positions in addition to the wealth of community contributed time.

Learn more at pyOpenSci.org.

Open Source Software Tools That I Am Currently Working On

I am leading the development of several free open source software tools for Python. These tools have been developed collaboratively with colleagues at Earth Lab, undergraduate interns and graduate students. EarthPy is used extensively as a part of the earth-analytics-python open education course. Matplotcheck was designed to support unit testing of plots for autograding student assignment. It also is useful for developing unit tests in Python packages that have plots.

customizable

EarthPy

A free and open Python package that makes it easier to plot, manipulate and use spatial data using open source tools like rasterio, geopandas, matplotlib and numpy.

View docs (external link)

customizable

Matplotcheck

A free and open Python package that makes it easier to test and validate matplotlib plots. This was built to support autograding student assignments but also is useful for writing unit tests for software.

View docs (external link)

customizable

Autograding Platform

I use github classroom, JupyterHub and nbgrader to support all things data science education. I am leading the development of a set of tools that make it easier to manage github classroom, and grade student assignments.