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
Here you will find guidelines for what we look for in your scientific
33
-
Python package when reviewing. You will also find best practice recommendations and curated lists of community resources surrounding packaging and documentation.
32
+
Python package when reviewing. You will also find best practice recommendations and curated lists of community resources surrounding packaging and documentation. Our goal is to help the
33
+
community make decisions around how to create scientific Python packages. We are working towards a shared vision of packaging that helps users better understand where to start.
34
34
35
35
::::{grid} 2
36
36
:reverse:
@@ -82,6 +82,16 @@ documentation that are
82
82
commonly used in the scientific Python community.
83
83
:::
84
84
85
+
:::{grid-item-card}
86
+
:link: package-structure-code/intro
87
+
:link-type: doc
88
+
:class-header: bg-light
89
+
90
+
✨ Python packaging tools & structure ✨
91
+
^^^
92
+
All of the modern tools discussed in this guide will help you build an efficient packaging workflow. This section helps you select the one that will work best for your workflow.
93
+
:::
94
+
85
95
86
96
:::{grid-item-card}
87
97
:link: CONTRIBUTING
@@ -98,9 +108,9 @@ contribute.
98
108
## Who this guidebook is for
99
109
We assume that you are here because you are:
100
110
111
+
1. Looking for guidance on creating a Python package.
112
+
1. Looking for resources associated with Python packaging.
101
113
1. Considering submitting a package to pyOpenSci and want to understand what we are looking for when we review your package
102
-
2. Looking for guidance on creating a Python package.
103
-
3. Looking for resources associated with Python packaging.
Copy file name to clipboardExpand all lines: package-structure-code/intro.md
+7-1Lines changed: 7 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,12 @@
3
3
This section provides guidance on your Python package's structure, code formats and style. It also reviews the various packaging tools that you can use to
4
4
support building and publishing your package.
5
5
6
+
If you are confused by Python packaging, you are not alone!
7
+
The good news is there are some great modern packaging
8
+
tools that ensure that you're following best practices. Here, we
9
+
review tool features and suggest tools that might be best fitted for your workflow.
10
+
11
+
6
12
```{note}
7
13
If you are considering submitting a package for peer review, have a look at the
8
14
bare-minimum [editor checks](https://www.pyopensci.org/peer-review-guide/software-peer-review-guide/editor-in-chief-guide.html#editor-checklist-template) that pyOpenSci
@@ -55,7 +61,7 @@ The suggestions for package layout in this section are made with the
55
61
intent of being helpful; they are not specific requirements for your
56
62
package to be reviewed and accepted into our pyOpenSci open source ecosystem.
57
63
58
-
Please check out our [package scope page](https://www.pyopensci.org/software-peer-review/about/package-scope.html) and [review requirements in our author guide](https://www.pyopensci.org/software-peer-review/how-to/author-guide.html#) if you are looking for Python package review requirements!
64
+
Please check out our [package scope page](https://www.pyopensci.org/software-peer-review/about/package-scope.html) and [review requirements in our author guide](https://www.pyopensci.org/software-peer-review/how-to/author-guide.html#) if you are looking for pyOpenSci's Python package review requirements!
Copy file name to clipboardExpand all lines: package-structure-code/python-package-structure.md
+2-4Lines changed: 2 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,6 @@ There are several core directories that should be included in all Python package
8
8
***tests/** this directory contains the tests for your project code
9
9
***package-name/**: this is the directory that contains the code for your Python project. It is normally named using your project's name.
10
10
11
-
Every Python package should have all 3 of the above directories within it.
12
11
13
12
## Src vs flat layouts
14
13
There are two different layouts that you will commonly see
@@ -25,9 +24,8 @@ at the root of your package's repository.
25
24
26
25
On this page we:
27
26
28
-
1. Suggest the **src/package-name** layout structure for new packages. This layout prevents some commonly found issues with the flat layout (discussed below)
29
-
2. Introduce the flat layout as it is used in the scientific ecosystem. Currently this layout is the most common. As such it's good to be familiar with it in case you contribute to a package using a flat layout in the future! Or, perhaps
30
-
you maintain one now!
27
+
1. Suggest the **src/package-name** layout structure for new packages. This layout prevents some commonly found issues with the flat layout (discussed below).
28
+
2. Introduce the flat layout as it is used in the scientific ecosystem. Currently this layout is the most common. As such it's good to be familiar with it in case you contribute to a package using a flat layout in the future!
31
29
32
30
```{admonition} pyOpenSci will never require a specific package structure for peer review
0 commit comments