2
2
3
3
## Review Process Guidelines
4
4
5
- pyOpenSci packages are reviewed for quality, fit, scope, documentation, and
6
- usability. The review process is similar to a manuscript review, however, it
5
+ pyOpenSci packages are reviewed for quality, fit, scope, documentation, and
6
+ usability. The review process is similar to a manuscript review, however, it
7
7
has a stronger focus on Python packaging best practices.
8
8
9
- Unlike a manuscript review, our peer review process is an ongoing conversation.
10
- Once all major issues and questions are addressed, the review editor will make
9
+ Unlike a manuscript review, our peer review process is an ongoing conversation.
10
+ Once all major issues and questions are addressed, the review editor will make
11
11
a decision to accept, hold, or reject the package.
12
12
13
- Rejections are usually done early in the process, before the review process
14
- begins. In rare cases, a package may also not be on-boarded into the pyOpenSci
13
+ Rejections are usually done early in the process, before the review process
14
+ begins. In rare cases, a package may also not be on-boarded into the pyOpenSci
15
15
ecosystem after review & revision.
16
16
17
- It is ultimately the editor’s decision on whether or not to reject the package
17
+ It is ultimately the editor’s decision on whether or not to reject the package
18
18
based on how the reviews are addressed.
19
19
20
20
## Review Communication Approach
21
21
22
22
Communication between authors, reviewers, and editors takes
23
- place on GitHub. You can, however choose to contact the editor by email if
23
+ place on GitHub. You can, however choose to contact the editor by email if
24
24
needed.
25
25
26
- When submitting a package, please make sure that your GitHub notification
26
+ When submitting a package, please make sure that your GitHub notification
27
27
settings are setup to notify you when you receive feedback on the review issue.
28
28
29
29
## Submitting Your Package for Review in Other Venues
@@ -34,8 +34,8 @@ submitting a software paper describing the package to a journal.
34
34
Review feedback may result in major improvements and updates to your package,
35
35
including changes that could be break package functionality.
36
36
37
- Applying reviewer or editor recommendations to your package can improve your
38
- users' experience with future versions of your package even if your package is
37
+ Applying reviewer or editor recommendations to your package can improve your
38
+ users' experience with future versions of your package even if your package is
39
39
already published on ` PyPI ` or ` conda-forge ` .
40
40
41
41
> Please do not submit your package for review while it or an associated
@@ -57,8 +57,8 @@ submit it to pyOpenSci for review. This provides:
57
57
58
58
## Conflict of Interest for Reviews and Editors
59
59
60
- Following criteria are meant to be a guide for what constitutes a conflict of
61
- interest (COI) for an editor or reviewer. The potential editor or reviewer has
60
+ Following criteria are meant to be a guide for what constitutes a conflict of
61
+ interest (COI) for an editor or reviewer. The potential editor or reviewer has
62
62
a conflict of interest if:
63
63
64
64
- The authors with a major role are from the potential reviewer/editor’s
@@ -80,103 +80,103 @@ external guest editor will be recruited to lead the package review.
80
80
81
81
## Review Timelines and On-Hold Reviews
82
82
83
- At any time, an author can choose to have their submission put on hold
84
- (the editor applies the ` on-hold ` label to the GitHub issue). The ` on-hold `
85
- status will be revisited every 3 months. If after one year there has been
83
+ At any time, an author can choose to have their submission put on hold
84
+ (the editor applies the ` on-hold ` label to the GitHub issue). The ` on-hold `
85
+ status will be revisited every 3 months. If after one year there has been
86
86
no movement on the review, the issue will be closed.
87
87
88
88
## After Acceptance: Package Ownership and Maintenance
89
89
90
- Package authors are expected to maintain and develop their software and
90
+ Package authors are expected to maintain and develop their software and
91
91
retain
92
- ownership of it after acceptance into pyOpenSci, as per the peer review
93
- agreement acknowledged upon submission. This maintenance commitment should
94
- last for at least two years. The pyOpenSci team will not interfere with
92
+ ownership of it after acceptance into pyOpenSci, as per the peer review
93
+ agreement acknowledged upon submission. This maintenance commitment should
94
+ last for at least two years. The pyOpenSci team will not interfere with
95
95
day-to-day tool maintenance unless explicitly added as collaborators.
96
96
97
- If you need to step down from maintaining your accepted pyOpenSci package,
98
- please promptly notify the pyOpenSci Editor-in-Chief or Software Review Lead.
97
+ If you need to step down from maintaining your accepted pyOpenSci package,
98
+ please promptly notify the pyOpenSci Editor-in-Chief or Software Review Lead.
99
99
pyOpenSci will collaborate with you to either:
100
100
101
101
- Find a new maintainer or
102
102
- Archive the tool, depending on what best suits your specific scientific
103
103
Python package.
104
104
105
- We will reach out to our package maintainers each year to verify the
106
- package is actively maintained and to see if there are any updates we can
105
+ We will reach out to our package maintainers each year to verify the
106
+ package is actively maintained and to see if there are any updates we can
107
107
highlight through our social channels.
108
108
109
109
### Maintenance Tracking
110
110
111
- pyOpenSci is building a system to track package metrics and activity,
112
- including issues, pull requests, and dates of the last release and last commit
113
- to the package repository. Activity is defined as a repository commit, pull
111
+ pyOpenSci is building a system to track package metrics and activity,
112
+ including issues, pull requests, and dates of the last release and last commit
113
+ to the package repository. Activity is defined as a repository commit, pull
114
114
request, or release.
115
115
116
- We will flag packages that haven't been updated within a 1 year/ 12 month time
117
- period based on activity. Packages with no activity after 12 months will be
118
- flagged. At that time, pyOpenSci editorial team member will contact the package
116
+ We will flag packages that haven't been updated within a 1 year/ 12 month time
117
+ period based on activity. Packages with no activity after 12 months will be
118
+ flagged. At that time, pyOpenSci editorial team member will contact the package
119
119
maintainers to evaluate the maintenance status of their package.
120
120
121
121
(archive-process)=
122
122
123
123
### Package Maintenance and Maintainer Responsiveness
124
124
125
- If, after one year, package maintainers are unresponsive to requests for
126
- package fixes or messages from the pyOpenSci team, we will initiate
127
- discussions about the package's ongoing inclusion within the pyOpenSci
125
+ If, after one year, package maintainers are unresponsive to requests for
126
+ package fixes or messages from the pyOpenSci team, we will initiate
127
+ discussions about the package's ongoing inclusion within the pyOpenSci
128
128
ecosystem.
129
129
130
- In cases where a package is heavily used by the community, we may
131
- collaborate with the community to identify reasonable next steps, such as
132
- assisting in finding a new maintainer. If a solution for ongoing package
133
- maintenance is not found, the package will be archived within the pyOpenSci
130
+ In cases where a package is heavily used by the community, we may
131
+ collaborate with the community to identify reasonable next steps, such as
132
+ assisting in finding a new maintainer. If a solution for ongoing package
133
+ maintenance is not found, the package will be archived within the pyOpenSci
134
134
ecosystem.
135
135
136
136
If a sub-community decides to fork and maintain the package, we are open to
137
- working with the new maintainers to register the newly forked package within
138
- our ecosystem. The original package will be archived with a link to the new
137
+ working with the new maintainers to register the newly forked package within
138
+ our ecosystem. The original package will be archived with a link to the new
139
139
fork.
140
140
141
141
### Quality Commitment
142
142
143
- pyOpenSci strives to develop and promote high quality research software. To
144
- ensure that your software meets our criteria, we review all of our submissions
145
- as part of the Software Peer Review process. We expect that you will continue
143
+ pyOpenSci strives to develop and promote high quality research software. To
144
+ ensure that your software meets our criteria, we review all of our submissions
145
+ as part of the Software Peer Review process. We expect that you will continue
146
146
to maintain a package that has been accepted continually.
147
147
148
- Despite our best efforts to support contributed software, errors are the
149
- responsibility of individual maintainers. Buggy, unmaintained software may
150
- be removed from our suite at any time. We also ask maintainers that they get
148
+ Despite our best efforts to support contributed software, errors are the
149
+ responsibility of individual maintainers. Buggy, unmaintained software may
150
+ be removed from our suite at any time. We also ask maintainers that they get
151
151
in touch with us if they do need to step down from maintaining a tool.
152
152
153
153
### Requesting Package Removal from the pyOpenSci Ecosystem
154
154
155
- In the unlikely scenario that a contributor of a package requests removal of
156
- their package from our ecosystem, we retain the right offer the last / most
157
- recently released version of that package in our ecosystem for archival
155
+ In the unlikely scenario that a contributor of a package requests removal of
156
+ their package from our ecosystem, we retain the right offer the last / most
157
+ recently released version of that package in our ecosystem for archival
158
158
purposes only.
159
159
160
160
### Archiving a Package
161
161
162
- If a package appears to be no longer maintained, we may move to mark it as
163
- archived which moves the package from our
164
- [ main package listing] ( https://www.pyopensci.org/python-packages.html#all-packages )
165
- to our [ archived packaging] ( https://www.pyopensci.org/python-packages.html#archived-packages )
162
+ If a package appears to be no longer maintained, we may move to mark it as
163
+ archived which moves the package from our
164
+ [ main package listing] ( https://www.pyopensci.org/python-packages.html#all-packages )
165
+ to our [ archived packaging] ( https://www.pyopensci.org/python-packages.html#archived-packages )
166
166
listing section.
167
167
168
- To archive a pyOpenSci approved package, add the
169
- [ archive label] ( https://github.com/pyOpenSci/software-submission/issues?q=label%3Aarchived )
170
- to the original review issue. Once this label is applied to the issue, the
171
- website will automatically update to reflect this status. If at any point
172
- in the future, an archived package undergoes active maintenance again, this
173
- label can be removed from the issue to move the package back to an active
168
+ To archive a pyOpenSci approved package, add the
169
+ [ archive label] ( https://github.com/pyOpenSci/software-submission/issues?q=label%3Aarchived )
170
+ to the original review issue. Once this label is applied to the issue, the
171
+ website will automatically update to reflect this status. If at any point
172
+ in the future, an archived package undergoes active maintenance again, this
173
+ label can be removed from the issue to move the package back to an active
174
174
status.
175
175
176
- We opt to archive inactive packages rather than remove them to preserve the
177
- history and contributions of the software, ensuring that others can still
178
- access and learn from it. This approach maintains the integrity of the
179
- scientific record and allows for potential future reactivation or forking
180
- of the project. By archiving rather than removing, we provide a clear
181
- status of the package while keeping its legacy intact for reference and
176
+ We opt to archive inactive packages rather than remove them to preserve the
177
+ history and contributions of the software, ensuring that others can still
178
+ access and learn from it. This approach maintains the integrity of the
179
+ scientific record and allows for potential future reactivation or forking
180
+ of the project. By archiving rather than removing, we provide a clear
181
+ status of the package while keeping its legacy intact for reference and
182
182
educational purposes.
0 commit comments