Please submit a pull request early in the development phase, outlining the changes you intend to make or features you intend to add. This allows us to offer feedback early on, ensuring your contribution can be added to the repository before you invest a significant amount of time.
We want your help! Even if you're not a coder! There are several ways you can contribute to this repository:
- Report an Issue or make a recommendation
- Update code, documentation, notebooks, or other files (even fixing typos)
- Propose a new notebook
In the sections below we outline how to approach each of these types of contributions. If you're new to GitHub, you can sign up here. There are a bunch of great resources on the GitHub Quickstart page. The GitHub Cheatsheet is also quite helpful, even for experienced users. Please reach out to [email protected] with questions or concerns.
If you've found a problem with the repository, we want to know about it! Please submit an Issue. Before submitting, we would appreciate if you check to see if a similar issue already exists. If not, create a new issue, providing as much detail as possible. Things like screenshots and code excerpts demonstrating the problem are very helpful!
To contribute a solution to an issue or make a change to files within the repository we've created a typical outline of how to do that below. If you want to make a simple change, like correcting a typo within a markdown document or other documentation, there's a great video explaining how to do that without leaving the GitHub website here. To make a more complex change to a notebook, code, or other file follow the instructions below.
-
Please create an Issue or comment on an existing issue describing the changes you intend to make.
-
Create a fork of this repository. This will create your own copy of the repository. When working from your fork, you can do whatever you want, you won't mess up anyone else's work so you're safe to try things out. Worst case scenario you can delete your fork and recreate it.
-
Clone your fork to your local computer or cloud workspace using your preferred command line interface after navigating to the directory you want to place the repository in:
git clone your-fork-repository-url
- Change directories to the one you cloned
cd repository-name
- Add the upstream repository, this is the original repository that you want to contribute to.
git remote add upstream original-repository-url
- You can use the following to view the remote repositories:
git remote -v
upstream
, which refers to the original repositoryorigin
, which refers to your personal fork
-
Develop your contribution:
- Create a new branch named appropriately for the feature you want to work on:
git checkout -b new-branch-name
- Often, updates to an
upstream
repository will occur while you are developing changes on your personal fork. You can pull the latest changes fromupstream
git pull upstream dev
- You can check the status of your local copy of the repository to see what changes have been made using:
git status
- Commit locally as you progress using
git add
andgit commit
. For example, updating a readme.md file:
git add readme.md git commit -m "updated readme file"
- You can check the status of your local copy of the repository again to see what pending changes have not been added or committed using:
git status
- After making some changes, push your changes back to your fork on GitHub:
git push origin branch-name
- Enter username and password, depending on your settings, you may need to use a Personal access token
-
To submit your contribution, navigate to your forked repository GitHub page and make a pull request using the
Compare &pull request
green button. Make sure to select thebase repository
and itsdev
branch. Also select your forked repository ashead repository
and make surecompare
shows your branch name. You can add your comments and pressCreate pull request
green button. Our team will be notified and will review your suggested revisions.- Please submit a pull request early in the development phase, outlining the changes you intend to make or features you intend to add. This allows us to offer feedback early on, ensuring your contribution can be added to the repository before you invest a significant amount of time.
In the spirit of open science, we want to minimize barriers to sharing code and examples. We have added a user_contributed
directory to the repository for anyone to share examples of their work in notebook or code form. Documentation and descriptions do not need to be as thorough as the examples we've created, but we ask that you provide as much as possible. Follow the instructions above, placing your new notebook or module in a suitably named directory within the user_contributed
directory. Be sure to remove any large datasets and indicate where users can retrieve them.
These contributing guidelines are adapted from the NASA Transform to Open Science GitHub, available at https://github.com/nasa/Transform-to-Open-Science/blob/main/CONTRIBUTING.md.