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
Copy file name to clipboardExpand all lines: about/package-scope.md
+230-5Lines changed: 230 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -18,21 +18,246 @@ Currently, the packages that pyOpenSci reviews also need to fall into the
18
18
technical and applied scope of our organization. This scope may expand over time
19
19
as the organization grows.
20
20
21
-
22
-
23
21
## Is Your Package in Scope For pyOpenSci Review?
24
22
25
-
pyOpenSci only reviews packages that fall within our specified domain and
26
-
technical scope listed below.
23
+
pyOpenSci reviews packages that fall within a list of specified categories and
24
+
domains. Packages must also meet our technical scope requirements.
27
25
28
26
If you are unsure whether your package is in scope for review, please
29
27
open a [pre-submission inquiry using a GitHub Issue](https://github.com/pyOpenSci/software-review/issues/new?assignees=&labels=0%2Fpresubmission&template=presubmission-inquiry.md&title=) to get feedback from
30
28
one of our editors. We are happy to look at your package and help you understand
31
29
whether it is in scope or not.
32
30
33
-
```{include} /appendices/scope.md
31
+
### About the types of packages that we review
32
+
33
+
pyOpenSci reviews packages that support open reproducible science,
34
+
data processing and and the various stages of managing the
35
+
data lifecycle. Packages submitted to pyOpenSci should fit into one or
36
+
more of the categories below and should be within our technical scope.
37
+
38
+
```{admonition} Your Package Does Not Need to Have Widespread Use to be Reviewed
39
+
:class: important
40
+
41
+
We review packages with the goal of improving package quality and usability for scientists.
42
+
As such, we review packages across a spectrum of small to large user bases. The popularity of your package is not a consideration in our review process!
43
+
44
+
When we evaluate whether you package is within our scope, we only consider:
45
+
46
+
1. how the package is developed and
47
+
2. how the package relates to and supports the broader scientific ecosystem.
48
+
49
+
We welcome young packages that are just entering the scientific Python
50
+
ecosystem to apply for review if they are relevant to the science community and
51
+
fit into at least one scope category below. We also welcome mature packages with
52
+
a growing or established community!
53
+
```
54
+
55
+
If you are unsure whether your package fits into one of the general or
56
+
statistical categories, please open an issue as a [pre-submission inquiry](https://github.com/pyOpenSci/software-submission/issues/new?assignees=&labels=0%2Fpresubmission&template=presubmission-inquiry.md&title=).
57
+
58
+
```{note}
59
+
This is a living document. The categories below may change through time.
60
+
This may mean in some cases, some previously peer review-accepted packages
61
+
may not be in-scope today. We strive for consistency in our peer review process. However, we also evaluate packages on a case-by-case basis.
62
+
In some cases exceptions are made.
63
+
```
64
+
65
+
## Package categories
66
+
67
+
The following are the current categories that fall into scope for
68
+
pyOpenSci. In addition to fitting into one or more of these categories, your package should have some level of
69
+
demonstrated scientific application. This could be a use case that you can
70
+
link to or a tutorial that demonstrates its potential application for science.
71
+
72
+
Below we provide examples of packages from pyOpenSci ecosystem. Because we
73
+
have growing community of packages, in some cases we link to R packages
74
+
within the rOpenSci community that match the category scope for reference.
75
+
76
+
We will update this page as our review process evolves.
77
+
78
+
```{note}
79
+
Many of the example packages below perform tasks that might fit in multiple
80
+
categories. There examples are there to provide you with a flavor of the types
81
+
of packages that would fall into that category.
34
82
```
35
83
84
+
### Data retrieval
85
+
Packages for accessing and downloading data from online sources. This category
86
+
includes wrappers for accessing APIs.
87
+
88
+
Our definition of scientific applications is broad, including data storage
89
+
services, journals, and other remote servers, as many data sources may be of
90
+
interest to scientists. However, retrieval packages should be focused on data
91
+
sources / topics, rather than services. For example a general client for Amazon
Data [munging tools transform data in a way that makes further analysis possible (as [defined on Wikipedia](https://en.wikipedia.org/wiki/Data_wrangling)). Munging complements the other categories so it's common for packages to include some functionality to munge data. This
108
+
category focuses on tools for handling data in specific formats that scientists
109
+
may be interested in working with. These data may also be generated from
110
+
scientific workflows or exported from instruments and wearables.
Tools that automate and link together workflows and as such support
145
+
reproducible workflows. These
146
+
tools may include build systems and tools to manage continuous integration.
147
+
This also includes tools that support version control.
148
+
149
+
* Examples: Both of these tools are not pyOpenSci reviewed as of yet but are examples of tools that might be in scope for this category - [snakemake](https://snakemake.readthedocs.io/en/stable/), [pyGitHub ](https://github.com/PyGithub/PyGithub)
150
+
151
+
### Citation management and bibliometrics:
152
+
153
+
Tools that facilitate managing references, such as for writing manuscripts,
154
+
creating CVs or otherwise attributing scientific contributions, or accessing,
155
+
manipulating or otherwise working with bibliometric data. (Example: [Example from rOpenSci - RefManageR](https://github.com/ropensci/software-review/issues/119))
156
+
157
+
### Data visualization & analysis
158
+
These are packages that enhance a scientists experience visualizing and
159
+
analyzing data.
160
+
161
+
* Examples: [PyGMT - (also spatial and data munging)](https://github.com/pyOpenSci/software-submission/issues/43),
162
+
163
+
### Database software bindings
164
+
165
+
Bindings and wrappers for database APIs.
166
+
167
+
* Example: [Example from rOpenSci - rrlite](https://github.com/ropensci/software-review/issues/6)
168
+
169
+
170
+
## Domain areas
171
+
172
+
In addition, our scope includes focused domain areas. These areas are based on
173
+
partnerships that we form with communities and also expertise that we hold
174
+
within our organization. As we develop [new community partnerships](/partners/scientific-communities) and grow,
175
+
we will expand this list.
176
+
177
+
### Geospatial
178
+
179
+
Packages focused on the retrieval, manipulation, and analysis of spatial data.
We have a [partnership with Pangeo](../partners/pangeo). Often times packages submitted as a part of that partnership are also in the geospatial domain.
187
+
188
+
* Examples: [xclim - under review now](https://github.com/pyOpenSci/software-submission/issues/73)
Copy file name to clipboardExpand all lines: appendices/glossary.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ definitions for reference.
11
11
***docstring**: A miniature piece of documentation within the source code, usually documenting a specific function, class, or other piece of code.
12
12
***linting/linter**: A linter is a program that you can run on your code to identify potential errors. There are many linters for Python, e.g. flake8.
13
13
***module**: A file containing Python code. Modules can define functions, classes, and more, and can be imported by other Python code to use those defined objects. Some files are meant to be run directly instead of imported. These are "scripts".
14
-
***open source**: In simple terms, software for which the source code is freely available and can be modified and redistributed. What meets the standard of "open source" can be controversial, but the Open Source Initiative has a more thorough set of [guidelines](https://opensource.org/osd-annotated).
14
+
***open source**: In simple terms, software for which the source code is freely available and can be modified and redistributed. What meets the standard of "open source" can be controversial, but the Open Source Initiative has a more thorough set of [guidelines](https://opensource.org/definition/).
15
15
***slug**: A short title, containing only letters, numbers, underscores, and hyphens. For example, a slug might replace spaces with underscores. Your package's "slug" is a handy shorthand.
16
16
***software license**: Contains the terms of use, modification, and distribution for a piece of software. Open source licenses generally grant freedom to modify and share software, but sometimes there are specific conditions. Read more from [OSI](https://opensource.org/licenses).
17
17
***testing**: Code tests check units of code to make sure that they are producing the expected result. For example, if you have a function "sum_nums" that sums numbers, you could write a test that makes sure that sum_nums(2, 2) == 4. Writing full tests helps to avoid bugs as you are writing or modifying your code.
0 commit comments