Skip to content

Commit 3f73532

Browse files
authored
ORG / CONTENT: BIG reorg of the editor guides, landing page for easier discoverability of content
* ORG: unnest peer review subsections * CONTENT: clean up author guide, add timeline * cleanup of all of the submission documentation, start at guidelines * unnest authoring section * update build to python 3.9 and latest jbook * only push on main but always build * missing quotes for branch spec * missing tab * don't need run to push * Add zenodo to readme for citation * add landing buttons to home page and zenodo badge
1 parent 3831033 commit 3f73532

File tree

13 files changed

+430
-98
lines changed

13 files changed

+430
-98
lines changed

.github/workflows/book.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ name: deploy-book
44
on:
55
push:
66
branches:
7-
- main
7+
- '*'
88

99
# This job installs dependencies, build the book, and pushes it to `gh-pages`
1010
jobs:
@@ -14,12 +14,12 @@ jobs:
1414
- uses: actions/checkout@v2
1515

1616
# Install dependencies
17-
- name: Set up Python 3.7
17+
- name: Set up Python 3.9
1818
uses: actions/setup-python@v1
1919
with:
20-
python-version: 3.7
20+
python-version: 3.9
2121

22-
# Install the pre-release of jupyter book for now until it is "officially" released
22+
# Install Current Version Jupyter Book
2323
- name: Install Jupyter Book
2424
run: |
2525
pip install -r requirements.txt
@@ -30,7 +30,9 @@ jobs:
3030
jupyter-book build .
3131
3232
# Push the book's HTML to github-pages
33-
- name: GitHub Pages action
33+
- name: Push to GitHub Pages
34+
# Only push if on main branch
35+
if: github.ref == 'refs/heads/main'
3436
uses: peaceiris/[email protected]
3537
with:
3638
github_token: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# <img src="images/logo/logo.png" width=40 /> pyOpenSci Guidebook
2+
3+
4+
5+
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7101778.svg)](https://doi.org/10.5281/zenodo.7101778)
6+
27
[![CircleCI](https://circleci.com/gh/pyOpenSci/contributing-guide.svg?style=svg)](https://circleci.com/gh/pyOpenSci/contributing-guide)
38

49
https://pyopensci.org/contributing-guide/

_config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,11 @@ html:
1515
use_issues_button: true
1616
use_repository_button: true
1717
home_page_in_navbar: false
18+
announcement: "<div class='header__block'>ATTENTION
19+
<p>
20+
We are currently updating this book to stay tuned!
21+
The packaging guide is the section that is most
22+
out of date right now.
23+
</p>
24+
</div>
25+
"

_static/pyos.css

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,24 @@
11

2+
/* HEADER BLOCK */
3+
div.header__block {
4+
color: #222;
5+
}
6+
7+
/*
8+
.announcement div {
9+
background-color: #ccc;
10+
} */
11+
12+
.header-item.announcement, .header-item.announcement .noprint {
13+
background-color:#ccc;
14+
}
15+
16+
div .announcement .header-item .noprint, header-item.announcement {
17+
background-color: #ccc!important;
18+
}
19+
20+
/* notes */
21+
222
div.admonition.note .admonition-title, div.admonition.note .admonition-title::before {
323
background-color: #C1CFD4;
424
color: #222;

_toc.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,30 @@
11
format: jb-book
22
root: intro
33
parts:
4-
- caption: Overview
4+
- caption: About Our Peer Review Process
55
chapters:
6-
- file: open-source-software-peer-review/intro
6+
# - file: open-source-software-peer-review/intro
77
- file: open-source-software-peer-review/aims-and-scope
8-
- file: open-source-software-peer-review/code-of-conduct
8+
title: Peer Review Goals and Scope
99
- file: open-source-software-peer-review/policies-and-guidelines
10+
- file: open-source-software-peer-review/code-of-conduct
1011
- caption: Open Peer Review Guides
1112
chapters:
1213
- file: open-source-software-submissions/intro
13-
title: Peer Review Process
14+
title: Peer Review Timeline Overview
1415
- file: open-source-software-submissions/author-guide
16+
title: Guide For Package Authors
1517
- file: open-source-software-submissions/reviewer-guide
1618
- file: open-source-software-submissions/editors-guide
1719
- file: open-source-software-submissions/editor-in-chief-guide
1820
- caption: Python Packaging Guide
1921
chapters:
2022
- file: authoring/index
21-
sections:
22-
- file: authoring/overview
23-
- file: authoring/collaboration
24-
- file: authoring/tools-for-developers
25-
- file: authoring/testing
26-
- file: authoring/release
23+
- file: authoring/overview
24+
- file: authoring/collaboration
25+
- file: authoring/tools-for-developers
26+
- file: authoring/testing
27+
- file: authoring/release
2728
- caption: Appendices
2829
chapters:
2930
- file: appendices/templates

intro.md

Lines changed: 110 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,119 @@
1-
# The pyOpenSci Guide
1+
# Welcome to The pyOpenSci Community Guidebook!
2+
3+
4+
::::{grid} 2
5+
:reverse:
6+
7+
8+
:::{grid-item}
9+
:columns: 4
10+
:class: sd-m-auto
11+
12+
13+
:::
14+
15+
:::{grid-item}
16+
:columns: 8
17+
:class: sd-fs-3
18+
pyOpenSci is a diverse community that supports the open Python tools that
19+
drive open science.
20+
21+
<!--
22+
Removing button for the time being
23+
```{button-ref} start/your-first-book
24+
:ref-type: doc
25+
:color: primary
26+
:class: sd-rounded-pill float-left
27+
28+
29+
Get Involved (Maybe a link to a get involved page)
30+
``` -->
31+
32+
% The SVG rendering breaks latex builds for the GitHub badge, so only include in HTML
33+
```{only} html
34+
[![](https://img.shields.io/github/stars/pyopensci/contributing-guide?style=social)](https://github.com/pyopensci/contributing-guide)
35+
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7101778.svg)](https://doi.org/10.5281/zenodo.7101778)
36+
```
37+
38+
:::
39+
40+
::::
41+
<!-- I think this is the end of the header - below begins the next grid-->
42+
43+
::::{grid} 1 1 1 3
44+
:class-container: text-center
45+
:gutter: 3
46+
47+
:::{grid-item-card}
48+
:link: open-source-software-peer-review/aims-and-scope
49+
:link-type: doc
50+
:class-header: bg-light
51+
52+
Open Peer Review ✏️
53+
^^^
54+
Get a basic overview of our open peer review process for Python open source
55+
software.
56+
:::
57+
58+
:::{grid-item-card}
59+
:link: open-source-software-submissions/reviewer-guide
60+
:link-type: doc
61+
:class-header: bg-light
62+
63+
Are you a package author / maintainer? ✨
64+
^^^
65+
66+
Learn how to submit a package for peer review with pyOpenSci.
67+
:::
68+
69+
:::{grid-item-card}
70+
:link: open-source-software-submissions/editors-guide
71+
:link-type: doc
72+
:class-header: bg-light
73+
74+
Are you an Editor? ✨
75+
^^^
76+
77+
This guide will walk you through the editorial process.
78+
:::
79+
80+
:::{grid-item-card}
81+
:link: open-source-software-submissions/reviewer-guide
82+
:link-type: doc
83+
:class-header: bg-light
84+
85+
Are you a reviewer? ✨
86+
^^^
87+
88+
Click here to read our reviewer guide which will walk you through the review
89+
process step-by-step.
90+
:::
91+
92+
::::
293

3-
This is the guide for pyOpenSci! It contains information for authors looking for
4-
guidance in creating their packages, as well as information about the pyOpenSci review
5-
and editing process.
694

795
## Why pyOpenSci?
8-
pyOpenSci promotes open and reproducible research through peer-review of scientific Python packages. We also build technical capacity by providing a curated repository of high-quality packages and enabling scientists to write and share their own software. We hope to foster a greater sense of community among scientific Python users so that we can help each other become better programmers and researchers.
96+
pyOpenSci promotes open and reproducible research through peer-review of
97+
scientific Python packages. We also build technical capacity by providing a
98+
curated repository of high-quality packages and enabling scientists to write
99+
and share their own software. We hope to foster a greater sense of community
100+
among scientific Python users so that we can help each other become better
101+
programmers and researchers.
9102

10103
## This Guide
11-
This guidebook contains information for pyOpenSci package authors, reviewers, and editors. It is organized into three sections:
104+
This guidebook contains information for pyOpenSci package authors, reviewers,
105+
and editors. It is organized into three sections:
12106

13107
### 1. Before Review - Packaging Guide
14-
Contains our guidelines for creating and testing scientific python packages. Before submitting a package for review, check to be sure that your software meets the basic [requirements](authoring/overview#overview). The section also contains recommendations and best practices that might be helpful as you are writing and preparing your package.
108+
Contains our guidelines for creating and testing scientific python packages.
109+
Before submitting a package for review, check to be sure that your software
110+
meets the basic [requirements](authoring/overview#overview). The section also
111+
contains recommendations and best practices that might be helpful as you are
112+
writing and preparing your package.
15113

16114
### 2. Peer Review Process
17-
Outlines the pyOpenSci peer review process. This includes guidelines for submitting and reviewing packages, as well as our [Code of Conduct](open-source-software-peer-review/code-of-conduct). The [Aims and Scope](open-source-software-peer-review/aims-and-scope) section lays out what types of packages we are able to review. If you are unsure whether your package fits, we encourage you to submit a [presubmission inquiry](open-source-software-submissions/author-guide.html#presubmission-inquiries)
18-
19-
### 3. After Review - Maintenance
20-
Provides tips and advice for maintaining and promoting your pyOpenSci package after the review process has finished.
21-
22-
## Improving this Guide
23-
The pyOpenSci guidebook is a living document hosted on GitHub. If you have suggestions for improvements, create an issue or submit a pull request on [GitHub](https://github.com/pyOpenSci/contributing-guide).
115+
Outlines the pyOpenSci peer review process. This includes guidelines for
116+
submitting and reviewing packages, as well as our
117+
[Code of Conduct](open-source-software-peer-review/code-of-conduct). The
118+
[Aims and Scope](open-source-software-peer-review/aims-and-scope) section
119+
lays out what types of packages we review.
Lines changed: 48 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,61 @@
1-
# Aims and Scope
2-
pyOpenSci aims to support Python packages that enable reproducible research and managing the data lifecycle for scientists. Packages submitted to pyOpenSci should fit into one or more of the categories outlined below. If you are unsure whether your package fits into one of these categories, please open an issue as a pre-submission inquiry. We will let you know if we are able to review it at this time.
1+
# pyOpenSci Open Peer Review Goals and Scope
32

3+
pyOpenSci has several goals to support the scientific Python open source
4+
community.
45

5-
## Package Categories
6-
- **Data retrieval:** Packages for accessing and downloading data from online sources. Includes wrappers for accessing APIs.
7-
- **Data extraction:** Packages that aid in retrieving data from unstructured sources such as text, images and PDFs.
8-
- **Data munging:** Tools for processing data from scientific data formats.
9-
- **Data deposition:** Tools for depositing data in scientific research repositories.
10-
- **Reproducibility:** Tools to scientists ensure that their research is reproducible. E.g. version control, automated testing, or citation tools.
11-
- **Geospatial:** Packages focused on the retrieval, manipulation, and analysis of spatial data.
12-
- **Education:** Packages to aid with instruction.
13-
- **Data visualization:**\* Packages for visualizing and analyzing data.
6+
1. **Packages with overlapping functionality:**
7+
It's easy to find multiple packages on PyPi that perform that same tasks (or overlapping tasks). When you submit to us, we ask that you know about other packages in our system that may do similar things. This check will help us connect maintainers who are working on similar goals. It will also help us in the long term reduce the number of overlapping packages, in various states of maintainence on pypi.
148

15-
\* Please fill out a pre-submission inquiry before submitting a data visualization package. See the notes below.
9+
2. **Improve package usability:** Documentation makes it easier for scientists to use your tools. Our review process looks at documentation, quick start vignettes (code samples to get started) to make it easier for new users to get started using your package.
1610

17-
### Notes on Categories
18-
- pyOpenSci is young and this list is tentative. If your scientific Python package does not fit into one of the categories or if you have any other questions, we'd encourage you to open a pre-submission inquiry. We're happy to help.
19-
- Data visualization packages come in many varieties, ranging from small hyper-specific methods for one type of data to general, do-it-all packages (e.g. matplotlib). pyOpenSci accepts packages that are somewhere in between the two. If you're interested in submitting your data visualization package, please open a pre-submission inquiry on first.
20-
- Note that we cannot currently accept statistics and/or machine learning packages. We don't feel that we can give these the deep, thorough review that they require.
11+
3. **Standardize packaging:** There are many different ways to create a Python
12+
package. We will embrace community driven standards created by organizations
13+
such as Scientific Python and help maintainers create more consistent
14+
infrastructure for their packages. In the long term consistent infrastructure
15+
will make it easier for new contributors to contribute too.
16+
17+
1. **Long term maintenance:** Most maintainers are not paid and thus work on tools
18+
in their free time. So what happens when a maintainer of a commonly used tool wants
19+
to step down? We will help maintainers find someone new to take over the reigns.
20+
If that doesn't make sense we will help the maintainer gracefully sunset the
21+
package.
22+
23+
1. The need for community around and support for smaller Python packages that
24+
support open science.
25+
26+
## Is Your Package in Scope For pyOpenSci Review?
27+
pyOpenSci reviews packages within a set of categories define below.
28+
If you are unsure whether your package fits into one of these categories, please
29+
open a [pre-submission inquiry via a GitHub Issue](LINK) to get feedback from
30+
one of our editors. We are happy to look at your package and help you understand
31+
whether it is in scope or not.
32+
33+
```{include} ../scope.md
34+
```
2135

2236
## Package Overlap
23-
pyOpenSci encourages competition among packages, forking and re-implementation as they improve options of users overall. However, as we want packages in the pyOpenSci suite to be our top recommendations for the tasks they perform, we aim to avoid duplication of functionality of existing Python packages in any repo without significant improvements. A Python package that replicates the functionality of an existing package may be considered for inclusion in the pyOpenSci suite if it significantly improves on alternatives by being:
37+
pyOpenSci encourages competition among packages, forking and re-implementation
38+
as they improve options of users. However, strive to make packages in the
39+
pyOpenSci suite to represent our top recommendations for the tasks that they
40+
perform. We aim to avoid duplication of functionality of existing Python
41+
packages in any repo without significant improvements. A Python package that
42+
replicates the functionality of an existing package may be considered for
43+
inclusion in the pyOpenSci suite if it significantly improves on alternatives by
44+
being:
2445

2546
- More open in licensing or development practices
26-
- Broader in functionality (e.g., providing access to more data sets, providing a greater suite of functions), but not only by duplicating additional packages
47+
- Broader in functionality (e.g., providing access to more data sets, providing
48+
a greater suite of functions), but not only by duplicating additional packages
2749
- Better in usability and performance
2850
- Actively maintained while alternatives are poorly or no longer actively maintained
2951

30-
These factors should be considered as a whole to determine if the package is a significant improvement. A new package would not meet this standard only by following our package guidelines while others do not, unless this leads to a significant difference in the areas above.
52+
These factors should be considered as a whole to determine if the package is a
53+
significant improvement. A new package would not meet this standard only by
54+
following our package guidelines while others do not, unless this leads to a
55+
significant difference in the areas above.
3156

32-
We recommend that packages highlight differences from and improvements over overlapping packages in their README and/or vignettes.
57+
We recommend that packages highlight differences from and improvements over
58+
overlapping packages in their README and/or vignettes.
3359

34-
We encourage developers whose packages are not accepted due to overlap to still consider submittal to other repositories or journals.
60+
We encourage developers whose packages are not accepted due to overlap to still
61+
consider submittal to other repositories or journals.

0 commit comments

Comments
 (0)