pyOpenSci GitHub repositories#

pyOpenSci manages multiple GitHub repositories to support various community activities. Below is a description of each repository organized by program area.

Website#

pyopensci.github.io#

This repository contains code and content that builds and publishes our pyOpenSci website, pyopensci.org. The website is built with Hugo and hosted on GitHub Pages. The Python packages page, contributor page, and editorial board listing are updated by scheduled GitHub Actions workflows that run the pyosMeta Python package.

Teams with access to this repository:

Critical CI workflows in this repository#

Two scheduled workflows keep the website’s data up to date. Each one opens a pull request, and the website changes once you merge it. You can also run either one by hand.

  • Update Contribs & reviewers updates the contributor and package listings from All Contributors files and peer review issues. The same job also refreshes the editorial board listing.

  • Update editorial board only reads editorial team membership, so it’s much faster. Run this one after you change an editorial team.

For when each one runs, which files it writes, and who can run them, see data workflows.

Metadata stored in this repository#

  1. packages.yml: Updates the Python Packages page by parsing reviews from software-submission repository issues.

  2. contributors.yml: Updates the Our Community page by parsing data from all organization repositories.

  3. editorial-board.yml and emeritus-editors.yml: Update the editorial board listing from our GitHub editorial teams.

  4. manual-editorial-roster.yml: The only editorial file edited by hand, for someone who can’t join the GitHub organization.

handbook#

Platform: Sphinx book running the pyos-sphinx-theme

This is where we store our organization governance, code of conduct, and processes around how we operate as an organization.

The pyOpenSci Executive Council has access to this repo.

metrics#

The pyOpenSci metrics repository contains the code for our metrics dashboards, built with Quarto. Scheduled workflows refresh the peer review data and rebuild the site. The editorial dashboard reads the editorial board files from the website repository. See data workflows for details.

Teams with access to this repository:

lessons#

The lessons repository contains the source files for all of the pyOpenSci tutorials.

The pyOpenSci Lesson Development Team has access to this repo.

Packaging education#

python-package-guide#

The python-package-guide repository contains our community-developed guidelines and tutorials on Python packaging. These resources are beginner-friendly and reflect Python packaging best practices.

Teams with access to this repository:

pyos-package-template#

A Python package template that supports the pyOpenSci pure Python packaging tutorial. This template can be used with copier to initialize a new Python package project structure following the practices outlined in the pyOpenSci pure Python packaging tutorial.

Teams with access to this repository:

pyosPackage#

The pyosPackage repo contains an example pure-Python package that complements our package guide & tutorials. We will build this package example out over time for folks that just want to see a working package without creating one themselves.

Teams with access to this repository:

Peer review#

software-submission#

The software-submission repository is where community package submissions are peer-reviewed. All submissions are made through GitHub Issues. Learn more about our peer review process here.

Teams with access to this repository:

Important

Important: If a pyOpenSci core member identifies an issue with the review submission template, consult both the editorial team and core team before making any changes. This template’s data are processed by a Python workflow, and even small modifications could disrupt the language processing.

software-peer-review#

This repository hosts our software peer review guidebook, which documents the processes and guidelines for authors, editors, the Editor in Chief, and the peer review triage team as they manage our open peer review process. It also details our peer review policies, partnerships, and the templates used in the review process.

Individuals and teams with access to this repository include:

Infrastructure#

pyosMeta#

The pyosMeta repository contains a Python package published on PyPI that we use to track our package review, contributor, and editorial board data. The website’s scheduled workflows use it to update our website. See data workflows for how the data moves.

Teams with access to this repository:

pyos-sphinx-theme#

Platform: Sphinx book template that builds on top of the pydata_sphinx_theme

This repo contains our branded Sphinx theme, which the handbook and software peer review guide use. Because the branding lives in one theme, we can update it in one place instead of in each repository, and the change applies everywhere the theme is used.

Creating a theme was inspired by the 2i2c Sphinx theme.

Teams with access to this repository:


Last updated: Oct 06, 2026