Skip to content

pyOpenSci/python-package-guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Repository files navigation

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

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

    $ 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:

$ 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

๐Ÿ’ป๐Ÿ‘€
Matthew Feickert
Matthew Feickert

๐Ÿ“–๐Ÿ‘€
Megan Sosey
Megan Sosey

๐Ÿ’ป๐Ÿ‘€
Melissa Weber Mendonรงa
Melissa Weber Mendonรงa

๐Ÿ’ฌ
Michael Pilosov, PhD
Michael Pilosov, PhD

๐Ÿ‘€
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

About

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

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 70