diff --git a/_static/fonts/poppins-v20-latin-500.woff2 b/_static/fonts/poppins-v20-latin-500.woff2
new file mode 100644
index 00000000..c6603368
Binary files /dev/null and b/_static/fonts/poppins-v20-latin-500.woff2 differ
diff --git a/_static/fonts/poppins-v20-latin-600.woff2 b/_static/fonts/poppins-v20-latin-600.woff2
new file mode 100644
index 00000000..921e962b
Binary files /dev/null and b/_static/fonts/poppins-v20-latin-600.woff2 differ
diff --git a/_static/pyos.css b/_static/pyos.css
index b47b9ec2..5ae6506b 100644
--- a/_static/pyos.css
+++ b/_static/pyos.css
@@ -17,6 +17,13 @@
}
+
+/* anything related to the dark theme */
+html[data-theme="dark"] {
+ --pst-color-info-bg: #400f59!important;
+}
+
+
html, body {
font-size: 1.0rem;
}
@@ -248,3 +255,47 @@ html[data-theme=dark] {
font-weight: 400;
src: url('./fonts/itim-v14-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
+
+/* poppins-500 - latin */
+@font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Poppins';
+ font-style: normal;
+ font-weight: 500;
+ src: url('./fonts/poppins-v20-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ }
+ /* poppins-600 - latin */
+ @font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Poppins';
+ font-style: normal;
+ font-weight: 600;
+ src: url('./fonts/poppins-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ }
+/* Cards */
+
+/* todo light and dark adaptations needed */
+
+.sd-card-title {
+ margin-bottom: 0.5rem;
+ background-color: var(--pst-color-info-bg)!important;
+ padding: .5rem;
+ border-bottom: 2px solid #999;
+ font-size: 1.2rem;
+ font-weight: 600!important;
+}
+
+.sd-card-header {
+ font-size: 1.2em;
+ font-weight: 600;
+}
+
+.sd-card-body {
+ padding: 0 0!important;
+
+
+ .left-aligned
+ & ul li {
+ text-align: left;
+ }
+}
diff --git a/conf.py b/conf.py
index 37e86eea..c7e1db43 100644
--- a/conf.py
+++ b/conf.py
@@ -58,7 +58,7 @@
"href": "https://www.pyopensci.org/images/favicon.ico",
},
],
- "announcement": "
Submit Your Python Package for Peer Review - Learn More!
🚧 This guide is currently being developed! 🚧 ",
+ "announcement": "We run peer review of scientific Python software. Learn more.
",
#"navbar_center": ["nav"], this can be a way to override the default navigation structure
"external_links": [
{
@@ -82,12 +82,12 @@
},
],
"logo": {
- "text": "Python Packaging",
+ #"text": "Python Packaging",
"image_dark": "logo-dark-mode.png",
"image_light": "logo-light-mode.png",
"alt_text": "pyOpenSci Python Package Guide. The pyOpenSci logo is a purple flower with pyOpenSci under it. The o in open sci is the center of the flower",
},
- "header_links_before_dropdown": 4,
+ "header_links_before_dropdown": 3,
"use_edit_page_button": True,
"show_nav_level": 2,
"navigation_depth": 3,
diff --git a/documentation/index.md b/documentation/index.md
index 23d1aa71..2646f0e5 100644
--- a/documentation/index.md
+++ b/documentation/index.md
@@ -20,21 +20,30 @@ Create Package Tutorials
```{toctree}
:hidden:
-:caption: Core Repository Files
+:caption: Docs for Contributors & Maintainers
:maxdepth: 2
Intro
-README file
+
Contributing File
-Code of Conduct File
+
Development Guide
+```
+
+```{toctree}
+:hidden:
+:caption: Community Docs
+:maxdepth: 2
+
+README file
+Code of Conduct File
LICENSE files
```
```{toctree}
:maxdepth: 2
:hidden:
-:caption: Documentation & Hosting Tools
+:caption: Publication tools for your docs
Intro
Sphinx for Docs
diff --git a/images/tutorials/packaging-elements.png b/images/tutorials/packaging-elements.png
new file mode 100644
index 00000000..712c7738
Binary files /dev/null and b/images/tutorials/packaging-elements.png differ
diff --git a/index.md b/index.md
index 164a3bec..b3af65e1 100644
--- a/index.md
+++ b/index.md
@@ -1,186 +1,191 @@
-# pyOpenSci Python Open Source Package Development Guide
+# pyOpenSci Python Package Guide
-```{toctree}
-:hidden:
-:caption: Documentation
+We support the Python tools that scientists need to create open science workflows.
-Documentation
+::::{grid} 2
+:reverse:
-```
+:::{grid-item}
+:columns: 4
+:class: sd-m-auto
-```{toctree}
-:hidden:
-:caption: Packaging
+:::
-Packaging
+:::{grid-item}
+:columns: 8
+:class: sd-fs-3
+```{only} html
+![GitHub release (latest by date)](https://img.shields.io/github/v/release/pyopensci/python-package-guide?color=purple&display_name=tag&style=plastic)
+[![](https://img.shields.io/github/stars/pyopensci/python-package-guide?style=social)](https://github.com/pyopensci/contributing-guide)
+[![DOI](https://zenodo.org/badge/556814582.svg)](https://zenodo.org/badge/latestdoi/556814582)
```
-```{toctree}
-:hidden:
-:caption: CI and Testing
+:::
+::::
-CI & Tests
-```
+::::{admonition} About this guide
-
+:::{image} /images/tutorials/packaging-elements.png
+:align: right
+:width: 500
+:alt: Image with the pyOpenSci flower logo in the upper right hand corner. The image shows the packaging lifecycle. The graphic shows a high level overview of the elements of a Python package. the inside circle has 5 items - user documentation, code/api, test suite, contributor documentation, project metadata / license / readme. In the middle of the circle is says maintainers and has a small icon with people. on the outside circle there is an arrow and it says infrastructure.
+:::
-## Welcome, Python open source enthusiast!
+This guide will help you:
-Here you will find guidelines for what we look for in your scientific
-Python package when reviewing. You will also find best practice recommendations and curated lists of community resources surrounding packaging and package documentation.
+1. Learn how to create a Python package from start to finish
+1. Understand the broader Python packaging tool ecosystem
+1. Navigate and make decisions around tool options
+1. Understand all of the pieces of creating and maintaining a Python package
-### pyOpenSci's packaging goals
+You will also find best practice recommendations and curated lists of community resources surrounding packaging and package documentation.
+::::
-Our goal is to help the
-community make decisions around how to create scientific Python packages. We are working towards a shared vision of packaging that helps users better understand where to start.
-### How this guide is created
+```{todo}
+TODO: change the navigation of docs to have a
-This guide is created by pyOpenSci through an extensive review process. Each page in the guide has been reviewed by experts in the broader Python packaging landscape including people from :
+user documentation
+contributor / maintainer documentation
+* development guide
+* contributing guide
-- conda & conda-forge
-- the python packaging authority
-- core Python developers
-- core scientific Python developers
-- and others with expertise in packaging, package documentation, usability and other related knowledge areas
+Community docs
+* readme, coc, license
-[View all of the people who have contributed to this guide here.
-](https://github.com/pyOpenSci/python-package-guide#contributors-)
+Publish your docs
+```
-We use this guide as a foundation for our open peer review process of
-scientific software.
+## Python packaging ecosystem overview & best practices
-::::{grid} 2
-:reverse:
+Learn about Python packaging best practices. You will also get to know the
+the vibrant ecosystem of packaging tools that are available to help you with your Python packaging needs.
-:::{grid-item}
-:columns: 4
-:class: sd-m-auto
+:::::{grid} 1 1 2 2
+:class-container: text-center
+:gutter: 3
+
+::::{grid-item}
+:::{card} ✨ Create your package ✨
+:class-card: left-aligned
+
+* [Package file structure](/package-structure-code/python-package-structure)
+* [Package metadata / pyproject.toml](package-structure-code/pyproject-toml-python-package-metadata.md)
+* [Build your package (sdist / wheel)](package-structure-code/python-package-distribution-files-sdist-wheel.md)
+* [Declare dependencies](package-structure-code/declare-dependencies.md)
+* [Navigate the packaging tool ecosystem](package-structure-code/python-package-build-tools.md)
+* [Non pure Python builds](package-structure-code/complex-python-package-builds.md)
:::
+::::
-:::{grid-item}
-:columns: 8
-:class: sd-fs-3
+::::{grid-item}
+:::{card} ✨ Publish your package ✨
+:class-card: left-aligned
-```{button-link} https://www.pyopensci.org/about-peer-review/
-:color: primary
-:class: sd-rounded-pill float-left
-Learn about our open peer review process
-```
+Gain a better understanding of the Python packaging ecosystem
+Learn about best practices for:
-```{only} html
-![GitHub release (latest by date)](https://img.shields.io/github/v/release/pyopensci/python-package-guide?color=purple&display_name=tag&style=plastic)
-[![](https://img.shields.io/github/stars/pyopensci/python-package-guide?style=social)](https://github.com/pyopensci/contributing-guide)
-[![DOI](https://zenodo.org/badge/556814582.svg)](https://zenodo.org/badge/latestdoi/556814582)
-```
+* [Package versioning & release](/package-structure-code/python-package-versions.md)
+* [Publish to PyPI & Conda-forge](/package-structure-code/publish-python-package-pypi-conda.md)
:::
::::
-
-
-::::{grid} 1 1 2 2
-:class-container: text-center
-:gutter: 3
-
-:::{grid-item-card}
-:link: documentation/index
-:link-type: doc
-✨ Documentation Criteria & Recommendations ✨
-^^^
+::::{grid-item}
+:::{card} ✨ Write & Publish Docs ✨
+:class-card: left-aligned
-Learn more about the best practices for Python package
-documentation and also some of the tools for creating
-documentation that are
-commonly used in the scientific Python community.
+* [Create documentation for your users](/documentation/write-user-documentation/intro)
+* [Core files to include in your package repository](/documentation/repository-files/intro)
+* [How to publish your docs](/documentation/hosting-tools/intro)
:::
+::::
-:::{grid-item-card}
-:link: package-structure-code/intro
-:link-type: doc
+::::{grid-item}
+:::{card} ✨ Tests, checks & clean code ✨
+:class-card: left-aligned
+
+* [Code style](package-structure-code/code-style-linting-format.md)
-✨ Python packaging tools & structure ✨
-^^^
-All of the modern tools discussed in this guide will help you build an efficient packaging workflow. This section helps you select the tool that will work best for you.
+*We are actively working on this section. [Follow development here.](https://github.com/pyOpenSci/python-package-guide)*
:::
+::::
-:::{grid-item-card}
+::::{grid-item}
+:::{card} ✨ Want to contribute? ✨
:link: CONTRIBUTING
:link-type: doc
+:class-card: left-aligned
-✨ Want to contribute? ✨
-^^^
We welcome contributions to this guide. Learn more about how you can
contribute.
:::
::::
-## Who this guidebook is for
+:::::
+
+
+:::{figure} https://www.pyopensci.org/images/people-building-blocks.jpg
+:align: right
+:width: 350
+:alt: xkcd comic showing a stick figure on the ground and one in the air. The one on the ground is saying. `You're flying! how?` The person in the air replies `Python!` Below is a 3 rectangle comic with the following text in each box. box 1 - I learned it last night. Everything is so simple. Hello world is just print hello world. box 2 - the person on the ground says - come join us programming is fun again. it's a whole new world. But how are you flying? box 3 - the person flying says - i just typed import antigravity. I also sampled everything in the medicine cabinet. But i think this is the python. the person on the ground is saying - that's it?
+:::
-We assume that you are here because you are:
+### A community-created guidebook
-1. Looking for guidance on creating a Python package.
-1. Looking for resources associated with Python packaging.
-1. Considering submitting a package to pyOpenSci and want to understand what we are looking for when we review your package
+Every page in this guidebook goes through an extensive community review
+process. To ensure our guidebook is both beginner-friendly and accurate, we encourage reviews from a diverse set of pythonistas and scientists with a wide range of skills and expertise.
-Well, friend, you've come to the right place!
+```{button-link} https://github.com/pyOpenSci/python-package-guide#contributors-
+:color: primary
+:class: sd-rounded-pill float-left
+View guidebook contributors
-:::{figure-md} fig-target
+```
-
+## Who this guidebook is for
-Many love to use Python because it is a clean language to learn. It also is incredibly flexible allowing it to be used across numerous domains. Source: xkcd comics.
-:::
+This guidebook is for anyone interested in learning more about Python packaging. It is beginner-friendly and will provide:
-## What you will find in this guidebook
+1. Beginning-to-end guidance on creating a Python package.
+1. Resources to help you navigate the Python packaging ecosystem of tools and approaches to packaging.
+1. A curated list of resources to help you get your package into documented, usable and maintainable shape.
-This guidebook contains:
-- Explanation for "Good enough" minimum requirements associated with being reviewed by pyOpenSci
-- Explanation of better and best practices in case you want to set the bar higher for your package (which we hope you will)!
-- A curated list of resources to help you get your package into documented, usable and tested shape.
-## Where this guide is headed
-Most of the sections in this guide will ultimately include Good/Better/Best recommendations for Python open source software packaging.
+## Where this guide is headed
-Good meets the requirements. Going beyond the minimum can make package maintenance easier-to-use for new users, easier-to contribute for new contributors and easier-to-maintain for you.
+If you have ideas of things you'd like
+to see here clarified in this guide, [we invite you to open an issue on GitHub.](https://github.com/pyOpenSci/python-package-guide/issues).
-This guide is now a work in progress. If you have ideas of things you'd like
-to see here, [we invite you to open an issue on GitHub that details any changes or additions that you'd like to see.](https://github.com/pyOpenSci/python-package-guide/issues).
+If you have questions about our peer review process or packaging in general, you are welcome to use our [pyOpenSci Discourse forum](https://pyopensci.discourse.group/).
-
+CI & Tests
+```