Skip to content

Commit 1906a58

Browse files
author
Leah Wasser
authored
fix links (#91)
* fix links * cleanup * add tip box * add tip box * tiny bit more text cleanup * a few more minor edits * finesse toc
1 parent 18b466c commit 1906a58

File tree

5 files changed

+171
-57
lines changed

5 files changed

+171
-57
lines changed

_toc.yml

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,32 @@
1-
file: intro
2-
sections:
3-
- file: README
4-
- file: open-source-software-peer-review/intro
5-
sections:
6-
- file: open-source-software-peer-review/aims-and-scope
7-
- file: open-source-software-peer-review/code-of-conduct
8-
- file: open-source-software-peer-review/policies-and-guidelines
9-
- file: open-source-software-submissions/intro
10-
sections:
11-
- file: open-source-software-submissions/author-guide
12-
- file: open-source-software-submissions/reviewer-guide
13-
- file: open-source-software-submissions/editors-guide
14-
- file: open-source-software-submissions/editor-in-chief-guide
15-
- file: authoring/index
16-
sections:
17-
- file: authoring/overview
18-
- file: authoring/collaboration
19-
- file: authoring/tools-for-developers
20-
- file: authoring/testing
21-
- file: authoring/release
22-
- file: appendices/templates
23-
sections:
1+
- file: intro
2+
3+
- part: Overview
4+
chapters:
5+
- file: open-source-software-peer-review/intro
6+
sections:
7+
- file: open-source-software-peer-review/aims-and-scope
8+
- file: open-source-software-peer-review/code-of-conduct
9+
- file: open-source-software-peer-review/policies-and-guidelines
10+
11+
- part: Submission Guides
12+
chapters:
13+
- file: open-source-software-submissions/intro
14+
sections:
15+
- file: open-source-software-submissions/author-guide
16+
- file: open-source-software-submissions/reviewer-guide
17+
- file: open-source-software-submissions/editors-guide
18+
- file: open-source-software-submissions/editor-in-chief-guide
19+
20+
- part: Python Packaging Guide
21+
chapters:
22+
- file: authoring/index
23+
sections:
24+
- file: authoring/overview
25+
- file: authoring/collaboration
26+
- file: authoring/tools-for-developers
27+
- file: authoring/testing
28+
- file: authoring/release
29+
- part: Appendices
30+
chapters:
31+
- file: appendices/templates
2432
- file: appendices/glossary

authoring/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Author's Guide
1+
# Python Packaging Guide for Maintainers Submitting to PyOpenSci
22

33
These pages contain guides for authoring packages that will go through the
44
pyOpenSci review process. This includes best-practices and guidelines for structuring

intro.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ This guidebook contains information for pyOpenSci package authors, reviewers, an
1414
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.
1515

1616
### 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#presubmission)
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)
1818

1919
### 3. After Review - Maintenance
2020
Provides tips and advice for maintaining and promoting your pyOpenSci package after the review process has finished.

open-source-software-submissions/author-guide.md

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,43 @@
33
Before submitting your project for review with pyOpenSci, make sure that it
44
adheres to the standards and guidelines put forward in the [authoring guide](../authoring/index).
55

6-
## Presubmission
7-
If you are unsure if your package fits within pyOpenSci's [scope](../open-source-software-peer-review/aims-and-scope), you're encouraged to open a presubmission inquiry issue on the [software-review](https://github.com/pyOpenSci/software-review) repository.
6+
## Presubmission Inquiries
7+
If you are unsure of whether your package fits within
8+
[pyOpenSci's scope](../open-source-software-peer-review/aims-and-scope), submit
9+
a [presubmission inquiry issue on the software-review](https://github.com/pyOpenSci/software-review/issues/new?assignees=&labels=0%2Fpresubmission&template=presubmission-inquiry.md&title=)
10+
repository. After you submit an inquiry, a pyOpenSci editor will provide you with
11+
input regarding the fit of your package within the pyOpenSci ecosystem.
812

913
## Submission for Peer Review
10-
To request peer review, start a new issue in the [pyOpenSci/software-review](https://github.com/pyOpenSci/software-review) repository and fill out the "Submit Software for Review" issue template. For more information on the process and timeline for review, see our [section on the review process](../open-source-software-peer-review/intro).
14+
To request peer review, start a new issue in the
15+
[pyOpenSci/software-review](https://github.com/pyOpenSci/software-review)
16+
repository and fill out the "Submit Software for Review" issue template. For
17+
more information on the process and timeline for review, see
18+
our [section on the review process](../open-source-software-peer-review/intro).
19+
20+
### Journal of Open Source Software (JOSS) Submission
21+
22+
PyOpenSci has a partnership with JOSS where our review is accepted by JOSS by
23+
default if the package fits into the JOSS scope.
24+
25+
- When you submit your package for pyOpenSci review, you can opt to include a submission to JOSS after passing pyOpenSci review. In this case, your package will evaluated by JOSS through the pyOpenSci review
26+
- To complete the JOSS submission, you will also need to craft a **paper.md** file describing the package following JOSS' standards (see below). More detail on the requirements for JOSS can be found on [their website](https://joss.readthedocs.io/en/latest/submitting.html#what-should-my-paper-contain).
27+
- If you choose to opt into the pyOpenSci / JOSS partnership in your review, do NOT submit your package to JOSS separately. A PyOpenSci editor fill facilitate that step once you complete your review.
28+
29+
30+
```{note}
31+
Acceptance to pyOpenSci does not guarantee acceptance to JOSS. In particular, JOSS doesn't accept the full variety of packages that are in scope for pyOpenSci. For example, thin API wrappers fall within [pyOpenSci's scope](../open-source-software-peer-review/aims-and-scope) but are usually not accepted by JOSS. Be sure to review JOSS's [submission requirements](https://joss.readthedocs.io/en/latest/submitting.html#submission-requirements) before writing up a paper about your package.
32+
```
1133

12-
### JOSS Submission
13-
- If you would like, your package can be submitted to the Journal of Open-Source Software (JOSS) after passing pyOpenSci review. In this case, the package will evaluated by JOSS based on the pyOpenSci review and the paper accompanying your package (see below).
14-
- If you choose to have your package submitted to JOSS after review, it should include a paper.md file describing the package. More detail on JOSS’s requirements can be found at [their website](https://joss.readthedocs.io/en/latest/submitting.html#what-should-my-paper-contain).
15-
- **Important note:** Acceptance to pyOpenSci does not guarantee acceptance to JOSS. In particular, JOSS doesn't accept all the types of packages that pyOpenSci does. For example, thin API wrappers fall within pyOpenSci's [scope](../open-source-software-peer-review/aims-and-scope) but are usually not accepted by JOSS. Be sure to review JOSS's [submission requirements](https://joss.readthedocs.io/en/latest/submitting.html#submission-requirements) before writing up a paper about your package.
16-
- If you choose this option you should not submit your package to JOSS separately.
1734

1835
## Presubmission Questions
1936

20-
If your package does not clearly fit within one of the categories outlined in our [scope](../open-source-software-peer-review/aims-and-scope), create a [Presubmission Inquiry issue](https://github.com/pyOpenSci/software-review/issues/new/choose) in our software-review repo. You can use the same issue template if you have other questions. An editor will get back to you in a few days to answer your questions.
37+
If your package does not clearly fit within one of the categories outlined in
38+
our [scope](../open-source-software-peer-review/aims-and-scope), create
39+
a [Presubmission Inquiry issue](https://github.com/pyOpenSci/software-review/issues/new/choose)
40+
in our software-review repo. You can use the same issue template if you have
41+
other questions. An editor will get back to you in a few days to answer your
42+
questions and to help determine the fit.
2143

2244
## Package Prep Help
2345

open-source-software-submissions/editors-guide.md

Lines changed: 107 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,85 @@
11
# Guide for Editors
22

33
## Get Started Checklist
4-
- Tag issue with `2/seeking-reviewer(s)` tag.
5-
- Add a comment to the issue with your response to the Editor Checks.
6-
- Use the [editor template](../appendices/templates#editors-template).
7-
- Fill out the Editor Checks sections for `Fit`, `Automated Tests`, `License`, `Repository`
8-
- Check against policies for [fit](aims_scope#package-categories) and [overlap](aims_scope#package-overlap). If reject, see [this section](#responding-to-out-of-scope-submissions) about how to respond.
9-
- `Archive` and `Version` for JOSS may be filled out at the end of the review.
10-
- Check the comment submission by the author to ensure that mandatory parts of submission template are complete.
11-
- If not, direct authors toward appropriate instructions.
4+
5+
Follow the checklist below when serving as an editor for a package submitted to
6+
pyOpenSci for review.
7+
8+
#### 1. Tag the Submission & Ensure You Have Sufficient Information From The Author
9+
10+
Once you begin the review process as an editor:
11+
12+
* Tag the submission issue with the `2/seeking-reviewer(s)` tag.
13+
* Check the comment submission by the author to ensure that mandatory parts of submission template are complete.
14+
- If elements are not commplete, direct authors toward filling in any missing pieces.
15+
16+
#### 2. Check the Package for Basic Infrastructure
17+
18+
- Make sure that the package contains a basic testing framework and CI setup required by PyOpenSci. This avoids additional and redundant reviewer time.
19+
- Also skim the package for sufficient documentation, style, and basic linting
20+
21+
#### 3. Next, Add a Comment With the Editor Checks
22+
Once the above is complete you are ready to add editor checks to the issue.
23+
24+
- Add a comment to the issue that contains a copy of the Editor Checks template (see below) filled out with your response to the checks that begin the review.
25+
- In this comment you will add reviewers and the review deadline date once you have reviewers assigned (see below)
26+
27+
```markdown
28+
## Editor checks:
29+
30+
- [ ] **Fit**: The package meets criteria for [fit](https://www.pyopensci.org/contributing-guide/open-source-software-peer-review/aims-and-scope.html#package-categories) and [overlap](https://www.pyopensci.org/contributing-guide/open-source-software-peer-review/aims-and-scope.html#package-overlap).
31+
- [ ] **Automated tests:** Package has a testing suite and is tested via Travis-CI or another CI service.
32+
- [ ] **License:** The package has an OSI accepted license
33+
- [ ] **Repository:** The repository link resolves correctly
34+
- [ ] **Archive** (JOSS only, may be post-review): The repository DOI resolves correctly
35+
- [ ] **Version** (JOSS only, may be post-review): Does the release version given match the GitHub release (v1.0.0)?
36+
37+
---
38+
39+
## Editor comments
40+
41+
---
42+
43+
Reviewers:
44+
Due date:
45+
```
46+
47+
- Fill out the Editor Checks sections for `Fit`, `Automated Tests`, `License`, and `Repository`
48+
- Check against policies for [package fit within identified categories for the pyOpenSci ecosystem](../open-source-software-peer-review/aims-and-scope.html#package-categories)
49+
- Check against policies for [package overlap of functionality with other packages](../open-source-software-peer-review/aims-and-scope.html#package-overlap).
50+
51+
If the package does not fit the pyOpenSci scope and policies and needs to be
52+
rejected, see [this section](#responding-to-out-of-scope-submissions) about how
53+
to respond.
54+
55+
- `Archive` and `Version` within the editor checks for JOSS may be filled out at the end of the review. The JOSS component of the review happens last after all of the review on the pyOpenSci side is complete.
56+
57+
1258
- If initial checks show major gaps, request changes before assigning reviewers.
13-
- Within one week of completing checks, identify two reviewers for the package (see sections below for additional guidance).
59+
60+
#### 4. Identify Reviewers
61+
62+
- Within one week of completing the editor checks, identify two reviewers for the package (see sections below for additional guidance on finding and selecting reviewers).
1463
- Once reviewers have been identified:
15-
- Modify the Editor Comments under Editor Checks to add reviewer names and assign due date (typically 2-3 week turnaround).
64+
- Modify the Editor Comments under Editor Checks to add reviewer names and assign due date (typically 2-3 week turnaround). Also add the reviewers to the initial top comment in the issue.
65+
1666
- `Reviewers: Full Name (@github_username) and Full Name (@github_username)`
1767
- `Due date: Date`
1868
- Include in your comment to the reviewers:
19-
- link to guide for reviewers
20-
- link to review template
69+
- Link to the reviewer guide for reviewers
70+
- Link to the review template
2171
- Edit the original comment submitted by author to fill in the Editor and Reviewer Information:
2272
- `Editor: Full Name (@github_username)`
2373
- `Reviewer 1: Full Name (@github_username)`
2474
- `Reviewer 2: Full Name (@github_username)`
2575
- `Archive` and `Version accepted` are filled out at the end of the review.
2676
- Tag issue with `3/reviewer(s)-assigned` tag
2777

28-
## General Guidelines for Editor
29-
- Run automated tests: spelling, linting, etc ... will be filled in later.
30-
- For packages needing continuous integration on multiple platforms ([criteria in this section of the packaging chapter](../authoring/overview#continuous-integration)), make sure the package gets tested on multiple platforms (having the package built on both Travis and AppVeyor for instance).
31-
- Wherever possible when asking for changes, direct authors to automatic tools and online resources.
32-
- If the package raises a new issue for pyOpenSci policy, create an issue on [pyOpenSci's governance repo](https://github.com/pyOpenSci/governance)
78+
### General Review guidelines
79+
80+
- For packages needing continuous integration on multiple platforms ([criteria in this section of the packaging chapter](../authoring/overview#continuous-integration)), make sure the package gets tested on multiple platforms (e.g. MAC, Windows, Linux).
81+
- Wherever possible when asking for changes in the review process, direct authors to automatic tools and online resources.
82+
- If the package raises a new issue for pyOpenSci policy, create an issue on [pyOpenSci's governance repo](https://github.com/pyOpenSci/governance)
3383

3484
## Guidelines For Identifying Reviewers
3585

@@ -84,15 +134,50 @@ course inviting one new reviewer expands our pool of reviewers.
84134

85135
### Editor Responsibilities After Review:
86136

87-
- Change the status tag to `6/approved`.
88-
- You can use the [approval comment template](../appendices/templates#approval-comment-template).
89-
- Add review/er information to the review database.
137+
Once the package has been accepted through the review process:
138+
139+
- Change the status tag of the issue to `6/approved`
140+
- Update the top of the issue with the version of the package that was approved and the doi.
141+
142+
If the package was accepted by JOSS:
143+
144+
- Fill out `Archive` and `Version` for JOSS under Editor Checks comment.
145+
- Fill out `Archive` and `Version accepted` in the original comment submitted by author.
146+
147+
- Then post the approval template below to the issue. This template asks the authors and reviewers to add themselves and the package that was approved to the pyOpenSci website.
148+
149+
```
150+
----------------------------------------------
151+
🎉 <package-name-here> has been approved by pyOpenSci! Thank you <maintainer-name-here> for submitting <package-name> and many thanks to <reviewer-names-here> for reviewing this package! 😸
152+
153+
There are a few things left to do to wrap up this submission:
154+
- [ ] Add the badge for pyOpenSci peer-review to the README.md of <package-name-here>. The badge should be `[![pyOpenSci](https://tinyurl.com/y22nb8up)](https://github.com/pyOpenSci/software-review/issues/issue-number)`
155+
- [ ] Add <package-name> to the pyOpenSci website. <maintainer-name>, please open a pr to update [this file](https://github.com/pyOpenSci/pyopensci.github.io/blob/master/_data/packages.yml): to add your package and name to the list of contributors
156+
- [ ] <reviewers-and-maintainers> if you have time and are open to being listed on our website, please add yourselves to [this file](https://github.com/pyOpenSci/pyopensci.github.io/blob/master/_data/contributors.yml) via a pr so we can list you on our website as contributors!
157+
158+
<IF JOSS SUBMISSION>
159+
This package is going to move on to JOSS for review. I believe @arfon will ask you to implement the items below but let's let him chime in here first!
160+
- [ ] Activate Zenodo watching the repo
161+
- [ ] Tag and create a release so as to create a Zenodo version and DOI
162+
- [ ] Submit to JOSS using the Zenodo DOI. We will tag it for expedited review.
163+
164+
<IF JOSS SUBMISSION/>
165+
166+
All -- if you have any feedback for us about the review process please feel free to share it here. We are always looking to improve our process and our documentation in the [contributing-guide](https://www.pyopensci.org/contributing-guide). We have also been updating our documentation to improve the process so all feedback is appreciated!
167+
```
168+
169+
When all of the above steps are complete, you can close the software-review issue.
170+
171+
#### Optional - Move Package to PyOpenSci Organization (BETA)
172+
173+
rOpenSci packages often live in the rOpenSci organization. PyOpenSci is still
174+
figuring out whether this model fits for the Python community. If an author is
175+
interested in this option, consider doing the following:
176+
90177
- If package will be migrated to `pyOpenSci`:
91178
- Create a two-person team in pyOpenSci's "pyOpenSci" GitHub organization, named for the package, with yourself and the package author as members.
92179
- Have the author transfer the repository to `pyOpenSci`
93180
- Go to the repository settings in the "pyOpenSci" GitHub organization and give the author "Admin" access to the repository.
94-
- Fill out `Archive` and `Version` for JOSS under Editor Checks comment.
95-
- Fill out `Archive` and `Version accepted` in the original comment submitted by author.
96181
- Ask author to:
97182
- Change any needed links, such those for CI badges
98183
- Add pyOpenSci badge: `[![pyOpenSci](https://tinyurl.com/y22nb8up)](link-to-issue)`.
@@ -101,4 +186,3 @@ course inviting one new reviewer expands our pool of reviewers.
101186
- For AppVeyor, tell the author to update the GitHub link in their badge, but do not transfer the project: AppVeyor projects should remain under the authors' account. The badge is `[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/pyOpenSci/pkgname?branch=master&svg=true)](https://ci.appveyor.com/project/individualaccount/pkgname)`.
102187
- For Codecov, the webhook may need to be reset by the author.
103188
- Add a "peer-reviewed" topic to the repository.
104-
- Close the software-review issue.

0 commit comments

Comments
 (0)