python-package-guide

Python packaging made simple. Recommendations & guidance curated by the pyOpenSci community

https://github.com/pyopensci/python-package-guide

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.3%) to scientific vocabulary

Keywords

data-science open-science open-source python

Keywords from Contributors

closember geoscience prediction autopep8 codeformatter formatter gofmt pre-commit-hook yapf gtk
Last synced: 6 months ago · JSON representation

Repository

Python packaging made simple. Recommendations & guidance curated by the pyOpenSci community

Basic Info
Statistics
  • Stars: 131
  • Watchers: 15
  • Forks: 72
  • Open Issues: 70
  • Releases: 5
Topics
data-science open-science open-source python
Created over 3 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Zenodo

README.md

pyOpenSci Python Packaging Guide and Tutorials

All Contributors

GitHub release (latest by date)

DOI

CircleCI

Mentioned in Awesome Scientific Python

What is pyOpenSci?

pyOpenSci is devoted to building diverse, supportive community around the Python open source tools that drive open science. We do this through:

  • open peer review
  • mentorship
  • training

pyOpenSci is an independent organization, fiscally sponsored by Community Initiatives.

Contributing statement

How to setup

This repository contains the source files for the pyOpenSci Python packaging guide.

Build the guidebook locally

Our guidebook is built with Sphinx which is a documentation tool and uses the pydata-sphinx-theme.

The easiest way to build our documentation is to use the nox automation tool, a tool for quickly building environments and running commands within them.

Using nox ensures that your environment has all the dependencies needed to build the documentation.

To build, follow these steps:

  1. Install nox

console $ python -m pip install nox 2. Build the documentation:

console $ nox -s docs

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.

To build live documentation that updates when you update local files, run the following command:

console $ nox -s docs-live

Building for release

When building for release, the docs are built multiple times for each translation, but translations are only included in the production version of the guide after some completion threshold.

The sphinx build environment is controlled by an environment variable SPHINX_ENV

  • when SPHINX_ENV=development (default), sphinx assumes all languages are built, and includes them in the language selector
  • when SPHINX_ENV=production, only those languages in release_languages (set in conf.py) are built and included in the language selector.

Most of the time you should not need to set SPHINX_ENV, as it is forced by the primary nox sessions intended to be used for release or development:

SPHINX_ENV=development - docs-live - autobuild english - docs-live-lang - autobuild a single language - docs-live-langs - autobuild all languages

SPHINX_ENV=production - build-test - build all languages for production

Contributing to this guide

We welcome and issues and pull requests to improve the content of this guide. If you'd like to see an improvement, please open an issue.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Akhil Krishna R
Akhil Krishna R

🤔 👀
Alexandre Batisse
Alexandre Batisse

📖 🎨
Ana
Ana

🌍
Ananthu C V
Ananthu C V

👀
Anderson Bravalheri
Anderson Bravalheri

💻 🎨
Ariane Sasso
Ariane Sasso

📖 🎨 💻 👀
Brianne Wilhelmi
Brianne Wilhelmi

💻 👀
C. Titus Brown
C. Titus Brown

💻 👀
Cale Kochenour
Cale Kochenour

💻 👀
Carol Willing
Carol Willing

👀 🤔
Cheng H. Lee
Cheng H. Lee

💻 👀
Chiara Marmo
Chiara Marmo

💻 🎨 👀
Chris Holdgraf
Chris Holdgraf

💻 👀
Daniel Chen
Daniel Chen

🤔 👀
Daniel Possenriede
Daniel Possenriede

💻 👀
Dave Hirschfeld
Dave Hirschfeld

👀
David Nicholson
David Nicholson

📖 🎨
Eli Schwartz
Eli Schwartz

💻 🎨 👀
Erik Welch
Erik Welch

📖 🎨
Felipe Moreno
Felipe Moreno

👀 💻 🌍 📖 💬
Filipe
Filipe

💻 🎨
Frost Ming
Frost Ming

💻 👀
Han
Han

💻 👀
Henry Cuzco
Henry Cuzco

💻 👀 🎨
Henry Schreiner
Henry Schreiner

💻 🎨 👀
Hugo van Kemenade
Hugo van Kemenade

💻 👀
Inessa Pawson
Inessa Pawson

💻 👀
Isabel Zimmerman
Isabel Zimmerman

💻 👀
Ivan Ogasawara
Ivan Ogasawara

💻 👀
J. Steven Dodge
J. Steven Dodge

💻
Jackson Burns
Jackson Burns

💻 👀
James Lamb
James Lamb

💻 📖 🌍
James Tocknell
James Tocknell

💻 👀
Jannis Leidel
Jannis Leidel

💻 👀
Jeremy Paige
Jeremy Paige

💻 👀 🚧 📖
Jesse Mostipak
Jesse Mostipak

John Drake
John Drake

💻 👀
Jonny Saunders
Jonny Saunders

💻 🎨 🤔 💬 ️️️️♿️ 🚇
Joseph H Kennedy
Joseph H Kennedy

💻 👀
Juan Luis Cano Rodríguez
Juan Luis Cano Rodríguez

💻 🎨 👀
Karen Cranston
Karen Cranston

💻 👀
Ken Seehart
Ken Seehart

💻 👀
Kozo Nishida
Kozo Nishida

👀 🌍
Kyohei Sahara
Kyohei Sahara

💻 👀
Lauren Moore
Lauren Moore

📖
Leah Wasser
Leah Wasser

📖 🎨 🤔 💬
Malvika Sharan
Malvika Sharan

🤔 👀
Maria Knorps
Maria Knorps

💻 👀
Marie Roald
Marie Roald

💻 🐛
Matt Hall
Matt Hall

💻 👀
Megan Sosey
Megan Sosey

💻 👀
Melissa Weber Mendonça
Melissa Weber Mendonça

💬
Mihai Maruseac
Mihai Maruseac

📖 💻 👀
Moritz E. Beber
Moritz E. Beber

💻
Naty Clementi
Naty Clementi

💻 👀 🌍 📖
Neil Chue Hong
Neil Chue Hong

👀
Nick Murphy
Nick Murphy

💻 👀
Ofek Lev
Ofek Lev

💻 🎨 👀
Olek
Olek

💻 👀
Oriol Abril-Pla
Oriol Abril-Pla

💬
Pamphile Roy
Pamphile Roy

📖 🎨
Pat Tressel
Pat Tressel

💻 👀
Patrick Byers
Patrick Byers

💻 👀
Philipp A.
Philipp A.

💻 👀
Pradyun Gedam
Pradyun Gedam

💻 🎨 👀
Ralf Gommers
Ralf Gommers

💻 🎨 👀
Randy Döring
Randy Döring

💻 👀
Revathy Venugopal
Revathy Venugopal

💻 👀 📖
Roberto Pastor Muela
Roberto Pastor Muela

💻 👀 🌍 🤔
Ryan
Ryan

💻 👀
Sanket Kumar Kar
Sanket Kumar Kar

💻
Santiago Soler
Santiago Soler

💻 👀
Simon
Simon

📖 🎨
Sneha Yadav
Sneha Yadav

💻 👀
Stefan van der Walt
Stefan van der Walt

💻 🎨 👀
Stefanie Molin
Stefanie Molin

💻 👀
Stefano Rivera
Stefano Rivera

👀
Tetsuo Koyama
Tetsuo Koyama

💻 👀 📖 🌍 🤔 ️️️️♿️ 🚇 📝
Tom Russell
Tom Russell

💻 👀 📖
Trevor James Smith
Trevor James Smith

💻 👀
Tyler Bonnell
Tyler Bonnell

💻 👀
Vaunty
Vaunty

💻 👀
William F. Broderick
William F. Broderick

Yngve Mardal Moe
Yngve Mardal Moe

💻 👀
Zac Warham
Zac Warham

🤔 👀
Zack Weinberg
Zack Weinberg

👀
h-vetinari
h-vetinari

💻 👀
hpodzorski-USGS
hpodzorski-USGS

💻 👀
jaimergp
jaimergp

💻 👀
miguelalizo
miguelalizo

💻 👀 📖
mrgah
mrgah

💻 👀
nyeshlur
nyeshlur

💻 👀
ruoxi
ruoxi

💻 👀
Éric
Éric

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

👀

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

Star History

Star History Chart

Owner

  • Name: pyOpenSci
  • Login: pyOpenSci
  • Kind: organization

We build diverse community around the tools that drive open science through open peer review, mentorship and training.

GitHub Events

Total
  • Issues event: 51
  • Watch event: 29
  • Delete event: 53
  • Issue comment event: 342
  • Push event: 381
  • Pull request review comment event: 153
  • Pull request review event: 193
  • Pull request event: 195
  • Fork event: 19
  • Create event: 58
Last Year
  • Issues event: 51
  • Watch event: 29
  • Delete event: 53
  • Issue comment event: 342
  • Push event: 381
  • Pull request review comment event: 153
  • Pull request review event: 193
  • Pull request event: 195
  • Fork event: 19
  • Create event: 58

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 402
  • Total Committers: 14
  • Avg Commits per committer: 28.714
  • Development Distribution Score (DDS): 0.236
Past Year
  • Commits: 353
  • Committers: 14
  • Avg Commits per committer: 25.214
  • Development Distribution Score (DDS): 0.244
Top Committers
Name Email Commits
Leah Wasser l****h@p****g 307
allcontributors[bot] 4****] 55
pre-commit-ci[bot] 6****] 8
Jeremy Paige u****y@g****m 7
Daniel Possenriede p****e@g****m 4
sneakers-the-rat J****7@g****m 4
Batalex a****e 3
Simon 3****y 3
Alex Batisse a****e@h****m 2
Henry Schreiner H****I@g****m 2
ruoxi r****e@l****n 2
Hugo van Kemenade h****k 2
Filipe Fernandes o****f@g****m 2
Matt Hall k****s@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 122
  • Total pull requests: 428
  • Average time to close issues: 7 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 32
  • Total pull request authors: 52
  • Average comments per issue: 2.07
  • Average comments per pull request: 1.53
  • Merged pull requests: 351
  • Bot issues: 1
  • Bot pull requests: 132
Past Year
  • Issues: 34
  • Pull requests: 106
  • Average time to close issues: 19 days
  • Average time to close pull requests: 7 days
  • Issue authors: 11
  • Pull request authors: 23
  • Average comments per issue: 0.41
  • Average comments per pull request: 1.39
  • Merged pull requests: 83
  • Bot issues: 0
  • Bot pull requests: 33
Top Authors
Issue Authors
  • lwasser (58)
  • tkoyama010 (8)
  • zackw (7)
  • ucodery (7)
  • flpm (5)
  • sneakers-the-rat (3)
  • BSuperbad (3)
  • pb-413 (3)
  • NickleDave (3)
  • kwinkunks (2)
  • willingc (2)
  • yardasol (1)
  • yang-ruoxi (1)
  • hpodzorski-USGS (1)
  • abravalheri (1)
Pull Request Authors
  • lwasser (123)
  • allcontributors[bot] (113)
  • tkoyama010 (40)
  • sneakers-the-rat (19)
  • flpm (16)
  • pre-commit-ci[bot] (16)
  • RobPasMue (14)
  • ucodery (8)
  • ptressel (5)
  • willingc (5)
  • Tyler-Bonnell (4)
  • pb-413 (3)
  • dependabot[bot] (3)
  • miguelalizo (3)
  • hugovk (3)
Top Labels
Issue Labels
help wanted (21) sprintable (19) translations (6) pyconus-24 (6) good first issue (3) new-content (3) documentation (2) bug (2) UX (2) beginner-friendly (2) bug-fix (1) enhancement (1) question (1) lang-JA (1) scipy-24 (1) lang-ES (1)
Pull Request Labels
translations (16) 🚀 ready-for-review (14) lang-ES (9) documentation (8) pyconus-24 (8) bug-bash (8) new-content (7) sprintable (7) maintenance (6) lang-JA (5) enhancement-feature (5) being-updated-dont-review (3) bug (1) enhancement (1) draft (1) ready-for-review (1) bug-fix (1)

Dependencies

.github/workflows/build-book.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v3 composite
  • chabad360/htmlproofer master composite
  • peaceiris/actions-gh-pages v3.8.0 composite
requirements.txt pypi
  • furo *
  • myst-nb *
  • sphinx *
  • sphinx-autobuild *
  • sphinx-copybutton *
  • sphinx-design *
  • sphinx-inline-tabs *
  • sphinx-sitemap *
  • sphinxcontrib-gtagjs *
  • sphinxext-opengraph *
.github/workflows/artifact_redirect.yml actions
  • larsoner/circleci-artifacts-redirector-action master composite
pyproject.toml pypi