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 am currently leading development of.
pyOpenSci: Peer Reviewed, Documented, Tested and Discoverable Open Source Software for Science
pyOpenSci is a community modeled after rOpenSci that promotes open science
through supporting development and peer review of scientific software written in
Python programming language.
I currently am organizing and leading the pyOpenSci effort with several colleagues. In the past 2 years we have:
- Developed a robust peer review process
- Created and published a contributing guide that provides guidelines and standards for Python packages
- Created a partnership with JOSS (Journal of Open Source Software) to ensure they are citable.
- Gathered extensive community support.
- Reviewed a suite of open source python packages harnessing the power of volunteer reviewers and editors.
I am currently serving as the editor in chief but am also actively seeking funding for this project to support hiring someone to work on this project full time.
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.
A Python package that makes it easier to plot, manipulate and use spatial data. It also includes tools to manage data downloads and home directories.
A Python package that makes it easier to test and validate matplotlib plots. This tool supports autograding student assignments and can be used in Jupyter Noteboks.
A tool that makes managing github classroom repository management and grading easier.
Earth Analytics Python Conda Environment
A curated conda environment and docker container that has a suite of spatial tools that support teaching and learning spatial open source python..
JupyterHub for Earth Analytics Teaching
A JupyterHub deployment system that supports multiple hubs with different configurations including custom environments, compute settings and more setup through Google Cloud.