Skip to content

Commit abcfffb

Browse files
committed
fix: update to contributing and links
1 parent 722407e commit abcfffb

File tree

5 files changed

+70
-28
lines changed

5 files changed

+70
-28
lines changed

documentation/repository-files/code-of-conduct-file.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
(coc-file)=
2+
13
# The CODE_OF_CONDUCT file - Python Packaging
24

35
```{admonition} Example CODE_OF_CONDUCT files
Lines changed: 55 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,65 @@
1-
# Contributing File in your Python Open Source Package
1+
(contributing-file)=
2+
3+
# Your Python Package CONTRIBUTING File
4+
5+
The **CONTRIBUTING.md** is the landing page guide for your project's contributors. It outlines how contributors can get involved, the contribution types that you welcome, and how contributors should interact or engage with you and your maintainer team. The contributor guide should also link to get-started resources that overview how to set up development environments, what type of workflow you expect on GitHub/GitLab, and anything else that contributors might need to get started.
6+
7+
This file benefits maintainers and contributors. For contributors, it provides a roadmap to getting started making their first contribution easier. For maintainers, it answers commonly asked questions and reduces the burden of explaining your process to every person who wants to contribute. This document creates a more collaborative and efficient development process for everyone.
8+
9+
## CONTRIBUTING files lower barriers to entry
10+
11+
The contributing file lowers barriers to entry for new and seasoned contributors as it provides a roadmap.
12+
13+
- **For Contributors**: It provides clear instructions on contributing, from reporting issues to submitting pull requests.
14+
- **For Maintainers**: It streamlines contributions by setting expectations and standardizing processes, reducing the time spent clarifying common questions or handling incomplete issues or pull requests.
15+
16+
Including a well-written CONTRIBUTING.md file in your project is one way of making it more welcoming and open to new and seasoned contributors. It also helps create a smoother workflow for everyone involved.
17+
18+
## Make it welcoming
19+
20+
Make the guide welcoming. Use accessible language to encourage participation from contributors of all experience levels. For example:
21+
22+
- Avoid technical jargon or explain terms when necessary (e.g., "fork the repository").
23+
- Include a friendly introduction, such as "Thank you for your interest in contributing! We're excited to collaborate with you."
24+
- Highlight that all contributions, no matter how small, are valued.
225

326
## What a CONTRIBUTING.md file should contain
427

5-
```{admonition} Example contributing files
28+
:::{admonition} Example contributing files
629
:class: tip
730

8-
* [pyGMT contributing file](https://github.com/GenericMappingTools/pygmt/blob/main/CONTRIBUTING.md)
9-
* [fatiando verde's contributing file](https://github.com/fatiando/verde/blob/main/CONTRIBUTING.md)
10-
```
31+
- [pyGMT contributing file](https://github.com/GenericMappingTools/pygmt/blob/main/CONTRIBUTING.md)
32+
- [fatiando verde's contributing file](https://github.com/fatiando/verde/blob/main/CONTRIBUTING.md)
33+
:::
34+
35+
Your Python package should include a file called **CONTRIBUTING.md** located in the
36+
root of your repository next to [your **README.md** file](readme-file).
37+
38+
The CONTRIBUTING.md file should include information about:
39+
40+
- The types of contributions that you welcome
41+
42+
> Example: We welcome contributions of all kinds. If you want to address an existing issue, check out our issues in this repository and comment on the one that you'd like to open to. Otherwise, you can open a new issue...
1143
12-
Your Python open source package should include a file called **CONTRIBUTING.md** located in the
13-
root of your repository (with your **README.md** file).
44+
- How you'd like contributions to happen. Clearly outline your contribution process. For example:
45+
- Should contributors address open issues
46+
- Are new issues welcome?
47+
- Should contributors open a pull request (PR) directly or discuss changes first?
1448

15-
The contributing file should include information about the types
16-
of contributions that you welcome, and how you'd like to see
17-
contributions happen.
49+
- Include instructions for the fork and pull request workflow, and link to resources or guides explaining these steps (if available).
50+
- Guidelines that you have in place for users submitting issues, pull requests or asking questions.
51+
52+
If you have a [development guide](development-guide), link to it. This guide should provide clear instructions on how to set up your development environment locally. It also should overview and CI tools that you have that could simplify the contribution process (e.g. pre-commit.ci bot, etc), linters, code formatters, etc.
1853

1954
This guide should also include information for someone
20-
interested in asking questions, submitting issues or pull requests. It should have things like:
55+
interested in asking questions. Some projects accept questions as GitHub or GitLab issues. Others use GitHub discussions, Discourse or even a discord server.
56+
57+
The contributing file should also include:
58+
59+
- A link to your [code of conduct](coc-file)
60+
- A link to your project's [LICENSE](license-file)
61+
- A link to a [development guide](development-guide) if you have one
62+
63+
## Summary
2164

22-
* Any guidelines that you have in place for users submitting issues, pull requests or asking questions.
23-
* A link to your code of conduct
24-
* A link to licensing information found in your README file.
25-
* A link to a development guide if you have one
65+
A well-crafted CONTRIBUTING.md file is welcome mat for your project! By providing clear instructions, helpful resources, and a welcoming tone, you make it easier for contributors to get involved and build a stronger, more collaborative community around your project.

documentation/repository-files/development-guide.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
(development-guide)=
2+
13
# What the development guide for your Python package should contain
24

35
Ideally, your package should also have a development guide. This file may live in your package documentation and should be linked to from your CONTRIBUTING.md file (discussed above).
@@ -9,6 +11,7 @@ technically proficient users how to:
911
* Build documentation locally
1012

1113
The development guide should also have guidelines for:
14+
1215
* code standards including docstring style, code format and any specific code approaches that the package follows.
1316

1417
It's also helpful to specify the types of tests you request if a contributor submits a new feature or a change to an existing feature that will not be covered by your existing test suite.
@@ -38,14 +41,11 @@ pyOpenSci requires a package to have in order to be eligible for
3841
review. Some maintainers may also opt to include the development information in their contributing guide.
3942
```
4043

41-
4244
```{tip}
4345
[The Mozilla Science Lab website has a nice outline of things to consider when
4446
creating a contributing guide](https://mozillascience.github.io/working-open-workshop/contributing/)
4547
```
4648

47-
48-
4949
<!--
5050
pyOpenSci packages must:
5151

documentation/repository-files/license-files.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ bibliography:
33
- ../../bibliography.bib
44
---
55

6+
(license-file)=
7+
68
# License files for scientific Python open source software
79

8-
:::{button-link} https://www.pyopensci.org/about-peer-review/
10+
:::{button-link} <https://www.pyopensci.org/about-peer-review/>
911
:color: primary
1012
:class: sd-rounded-pill float-left
1113

@@ -30,7 +32,6 @@ and more.
3032

3133
[Read more about why license files are critical in protecting both you as a maintainer and your users of your scientific Python open source package.](https://opensource.guide/legal/#just-give-me-the-tldr-on-what-i-need-to-protect-my-project)
3234

33-
3435
## Where to store your license
3536

3637
Your `LICENSE` file should be stored at root of your GitHub / GitLab repository.
@@ -60,7 +61,7 @@ Free and open source software is intrinsically political, and it is important to
6061
### How to choose a license
6162

6263
To select your license, we suggest that you use GitHub's
63-
[Choose a License tool ](https://choosealicense.com/).
64+
[Choose a License tool](https://choosealicense.com/).
6465

6566
If you choose your license when creating a new GitHub repository, you can also
6667
automatically get a text copy of the license file to add to your repository. However
@@ -114,7 +115,6 @@ They have fewer **inbound** restrictions - a GPL-3 licensed package can include
114115
| <i class="fa-solid fa-x" style="color: Crimson"></i> | | Copyleft | Permissive |
115116
| <i class="fa-solid fa-check" style="color: MediumSeaGreen"></i> | | Copyleft | Copyleft |
116117

117-
118118
:::{admonition} An example of how a license determine how code can be reused
119119
:class: note
120120

@@ -128,16 +128,14 @@ This would not be true with a GPL licensed package. `GPL-3` packages can include
128128
🚨 Proceed with caution! 🚨
129129
:::
130130

131-
132-
## What about software citation?
131+
## What about software citation?
133132

134133
While many permissive licenses do not require citation we STRONG encourage that you cite all software that you use in papers, blogs and other publications. You tell your users how to cite your package by using a [citation.cff file](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files). We will cover this topic when we talk about creating DOI's for your package using zenodo.
135134

136135
<!-- TODO: add link when lesson is created - but also we don't yet know how citation.cff files work with Zenodo (do they work??) will the citation info update with a new Zenodo link
137136
138137
These files - we need to understand if that date releases auto populates or forces zenodo to modify it's citation. If it's not dynamic it could be problematic
139138
140-
141139
-->
142140

143141
# References

documentation/repository-files/readme-file-best-practices.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
(readme-file)=
2+
13
# README File Guidelines and Resources
24

35
Your **README.md** file should be located in the root of your GitHub repository.
@@ -11,8 +13,8 @@ The README.md file is the landing page of:
1113

1214
Your README.md file is also used as a measure of package and community
1315
health on sites such as:
14-
* [GitHub community health for MovingPandas (available for all repositories)](https://github.com/anitagraser/movingpandas/community) and [Snyk - moving pandas example](https://snyk.io/advisor/python/movingpandas)
1516

17+
* [GitHub community health for MovingPandas (available for all repositories)](https://github.com/anitagraser/movingpandas/community) and [Snyk - moving pandas example](https://snyk.io/advisor/python/movingpandas)
1618

1719
```{figure} /images/pandera-python-package-readme-github.png
1820
---
@@ -52,10 +54,11 @@ Your README file should have the following information:
5254
Your **README.md** file should contain the following things (listed from top to bottom):
5355

5456
### ✔️ Your package's name
57+
5558
Ideally your GitHub repository's name is also the name of your package. The more
5659
self explanatory that name is, the better.
5760

58-
### ✔️ Badges for current package version, continuous integration and test coverage
61+
### ✔️ Badges for current package version, continuous integration and test coverage
5962

6063
Badges are a useful way to draw attention to the quality of your project. Badges
6164
assure users that your package is well-designed, tested, and maintained. They
@@ -85,7 +88,6 @@ a badge to add to your repository that shows that it has been reviewed.
8588
8689
```
8790

88-
8991
```{caution}
9092
Beware of the overuse of badges! There is such a thing as too much of a good thing (which can overload a potential user!).
9193
```

0 commit comments

Comments
 (0)