Skip to content

Commit 4ed58d3

Browse files
committed
Add readme text
1 parent b737f95 commit 4ed58d3

File tree

5 files changed

+151
-16
lines changed

5 files changed

+151
-16
lines changed

code-style-structure/intro.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Code style and structure
1+
# DELETE ME Code style and structure
22

33

44
Under development - possibly remove this as it's in the package structure

documentation/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Intro to documentation

documentation/readme-files.md

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# README File Guidelines and Resources
2+
3+
The **README.md** file is often the first thing that someone sees before they
4+
instal your package.
5+
6+
This file is the landing page of:
7+
8+
* Your file on package manager landing pages like PyPI and Anaconda
9+
* Your package's GitHub repository
10+
11+
It is also used to measure:
12+
* community health by github
13+
* and included in package health landing pages such as snyk
14+
15+
Thus, it is important that you spend some time up front creating a high quality
16+
**README.md** file for your Python package.
17+
18+
## TODO ADD screenshots of landing pages in github and pypi
19+
20+
Your README.md file should be located in the root of your GitHub repository.
21+
22+
## TODO provide some screenshots of our repo with a readme file
23+
24+
## What your README.md file should contain
25+
26+
Your **README.md** file should contain the following things (listed from top to bottom):
27+
28+
### ✅ Your package's name
29+
Ideally your GitHub repository's name is also the name of your package. The more
30+
self explanatory that name is, the better.
31+
32+
### ✅ Badges for current package version, continuous integration and test coverage
33+
34+
Badges are a useful way to draw attention to the quality of your project. Badges
35+
assure users that your package is well-designed, tested, and maintained. They
36+
are also a useful maintenance tool to evaluate if things are building properly.
37+
A great example of this is adding a readthedocs bade to your readme to quickly
38+
see when the build on that site fails.
39+
40+
It is common to provide a collection of badges towards the top of your
41+
README file for others to quickly browse.
42+
43+
Some badges that you might consider adding to your README file include:
44+
45+
* Current version of the package on pypi / conda
46+
47+
Example: [![PyPI version shields.io](https://img.shields.io/pypi/v/pandera.svg)](https://pypi.org/project/pandera/)
48+
49+
* Status of tests (pass or fail) - Example: [![CI Build](https://github.com/pandera-dev/pandera/workflows/CI%20Tests/badge.svg?branch=main)](https://github.com/pandera-dev/pandera/actions?query=workflow%3A%22CI+Tests%22+branch%3Amain)
50+
51+
* Documentation build - Example: ![Docs Building](https://github.com/pyOpenSci/python-package-guide/actions/workflows/build-book.yml/badge.svg)
52+
53+
* DOI (for citation) Example: [![DOI](https://zenodo.org/badge/556814582.svg)](https://zenodo.org/badge/latestdoi/556814582)
54+
55+
```{tip}
56+
Once you package is accepted to pyOpenSci, we will provide you with
57+
a badge to add to your repository that shows that it has been reviewed.
58+
[![pyOpenSci](https://tinyurl.com/y22nb8up)](https://github.com/pyOpenSci/software-review/issues/12)
59+
60+
```
61+
62+
63+
```{caution}
64+
Beware of the overuse of badges! There is such a thing as too much of a good thing (which can overload a potential user!).
65+
```
66+
67+
### ✔️ A short, easy-to-understand description of what your package does
68+
69+
At the top of your README file you should have a short, easy-to-understand, 1-3
70+
sentence description of what your package does. This section should clearly
71+
state your goals for the package. The language in this description should use
72+
less technical terms so that a variety of users with varying scientific (and
73+
development) backgrounds can understand it.
74+
75+
In this description, it's useful to let users know how your package fits within
76+
the broader scientific Python package ecosystem. If there are other similar packages
77+
or complementary package mentions them here in 1-2 sentences.
78+
79+
```{tip}
80+
Consider writing for a 12th grade reading level which is an ideal level for more scientific content that serves a broad user base. The goal of this description to maximize accessibility of your **README** file.
81+
```
82+
83+
### ✔️ Installation instructions
84+
85+
Include instructions for installing your package. If you have published
86+
the package on both PyPI and Conda be sure to include instructions for both.
87+
88+
### ✔️ Document any addition setup required
89+
90+
Add any additional setup required such as authentication tokens, to
91+
get started using your package. If setup is complex, consider linking to a
92+
installation page in your online documentation here rather than over complicating
93+
your README file.
94+
95+
### ✔️ Brief demonstration of how to use the package
96+
97+
This description ideally includes a quick start vignette that provides a code sample demonstrating use of our package.
98+
99+
### ✔️ Descriptive links to package documentation, tutorials or vignettes.
100+
101+
Include descriptive links to to:
102+
103+
* The package's documentation page.
104+
* Tutorials or vignettes that demonstrate application of your package.
105+
106+
```{tip}
107+
### TOO MUCH OF A GOOD thing
108+
109+
Try to avoid including several tutorials in the readme file itself. This too will overwhelm the user with information.
110+
111+
A short quick-start vignette that shows a user how to use your package is plenty for the README file. All other tutorials and documentation should be presented as descriptive links.
112+
```
113+
114+
### ✔️ Community links Links to Contributing Guide, Code of Conduct
115+
In your readme file direct users to more information on:
116+
* contributing to your package
117+
* development setup for more advanced technical contributors
118+
* your code of conduct.
119+
120+
All of the above files are important for building community around your project.
121+
122+
### ✔️ Citation information
123+
124+
Finally be sure to include instructions on how to cite your package.
125+
126+
127+
```{tip}
128+
### README Resources
129+
130+
Below are some resources on creating great README.md files that you
131+
might find helpful.
132+
133+
* [Write a great readme - Bane Sullivan](https://github.com/banesullivan/README)
134+
* [The art of the README GitHub Repo](https://github.com/hackergrrl/art-of-readme)
135+
136+
```

index.md

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,14 @@
1616
:class: sd-fs-3
1717

1818

19-
<!--
20-
Removing button for the time being
21-
```{button-ref} start/your-first-book
19+
20+
```{button-ref} https://www.pyopensci.org/about-peer-review/
2221
:ref-type: doc
2322
:color: primary
2423
:class: sd-rounded-pill float-left
2524
26-
27-
Get Involved (Maybe a link to a get involved page)
28-
29-
% SVG rendering breaks latex builds for the GitHub badge, so only include in HTML
30-
``` -->
25+
Learn about our open peer review process
26+
```
3127

3228
```{only} html
3329
![GitHub release (latest by date)](https://img.shields.io/github/v/release/pyopensci/python-package-guide?color=purple&display_name=tag&style=plastic)
@@ -93,21 +89,20 @@ This guidebook contains:
9389
Most of the sections also include Good/Better/Best recommendations.
9490
Good meets the requirements, but going beyond the minimum can make package maintenance easier-to-use for new users, easier-to contribute for new contributors and easier-to-maintain for you.
9591

92+
9693
```{toctree}
9794
:hidden:
9895
:caption: Documentation
9996
100-
documentation/intro
101-
documentation/readme-files
102-
documentation/package-documentation-tutorials
97+
Introduction <documentation/index>
98+
README Files <documentation/readme-files>
10399
```
104100

105-
106101
```{toctree}
107102
:hidden:
108103
:caption: Package structure & code style
109104
110-
intro <package-structure-code/intro>
105+
Intro <package-structure-code/intro>
111106
package-structure-code/code-structure-style
112107
package-structure-code/release
113108
package-structure-code/overview

package-structure-code/intro.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
# Python package structure information
22

3+
```{tip}
4+
### Resources that we love
5+
can i make the language in the yellow bar instead ofa heading
36
4-
Resources
7+
* [Python packaging for research software engineers](https://merely-useful.tech/py-rse/)
58
6-
https://merely-useful.tech/py-rse/
9+
```
710

811
If you plan to submit a package for review to pyOpenSci and are looking for
912
some guidance on package structure, code formats and style, then this section is for you.

0 commit comments

Comments
 (0)