You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<td>Affiliated packages can only be accepted into the list if there are no red scores. Existing affiliated packages that have one category that drops down to red don’t get automatically kicked out, but they should resolve this, otherwise the package will be de-listed.</td>
<td>Having orange scores is fine, but is both a warning to the user that not all is perfect about the package, and an incentive for developers to improve and reach green.</td>
<td>This is the standard we want all packages to aim for. Packages that have all-green scores may be featured in a separate table for well-maintained and supported packages.</td>
38
-
</tr>
39
-
</table>
18
+
*[Reviewer Guide](https://www.pyopensci.org/software-peer-review/how-to/reviewer-guide.html) is for you.
19
+
*[Editor Guide](https://www.pyopensci.org/software-peer-review/how-to/editors-guide.html) is for the Astropy Editor working with you.
40
20
41
-
The document also includes ``monospaced keywords`` for the categories and levels. These are the keywords and values to be used in the [registry.json](http://www.astropy.org/affiliated/registry.json) file that is the canonical source for affiliated package information.
21
+
In addition to the above, here are some Astropy-specific guidelines:
42
22
43
-
The categories in which we assess the package are the following:
23
+
```markdown
24
+
#### Astropy-specific
44
25
45
-
* Functionality (``'functionality'``)
46
-
* Integration with Astropy ecosystem (``'ecointegration'``)
47
-
* Documentation (``'documentation'``)
48
-
* Testing (``'testing'``)
49
-
* Development status (``'devstatus'``)
50
-
* Python 3 compatibility (``'python3'``)
26
+
- [ ] **Relevance to astronomy/astrophysics:**
27
+
- [ ] **Out of scope:** Not useful for astronomers, or specific to one project/collaboration. (This is a basis for rejection.)
28
+
- [ ] **Specialized package:** Useful to astronomers working in a very specific domain/field, or with a specific telescope instrument and usable not just by a single collaboration but any astronomers within that domain. Packages such as sncosmo fall into this category.
29
+
- [ ] **General package:** Package that is useful for astronomers across more than a single field/instrument/telescope. Packages such as astroquery or astroplan fall into this category.
30
+
- [ ] **Integration with Astropy ecosystem:**
31
+
- [ ] **No integration:** Does not use Astropy or other Astropy Affiliated packages anywhere where it should be possible, and/or uses other libraries instead, or unnecessarily duplicates functionality found in Astropy or other Astropy Affiliated packages. (This is a basis for rejection.)
32
+
- [ ] **Partial integration:** Makes an effort to use Astropy or other Astropy Affiliated packages in places, but still has other places where this could be done.
33
+
- [ ] **Good integration:** Uses Astropy or other Astropy Affiliated packages wherever possible. Where not, there are good reasons not to.
34
+
```
51
35
52
-
### Functionality ('functionality')
36
+
For specific actionable items, reviewer or editor are free to open issues on the package repository
37
+
directly and link them back to the application (this would be a GitHub issue in [pyOpenSci software submission repository](https://github.com/pyOpenSci/software-submission/issues). If some of the issues are to justify a rejection, that must be made clear in the review.
53
38
54
-
We first need to make sure that the scope of the package is relevant for the affiliated package system. The scopes are:
55
-
56
-
<table>
57
-
<tr>
58
-
<tdwidth=150><imgsrc="https://img.shields.io/badge/Out%20of%20scope-red.svg"alt="Out of scope"></td>
59
-
<td>Not useful for astronomers, or specific to one project/collaboration.</td>
<td>Useful to astronomers working in a very specific domain/field, or with a specific telescope instrument and usable not just by a single collaboration but any astronomers within that domain. Packages such as sncosmo fall into this category.</td>
<td>Package that is useful for astronomers across more than a single field/instrument/telescope. Packages such as astroquery or astroplan fall into this category.</td>
68
-
</tr>
69
-
</table>
70
-
71
-
Note that general is not necessary better than specific, it’s just a way to make sure we can present these separately.
72
-
73
-
### Integration with Astropy ecosystem ('ecointegration')
74
-
75
-
Next up, we need to check how well the package fits in to the existing Astropy
76
-
ecosystem - does it make use of existing functionality, or does it duplicate it?
<td>Does not use Astropy or other affiliated packages anywhere where it should be possible, and/or uses other libraries instead, or unnecessarily duplicates functionality found in Astropy or other affiliated packages.</td>
<td>Reasonable documentation (which could be a very well written README), installation instructions and at least one usage example, but some parts missing.</td>
<td>No tests or tests that are not trivial to run or don’t use a standard testing framework, or low test coverage (no exact threshold for coverage since this is not always easy to measure, but in this category most of the code is not covered).</td>
<td>A reasonable fraction of the code is covered by tests, but still some parts of the code that are missing tests. To be in this category, packages should use a standard framework (pytest, nose, etc.) and be runnable with a single command.</td>
<td>Test coverage is very high (for example 90% or more), tests use a standard framework (pytest, nose, etc.) and are easy to run and continuous integration is used to ensure package stability over time.</td>
135
-
</tr>
136
-
</table>
137
-
138
-
Test coverage can be tricky to measure, so this will be carefully assessed for
139
-
each package. The main idea is to determine whether it is low, medium or high
<td>Stable releases exist, but still under heavy development (so API changes can be frequent).</td>
152
-
</tr>
153
-
<tr>
154
-
<td><imgsrc="https://img.shields.io/badge/Functional%20but%20unmaintained-orange.svg"alt="Functional but unmaintained"></td>
155
-
<td>Stable releases exist and there are no active developers/maintainers but package remains mostly functional.</td>
156
-
</tr>
157
-
<tr>
158
-
<td><imgsrc="https://img.shields.io/badge/Functional%20but%20low%20activity-orange.svg"alt="Functional but low activity"></td>
159
-
<td>Stable releases exist but the maintainers only make occasional comments/commits (and package is not in excellent condition, because otherwise it’s fine to have a completely stable package with little activity if it can be considered 'finished')</td>
<td>Package has stable releases, and package is actively developed (as needed). A metric for active development is whether most recently-opened issues have some kind of reply from maintainers.</td>
0 commit comments