Skip to main content

pyosmeta

PyPI License CITE DOI

Run pyos meta tests codecov Update Contribs & reviewers Publish to PyPI .github/workflows/test-run-script.yml

Description

pyosmeta provides the tools and scripts used to manage pyOpenSci's contributor and peer review metadata. This repo contains several modules and several CLI scripts, including:

  • parse-history
  • update-contributors
  • update-reviews
  • update-review-teams

Since pyOpenSci uses this tool for its website, we expect this package to have infrequent releases.

How the metadata workflow works

The canonical YAML files live in the pyopensci.github.io website repo under data/:

A weekly (or manually dispatched) GitHub Action on the website repo (update-contribs-reviews.yml) checks out that repo, installs pyosmeta, runs the three CLIs below in order, then opens a PR with updates to those two files.

flowchart LR
  subgraph website["pyopensci.github.io (website repo)"]
    direction TB
    contribYml["data/contributors.yml"]
    pkgYml["data/packages.yml"]
    contribYml ~~~ pkgYml
  end

  subgraph pyosMeta["pyosMeta package"]
    direction TB
    updateContribs["update-contributors"]
    updateReviews["update-reviews"]
    pickle1["all_contribs.pickle"]
    pickle2["all_reviews.pickle"]
    updateTeams["update-review-teams"]
  end

  website ~~~ pyosMeta

  contribYml -->|"Read existing yml"| updateContribs
  pkgYml -->|"Read existing yml"| updateReviews
  updateContribs --> pickle1 --> updateTeams
  updateReviews --> pickle2 --> updateTeams
  updateTeams -->|"Update yml file"| contribYml
  updateTeams -->|"Update yml file"| pkgYml

What each step does

  1. update-contributors — Loads the published contributors.yml, finds new people from pyOpenSci .all-contributorsrc files, and (with --update) refreshes profile fields from GitHub. If a person already has a name in the YAML, that value is kept and not overwritten from GitHub.
  2. update-reviews — Parses accepted review issues, fetches fresh GitHub metrics per package, then gap-fills any missing gh_meta from the existing packages.yml so previously published metrics are not deleted when an API call fails.
  3. update-review-teams — Merges the two pickle outputs (no extra API calls), links reviewers/editors/maintainers to packages, and writes data/contributors.yml and data/packages.yml relative to the current working directory (the website checkout in CI).

parse-history is a one-time helper for date_added values; it is not part of the weekly pipeline.

For local setup and how to run the scripts, see the Development Guide.

Installation

pyosMeta is available on PyPI and can be installed with pip:

pip install pyosmeta

Usage

After installing pyosmeta, the main entry points are:

  • update-contributors
  • update-reviews
  • update-review-teams
  • parse-history (one-time helper; not part of the weekly pipeline)

See How the metadata workflow works for what each weekly script does, and the Development Guide for how to run them locally.

Contributing

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Ivan Ogasawara
Ivan Ogasawara

💻 👀 🎨
Meer (Miriam) Williamson
Meer (Miriam) Williamson

💻 👀
Tiffany Xiao
Tiffany Xiao

💻 👀
austinlg96
austinlg96

💻 👀 🎨
JAKE
JAKE

👀 💻 🎨
Luiz Irber
Luiz Irber

💻 👀
Barnabas Bulpett (He/Him)
Barnabas Bulpett (He/Him)

💻 👀
Juanita Gomez
Juanita Gomez

💻 👀
Sarah Kaiser
Sarah Kaiser

💻 👀
Sultan Orazbayev
Sultan Orazbayev

💻 👀
Simon
Simon

💻 👀
Carol Willing
Carol Willing

💻 👀
Ofek Lev
Ofek Lev

💻 👀
Sviatoslav Sydorenko (Святослав Сидоренко)
Sviatoslav Sydorenko (Святослав Сидоренко)

💻 👀
Steven Silvester
Steven Silvester

💻 👀
P. L. Lim
P. L. Lim

💻 👀
Jonny Saunders
Jonny Saunders

💻 👀
Elise Hinman
Elise Hinman

💻 👀
Hari Prakash Vel Murugan
Hari Prakash Vel Murugan

📖
mrgah
mrgah

💻 👀
Kerry McAdams
Kerry McAdams

💻 👀
Cheng H. Lee
Cheng H. Lee

👀
steven
steven

💻 👀
Inessa Pawson
Inessa Pawson

👀 💻 🚇 🐛
Toshio Kuratomi
Toshio Kuratomi

💻 👀

This project follows the all-contributors specification. Contributions of any kind welcome!

Code of Conduct

Everyone interacting in the pyOpenSci project's codebases, issue trackers, chat rooms, and communication venues is expected to follow the pyOpenSci Code of Conduct.

License

MIT License

Release files for pyosmeta 1.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyosmeta 1.8.1
File Size Uploaded
pyosmeta-1.8.1.tar.gz 4.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyosmeta 1.8.1
File Interpreter ABI Platform
pyosmeta-1.8.1-py3-none-any.whl Python 3 none any Details

Total release size: 4.3 MB

Release files / pyosmeta-1.8.1.tar.gz

Download URL pyosmeta-1.8.1.tar.gz
Size 4.3 MB
Tags Source
SHA-256 checksum
How to use checksums
54eac13663b9658c91d6a9bb9b9422122e6cd4de885899a77b4bb6ec3043b211
BLAKE2b-256 checksum
How to use checksums
1a1938edeaa9ab265269ee0f692add9876aeed6b71ec0c3ff8896160bf00fe37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / pyosmeta-1.8.1-py3-none-any.whl

Download URL pyosmeta-1.8.1-py3-none-any.whl
Size 50.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6bc7f8c21b918fd4627b8960b8496c31e6f7706f1a46d37d4e44789b9699ccb7
BLAKE2b-256 checksum
How to use checksums
4f5a54dfea840d94a6f5ac7265319c018eb800a36d96faac4f8528aef08291ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.8.1 This release

2 release files

1.8.0

2 release files

1.7.9

2 release files

1.7.8

2 release files

1.7.7

2 release files

1.7.6

2 release files

1.7.5

2 release files

1.7.4

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7

2 release files

1.6

2 release files

1.5

2 release files

1.4

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

0.3.7

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page