Contributing Guide for pyOpenSci#
This guide provides high-level contributing guidelines for resources across our organization. You will find specific contributing guidelines in each repository that we maintain.
pyOpenSci develops and maintains numerous community resources, including:
Python software peer review guide
Our software review repo: contains templates templates for software submission and a small CI (Continuous Integration) build
This document applies to any of our online content that you contribute to. Most of our content lives in the pyOpenSci GitHub organization.
High-level guidelines#
Anyone contributing to pyOpenSci must follow our organization-wide code of conduct.
Please open an issue before submitting a pull request with new or revised content. Issues will allow us to discuss the changes with you before submitting them. Submitting an issue first will expedite the speed at which your pull request is merged.
In some instances, if your pull request is a simple fix of a link or typo, we may accept it without an issue being opened.
If you submit a pull request, please be sure to use a branch in your fork. Do not use your fork’s
main
branch to submit a pull request.Please try to spell check and editor pull requests before opening them in our repository. This will save us time when reviewing your suggested change(s).
Contributor attributions#
We welcome and value contributions of all kinds. Some ways that you can contribute to pyOpenSci, include:
Identifying typos/issues in our online documentation
Fixing bad URLs and references in our issue and peer-review templates
Opening issues about content in our peer review and packaging guides
Reviewing pull requests that update content on our website
Contributing to the peer review process
and more
We use the all-contributors bot to track contributions of all kinds
across our GitHub repositories. When you contribute to our organization, we will add you to the all-contributors .json
file
using the all-contributors bot. Approximately once a month, we aggregate the contributor .json
files across the organization to update our community contributors
list.
Instructions for local development#
Some of our online content may need to be built locally.
On this general contributing guidelines page, you will only find general contribution guidelines. Each repository contains instructions for local development setup
in the CONTRIBUTING.md
file for that specific repository.
Development guide our guidebooks#
This repo (governance), our peer review guide and python packaging guidebook are built using the pydata_sphinx_theme
. We have created builds
for those repositories using nox
.
If you wish to contribute by working on the guide book locally, you will first need to
Fork this repository
Clone it locally
Build the documentation locally
Instructions for building the documentation locally on your computer#
The easiest way to build the documentation in this repository is to use nox
,
a tool for quickly building environments and running commands within them.
Nox ensures that your environment has all the dependencies needed to build the documentation.
If you plan to submit a pull request with changes to the guide, you can chose to submit a pr and view the associated build online in Circle CI. Or you can choose to build the documentation locally to test a pull request.
To build locally, follow these steps:
Install
nox
into the environment where you plan to work. Nox will create a virtual environment that you can use to build the docs.pip install nox
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
.
Once nox is installed, you can build the documentation. You have two options, to build the documentation once and look at the output in a browser use:
nox -s docs
To build live documentation that updates when you update local files, run::
```
nox -s docs-live
```
The docs-live
command will provide you with a URL that you can enter into your
browser to see the docs update as you update files.
CircleCI Previews#
Each book is set up with a GitHub action redirect that will take you to an online build of the current pull request in CircleCI. To view the build:
Click on the GitHub action called
ci/circleci: build_book
after it has run at the bottom of your pull request. This will take you directly to CircleCi.Once in CircleCi, click on the artifacts tab. The home page of the guidebook will be called:
output/index.html
Click on that item to view the built online version of the guidebook in your browser.
Website build#
Our website is a jekyll
/markdown
driven site. Thus, you will need to install ruby
, and the gems needed to build the website following the contributing guide in our pyopensci.github.io repository.