-
Notifications
You must be signed in to change notification settings - Fork 72
Review 2 (reviews open): Add: documentation section to package guide #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 11 commits
8370452
f0e1a3c
d409543
0431311
ec2d032
8ced667
8cc1bc3
dfea3b3
38fad88
70410f5
8107341
0c28fd5
a2b31e3
179246d
a696b89
144eefd
116231c
1004cb4
044689f
22a5f4a
444eae3
7e2e059
fec16a5
b78fc4f
d73db2f
cccb65d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
# Contributing, License and Code of Conduct Files in your Python Open Source Package | ||
|
||
A healthy Python package repository (or any open source software repository) should also have a: | ||
|
||
* Contributing.md file | ||
* A License file and | ||
* A CODE_OF_CONDUCT.md file | ||
* A development guide (if possible) | ||
|
||
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
|
||
## What a CONTRIBUTING.md file should contain | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same thing with each of these headings
|
||
|
||
Your Python open source package should include a file called **CONTRIBUTING.md** located in the | ||
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
|
||
root of your repository (with your **README.md** file). | ||
|
||
The contributing file should include information about the types | ||
of contributions that you welcome, and how you'd like to see | ||
contributions happen. | ||
|
||
This guide should also include information for someone interested in asking questions, | ||
submitting issues or pull requests: | ||
|
||
* Any guidelines that you have in place for users submitting issues, pull requests or asking questions. | ||
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
|
||
* A link to your code of conduct | ||
* A link to licensing information found in your README file. | ||
* A link to a development guide if you have one | ||
|
||
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
|
||
## What the development guide for your Python package should contain | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not clear how this is different than the Contributing.md and makes me feel like i'm supposed to write another guide. I would make this a subheading underneath contributing and shorten the header to There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. oh it is another guide! the community seems to be moving away from contributing and development being conflated. So contributing guides are more about understanding what types of contributions are welcome - issues, pull requests, questions, and how to submit them. Whereas a dev guide describes the dev workflow - fewer contributors will install pre-commit hooks and want to know about build tools. but that should be documented. this is particularly important if you want to onboard a new contributor OR for pyOpenSci if a maintainer steps down and we need to find someone new - we want the workflow documented. this page tho is also split out as we discussed so i hope the entire section is clearer. pyopensci does NOT require a dev guide but i think it will be important when we need to find new maintainers for packages. |
||
|
||
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). | ||
A development guide should clearly show | ||
technically proficient users how to: | ||
|
||
* Set up a development environment locally to work on your package | ||
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
|
||
* Run the test suite | ||
* Build documentation locally | ||
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
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. | ||
|
||
If you have time to document it, it's also helpful to document your maintainer workflow and release processes. | ||
|
||
### Why a development guide is important | ||
|
||
It's valuable to have a development guide, in the | ||
case that you wish to: | ||
|
||
* Onboard new maintainers. | ||
* Allow technically inclined contributors to make thoughtful and useful code based pull requests to your repository. | ||
|
||
It also is important to pyOpenSci that the maintenance workflow is | ||
documented in the case that we need to help you onboard new | ||
maintainers in the future. | ||
|
||
```{note} | ||
A well thought-out continuous integration setup in your repository | ||
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
|
||
can allow users to skip building the package locally (especially if they are just updating text). | ||
``` | ||
|
||
```{tip} | ||
A development guide, while strongly recommended, is not a file that | ||
pyOpenSci requires a package to have in order to be eligible for | ||
review. Some maintainers may also opt to include the development information in their contributing guide. | ||
``` | ||
|
||
|
||
|
||
|
||
```{tip} | ||
[The mozilla open workshop has a nice outline of things to consider when | ||
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
|
||
creating a contributing guide](https://mozillascience.github.io/working-open-workshop/contributing/) | ||
``` | ||
|
||
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
|
||
## Your repository should have a LICENSE.md file | ||
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
The root of your GitHub repository should also have a LICENSE.txt file. | ||
|
||
To be reviewed by pyOpenSci your project should use an open source | ||
software license that is approved | ||
by the Open Software Initiative (OSI). OSI's website has a | ||
[list of popular licenses](https://opensource.org/licenses). GitHub also has a | ||
[handy tool](https://choosealicense.com/) for choosing a license. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Linking to the tool is great. Maybe broad strokes description of the basic "big cuts" differences in licenses and perhaps a recommendation or a statement about which licenses are most common/expected by pyOpenSci There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @sneakers-the-rat are you open to writing a bit more about licenses and COC directly via a pr? we could either add it here OR we could add it once this is merged. When i push my latest revisions up this PR is going to get messy but id' welcome your making direct content additions to it or in a new pr when this is merged. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. sure! of course. lmk when it's in a more settled state to add to There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. awesome! i'm about to push a really big set of fixes. and then however you want to contribute you are welcome to. You could either submit a PR on top of this pr? Or you can add inline changes here ! however you'd like to do this i'm open . I now have a coc page and a license page. (I may be missing sufficient information around citation.) |
||
|
||
If you choose your license through GitHub, you can also automatically get a copy of the license file to add to your repository. | ||
|
||
## The CODE_OF_CONDUCT.md file | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. a lil more on what the code of conduct should do/what is typically in them would also be nice. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i wasn't sure what to add on this page. Right now i have contributing and COC as one page because they are both short sections. Maybe we can pull this out as an issue as well and add more to it once this PR is merged? i appreciate this feedback . There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. created an issue here #37 that we can then circle back on - great suggestion! |
||
Your package should have a CODE_OF_CONDUCT.md file located | ||
the root of the repository. If you are not comfortable creating | ||
your own code of conduct text, we encourage you to adopt the | ||
code of conduct language used in the [Contributor Covenant](https://www.contributor-covenant.org/version/2/1/code_of_conduct/). | ||
[Many other communities](https://www.contributor-covenant.org/adopters/) have adopted this code of conduct as | ||
their own including the [Fatiando](https://github.com/fatiando/community/blob/main/CODE_OF_CONDUCT.md) scientific geoscience community. | ||
lwasser marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
<!-- | ||
pyOpenSci packages must: | ||
|
||
- Contain full documentation for any user-facing functions. | ||
- Have a test suite that covers the major functionality of the package. | ||
- Use continuous integration. | ||
- Use an OSI approved software license. | ||
|
||
**Good/Better/Best:** | ||
- **Good:** Include a open source software license with your package. | ||
- **Better/Best:** Choose a license based on your needs and future use of package, plus explain your choice in your submission for review. --> |
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could just be "Contributing, License, and Code of Conduct"