pyOpenSci is devoted to building diverse, supportive community around the Python open source tools that drive open science. We do this through:
- open peer review
- mentorship
- training
pyOpenSci is an independent organization, fiscally sponsored by Community Initiatives.
This repo contains lessons being developed for pyOpenSci training events. This living repo is under active development. Please expect the contents to change at any time! With that said all contributions are always welcome!
- Click on the Binder badge at the top of this README.
- Wait 15-60 seconds and Binder will open a Jupyter Lab instance for you to use.
- We use Jupytext to author our notebooks and lessons.
These lessons are stored as Markdown (
.md
) files. - To open a Markdown (Jupytext file) file, highlight the file in the left sidebar and right click to bring up a context sensitive menu. Select "Open with Jupytext".
- Enjoy discovering and learning in the notebook. Remember Shift-Enter or the play button executes a highlighted cell
We use Codespaces in some lessons to offer a fully configured, general coding environment for users.
Thank you to 2i2c for providing a Binder instance that we can use for workshops. We're grateful for the work that they are doing to support open learning and discovery.
Thanks goes to these wonderful people (emoji key):
Leah Wasser 💻 ✅ 📖 |
Jeremy Paige 👀 |
Carol Willing 👀 |
Jonny Saunders 💻 👀 |
This project follows the all-contributors specification. Contributions of any kind welcome!
We welcome and issues and pull requests to improve the content of these lessons. If you'd like to see an improvement, please open an issue.
This repository contains the source files for the pyOpenSci Tutorials. We use Jupytext, MystMarkdown and Sphinx to maintain these lessons.
Our guidebook is built with Sphinx which is a documentation tool and uses the pyos-sphinx-theme which customizes the pydata-sphinx-theme.
The easiest way to build our documentation is to use the nox
automation tool,
a tool for quickly building environments and running
commands within them.
Using nox
ensures that your environment has all the dependencies needed to build the documentation.
To build, follow these steps:
-
Install
nox
python -m pip install nox
-
Build the documentation:
nox -s docs-test
This should create a local environment in a .nox
folder, build the documentation (as specified in the noxfile.py
configuration), and the output will be in _build/html
.
To build live documentation that updates when you update local files, run the following command:
nox -s docs-live
If you are working on the notebooks, you may want to apply ruff for code formatting. Instructions on how to set this up in Jupyter Lab are below:
https://gist.github.com/jbwhit/eecdd1cac2756df85ad165f437445b0b