This tutorial repository is a great opportunity to start contributing to Xarray.
Make fixes, add content or improvements using GitHub Pull Requests, the sections below go over this process in more detail:
The Project Pythia Foundations material on Github and Github workflows is a great place to start if you are new to this.
Please note that examples submitted to this repository should follow these guidelines:
Run top-to-bottom without intervention from the user
Not require external data sources that may disappear over time (external data sources that are highly unlikely to disappear are fine). Small datasets for tutorial purposes can be added here if necessary.
Not be resource intensive, and should run within 2GB of memory
Be clear and contain enough prose to explain the topic at hand
Be concise and limited to one or two topics, such that a reader can get through the example within a few minutes of reading
Be of general relevance to Xarray users, and so not too specific on a particular problem or use case.
Fork this repository#
We recommend first forking this repository and creating a local copy:
git clone https://github.com/YOURACCOUNT/xarray-tutorial.git cd xarray-tutorial
Create a Python environment#
mamba, which can be installed from conda-forge/miniforge
We also use conda-lock to ensure we have reproducible environments across different operating systems
We also use pre-commit hooks to run styling and other checks before committing code.
conda-lock install -f conda/conda-lock.yml # Or latest package versions: `mamba env create -f conda/environment-unpinned.yml` conda activate xarray-tutorial pre-commit install
Develop your new content on a branch. See JupyterBook Docs for guides on adding
.ipynb and other content.
git checkout -b newcontent git add . git commit -m "added pages x,y and improved z"
Preview your changes#
Running jupyterbook will execute notebooks and render HTML pages for the website. Be sure to fix any execution errors and preview the website in your web browser to make sure everything looks good!
jb build .
Open a pull request#
Follow the link reported in a terminal to open a pull request!