Skip to content

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

Merged
merged 26 commits into from
Jan 19, 2023
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8370452
ADD: documentation section to guide
lwasser Nov 30, 2022
f0e1a3c
Fix: Review edits from @lwasser and @arianesasso
lwasser Dec 13, 2022
d409543
Fix: add docstring examples
lwasser Dec 13, 2022
0431311
Fix: review edits to documentation section w @batalex
lwasser Dec 27, 2022
ec2d032
Fix: review edits to documentation from @arianesasso
lwasser Dec 27, 2022
8ced667
Fix: Review edits to doc section from @nickledave
lwasser Dec 27, 2022
8cc1bc3
Fix: edits to doc section from @simonmolinsky
lwasser Dec 27, 2022
dfea3b3
rebase
lwasser Dec 27, 2022
38fad88
Fix: numerous cleanup edits to contributing and readme files
lwasser Dec 28, 2022
70410f5
Fix: breakout docs into separate pages with separate goals and update…
lwasser Dec 28, 2022
8107341
Fix: add tutorial and coc text and general cleanup
lwasser Dec 29, 2022
0c28fd5
Update documentation/package-documentation-best-practices.md
lwasser Jan 9, 2023
a2b31e3
Update documentation/package-documentation-best-practices.md
lwasser Jan 9, 2023
179246d
Fix: addressing changes from @tupui
lwasser Jan 9, 2023
a696b89
Fix: add text to example in docstring and spaces review- @tupui
lwasser Jan 9, 2023
144eefd
Fix: update docstring with example text @tupui
lwasser Jan 9, 2023
116231c
Update documentation/index.md
lwasser Jan 9, 2023
1004cb4
Update documentation/website-hosting-optimizing-your-docs.md
lwasser Jan 9, 2023
044689f
Update documentation/website-hosting-optimizing-your-docs.md
lwasser Jan 9, 2023
22a5f4a
Fix: feedback from @tupui, @nickledave
lwasser Jan 9, 2023
444eae3
Update documentation/website-hosting-optimizing-your-docs.md
lwasser Jan 9, 2023
7e2e059
Fix: Major reorganization following comments from @sneakers-the-rat
lwasser Jan 10, 2023
fec16a5
Fix: massive update to the structure of the docs section
lwasser Jan 10, 2023
b78fc4f
Fix: responded to the 100+ comments left on this pr - phew
lwasser Jan 10, 2023
d73db2f
Fix: more fixes from @sneakers-the-rat review and @nickledave review
lwasser Jan 10, 2023
cccb65d
Fix: final cleanup of sections and removal of peer review checks
lwasser Jan 11, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 25 additions & 1 deletion _static/pyos.css
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,19 @@ html, body {
font-size: 1.02rem;
}

body p {
}

.admonition {
margin-top: 40px;
margin-bottom: 40px;
}

h1, h2, h3, h4 {
}

h1 {
margin-top: 40px;
margin-top: 50px;
margin-bottom: 40px;
}
h2 {
Expand All @@ -18,3 +24,21 @@ h2 {
h3 {
margin-top: 40px}

figcaption .caption-text {
text-align: left!important;
}

figure {
margin-top: 60px!important;
margin-bottom: 60px!important;
}

figcaption {
font-size: .9em;
font-weight: bold;
}

.admonition p {
font-size: 1.1em;
font-weight: bold;
}
102 changes: 102 additions & 0 deletions documentation/contributing-license-coc.md
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
Copy link
Contributor

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"


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)

## What a CONTRIBUTING.md file should contain
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same thing with each of these headings

Contributing
License
Code of Conduct


Your Python open source package should include a file called **CONTRIBUTING.md** located in the
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.
* 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

## What the development guide for your Python package should contain
Copy link
Contributor

Choose a reason for hiding this comment

The 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 Developer Docs or something

Copy link
Member Author

Choose a reason for hiding this comment

The 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
* Run the test suite
* Build documentation locally

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
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
creating a contributing guide](https://mozillascience.github.io/working-open-workshop/contributing/)
```

## Your repository should have a LICENSE.md file

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.
Copy link
Contributor

Choose a reason for hiding this comment

The 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

Copy link
Member Author

Choose a reason for hiding this comment

The 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.

Copy link
Contributor

Choose a reason for hiding this comment

The 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

Copy link
Member Author

Choose a reason for hiding this comment

The 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
Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Member Author

Choose a reason for hiding this comment

The 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 .

Copy link
Member Author

Choose a reason for hiding this comment

The 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.

<!--
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. -->
45 changes: 0 additions & 45 deletions documentation/contributing.md

This file was deleted.

Loading