From f16dce7268ef0baf2db32f8ff02155001987470b Mon Sep 17 00:00:00 2001 From: Leah Wasser Date: Wed, 26 Oct 2022 15:04:22 -0400 Subject: [PATCH 01/13] CONTENT: documentation text and styles --- README.md | 2 +- _static/pyos.css | 93 +++++++++++ _templates/header.html | 7 + conf.py | 7 +- documentation/create-readme-files.md | 144 ++++++++++++++++++ documentation/index.md | 65 ++++++++ .../package-documentation-tutorials.md | 32 ++++ images/logo/download.svg | 90 +++++++++++ images/logo/favicon.ico | Bin 0 -> 17050 bytes images/logo/jupyter.png | Bin 0 -> 10316 bytes images/logo/logo.png | Bin 0 -> 9848 bytes images/logo/logo.psd | Bin 0 -> 385516 bytes index.md | 124 +++++++++++++-- 13 files changed, 545 insertions(+), 19 deletions(-) create mode 100644 _static/pyos.css create mode 100644 _templates/header.html create mode 100644 documentation/create-readme-files.md create mode 100644 documentation/index.md create mode 100644 documentation/package-documentation-tutorials.md create mode 100644 images/logo/download.svg create mode 100644 images/logo/favicon.ico create mode 100644 images/logo/jupyter.png create mode 100644 images/logo/logo.png create mode 100644 images/logo/logo.psd diff --git a/README.md b/README.md index 5b8dd393a..f75aab37d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# pyOpenSci Packaging Guide +# pyOpenSci Governance ![GitHub release (latest by date)](https://img.shields.io/github/v/release/pyopensci/python-package-guide?color=purple&display_name=tag&style=plastic) diff --git a/_static/pyos.css b/_static/pyos.css new file mode 100644 index 000000000..f894a1d8b --- /dev/null +++ b/_static/pyos.css @@ -0,0 +1,93 @@ +html, body { + font-size: 1.1rem; +} + +body p { + /* font-family: $header-font; */ + font-size: 1em; + font-family: 'Verdana', sans-serif!important; + color: #555!important; + line-height: 1.5em; +} + +h1, h2, h3 { + font-family: 'Trebuchet MS', sans-serif; + color: #333!important; +} + +h1 { + padding-bottom: 1em!important; +} + +h3 { + padding-top: 1.4em; + margin-bottom: 14px; +} + +/* hide the right sidebar */ +.col-md-3 .bd-toc .show .noprint { + display: none!important; +} + +#main-content { + max-width: 80%; +} + +.bd-toc { + color: #1abc9c; +} + +@media (min-width: 720px){ +.col-md-3 { + flex: 0 0 25%; + /* max-width: 25%; */ + display: none!important; + } +} + + +/* HEADER BLOCK 2 */ +div.header__block { +color: #222; +} + +.announcement div { +background-color: #ccc; +} + +.header-item.announcement, .header-item.announcement .noprint { + background-color:#ccc; +} + +div .announcement .header-item .noprint, header-item.announcement { + background-color: #ccc!important; +} + +/* notes */ + +div.admonition.note .admonition-title, div.admonition.note .admonition-title::before { + background-color: #C1CFD4; + color: #222; + +} + +div.admonition.note { + border-color: #C1CFD4; + background-color: #E3F4FA; +} + + +div.admonition.important .admonition-title, div.admonition.important .admonition-title::before { +background-color: #107762; +color: #ffffff!important; +} + +div.admonition.important .admonition-title { +background-color: #107762; +border-color: #1abc9c; +} + +div.admonition.important { + border-color: #0e6654; + background-color: #ecfcf9; +} diff --git a/_templates/header.html b/_templates/header.html new file mode 100644 index 000000000..778c419ea --- /dev/null +++ b/_templates/header.html @@ -0,0 +1,7 @@ + + + + + diff --git a/conf.py b/conf.py index d32f54142..1839adea9 100644 --- a/conf.py +++ b/conf.py @@ -32,7 +32,6 @@ # ones. extensions = [ "myst_nb", - # "myst_parser", "sphinx_design", "sphinx_copybutton", "sphinx.ext.intersphinx" @@ -47,9 +46,10 @@ "repository_url": "https://github.com/pyopensci/python-package-guide", "use_repository_button": True, "google_analytics_id": "UA-141260825-1", + "show_toc_level": 1, + "toc_title": "On this page", "external_links": [ - {"name": "link-one-name", "url": "https://www.pyopensci.org"}, - {"name": "link-two-name", "url": "https://pyopensci.org"} + {"pyOpenSci Website": "link-one-name", "url": "https://www.pyopensci.org"} ], "announcement": "🚧 UNDER CONSTRUCTION: this guide is under heavy construction right now. 🚧" } @@ -79,6 +79,7 @@ # html_theme = 'sphinx_book_theme' html_static_path = ["_static"] +html_css_files = ["pyos.css"] html_title = "pyOpenSci Package Guide" html_logo = "images/logo/logo.png" diff --git a/documentation/create-readme-files.md b/documentation/create-readme-files.md new file mode 100644 index 000000000..0d98ee698 --- /dev/null +++ b/documentation/create-readme-files.md @@ -0,0 +1,144 @@ +# README File Guidelines and Resources + + The **README.md** file is often the first thing that someone sees when they consider +installing your package. Thus, it is important that you spend some time up front creating a high quality +**README.md** file for your Python package. + +This file is the landing page of: + +* Your file on package manager landing pages like PyPI and Anaconda +* Your package's GitHub repository + +# TODO screenshots of landing pages in github and pypi + +Your README.md file should be located in the root +of your GitHub repository. + +# TODO provide some screenshots of our repo with a readme file +## Organizing your README File from the most broad information to the most specific - Cognitive funneling + +We suggest organizing the content in your README file so that the most broad information is at the top of the file. Information then becomes more specific +and potentially more technical as the user moves down the file. + +This approach of starting broad and progressively getting more specific +will make your README file more accessible and easier-to-digest for a broader group of users. An overly complex or poorly organized README +file will likely result in users getting lost, not understanding +what your package does and how it could be useful to them. + +```{note} +[Cognitive funneling approach](https://github.com/hackergrrl/art-of-readme#cognitive-funneling) refers to content structure where the most +broad information is at the top and becomes increasingly more specific +and possibly technical lower down in the file. +``` +## What your README.md file should contain (bare minimum) + +Your **README.md** file should at a minimum include (from top to bottom): + +### ✅ Your package's name +Ideally your GitHub repository's name is also the name of your package. The more +self explanatory that name is, the better. + +### ✅ Badges for current package version, continuous integration and test coverage + +Badges are a useful way to draw attention to the quality of your project and to +assure users that your package is well-designed, tested, and maintained. +It is common to provide a collection of badges towards the top of your +README file for others to quickly browse. + +Some badges that you might consider adding to your README file include: + +* Current version of the package on pypi / conda forge (the example below is a github release value given our package guide isn't an installable tool.) + +![GitHub release (latest by date)](https://img.shields.io/github/v/release/pyopensci/python-package-guide?color=purple&display_name=tag&style=plastic) + +* Status of tests (pass or fail) + +[![CircleCI](https://circleci.com/gh/pyOpenSci/python-package-guide.svg?style=svg)](https://circleci.com/gh/pyOpenSci/python-package-guide) + +![Docs Building](https://github.com/pyOpenSci/python-package-guide/actions/workflows/build-book.yml/badge.svg) + +* DOI (for citation) [![DOI](https://zenodo.org/badge/556814582.svg)](https://zenodo.org/badge/latestdoi/556814582) + +Once you package is accepted to pyOpenSci, we will provide you with +a badge to add to your repository that shows that it has been reviewed! + +# TODO: add a pyopensci accepted badge here + +```{note} +Beware of the overuse of badges! There is such a thing as too much of a good thing (which can overload a potential user!). +``` + +### ✅ A short, easy-to-understand description of what your package does + +At the top of your README file you should have a short, easy-to-understand, 1-3 sentence description of what your package does. And your goals for the package. The language in this description should use less technical terms so that a variety of users with varying scientific (and development) backgrounds can understand it. + +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. + + + +### ✅ Installation instructions + +Include instructions for installing your package. If you have published +the package on both PyPI and Conda be sure to include instructions for both. + +### ✅ Document any addition setup required + +Add any additional setup required such as authentication tokens, to +get started using your package. + +### ✅ Brief demonstration of how to use the package + +This description ideally includes a quick start vignette that provides a code sample demonstrating use + +### ✅ Descriptive links to package documentation, tutorials or vignettes. + +Include descriptive links to to: + +* The package's documentation page. +* Tutorials or vignettes that demonstrate application of your package. + +```{note} +### TOO MUCH OF A GOOD thing + +Try to avoid including several tutorials in the readme file itself. This too will overwhelm the user with information. + +A short quickstart 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. +``` + +### ✅ Discussion of how this package fits within the broader scientific python landscape. + +If applicable, describe how the package compares to other similar packages or complementary packages in the scientific Python ecosystem. This discussion can be brief. + +### ✅ Citation information + +Finally be sure to include instructions on how to cite your package. + + +### ✅ Links to Contributing Guide, Code of Conduct +Last but not least it's a good idea to link to direct users to your +contributing guide in case they want to contribute. And also to link to your project's code of conduct. + + +**Good/Better/Best Recommendations:** +- **Good:** README with name, description, installation instructions, and direction to further documentation. +- **Better/Best:** All the above plus usage examples, citation information, and CI and/or test coverage badges. + +**Better:** +Ideally you should also include a quick-start code demo that provides a quick vignette +of how the tool might be used. + +The a clear explanation of what your package does, a quick-start vignette and instructions +to install your package provide users with an easy to digest understanding of +how your package might be useful to them. + + +```{note} +### README Resources + +Below are some resources on creating great README.md files that you +might find helpful. + +* [The art of the README GitHub Repo](https://github.com/hackergrrl/art-of-readme) +* [Write a great readme - Bane Sullivan](https://github.com/banesullivan/README) +``` + diff --git a/documentation/index.md b/documentation/index.md new file mode 100644 index 000000000..3ffb083e0 --- /dev/null +++ b/documentation/index.md @@ -0,0 +1,65 @@ +# Get Started with Documenting Your Python Package + +🚧 UNDER CONSTRUCTION - THIS CONTENT SHOULD BE FURTHER DEVELOPED BY THE END OF 2022! KEEP CHECKING BACK TO UPDATES AS THEY ARE IN PROGRESS🚧 + + +Documentation is as important to the success of your Python open source package +as the code itself. While quality code is valuable as it gets the tasks that your +package seeks to achieve, completed, if users don't understand how to use the +tools in your package then they won't use your tool. + +## Documentation elements that we look for when reviewing a Python package + +In the pyOpenSci peer review process we look for several things when evaluating +package documentation including: + +1. A clear and to the point README file +2. Documentation of the functionality of your code. This is often setup using Sphinx/ Read the docs or some other documentation platform +3. Sufficient API documentation of your packages API (this means that docstrings are formatted with explanations of each variable and better yet quick vignettes that demonstrate how to use the function or class) +4. A CONTRIBUTING guide that has clear instructions that others can follow to setup a development environment. This will support others contributing to your project. + +# TODO LINK TO CI BUILDS FOR Documentation> +Maybe we can curate a list of CI builds that people can use??? or is that moving too close to a cookie cutter situation + + + + +### License file + +Your software should be licensed using an OSI approved license. The GitHub +repo should have a license file for that specific license. + + +### CONTRIBUTING file + +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. + + + + +### License +pyOpenSci projects 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), and GitHub has a [handy tool](https://choosealicense.com/) for choosing a 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. + +## Other recommendations +### Python version support +You should always be explicit about which versions of Python your package supports. +Keeping compatibility with old Python versions can be difficult as functionality changes. +A good rule of thumb is that the package should support, at least, +the latest three Python versions (e.g., 3.8, 3.7, 3.6). + +### Code Style +pyOpenSci encourages authors to consult [PEP 8](https://www.python.org/dev/peps/pep-0008/) for information on how to style your code. + +### Linting +An automatic linter (e.g. flake8) can help ensure your code is clean and free of syntax errors. These can be integrated with your CI. + + diff --git a/documentation/package-documentation-tutorials.md b/documentation/package-documentation-tutorials.md new file mode 100644 index 000000000..e703a30de --- /dev/null +++ b/documentation/package-documentation-tutorials.md @@ -0,0 +1,32 @@ +# Python package Documentation + +🚧 UNDER CONSTRUCTION - THIS CONTENT SHOULD BE FURTHER DEVELOPED BY THE END OF 2022! KEEP CHECKING BACK TO UPDATES AS THEY ARE IN PROGRESS🚧 + + +## Package documentation + +Your package should be well documented. While the readme is a great first step, +you should also have a documentation website. Many prefer to use Sphinx to create +they Python package documentation. Sphinx is great because it offers some extensions +that support things like documenting your api (see below), running and testing code +vignettes in your docstrings and more. + +Sphinx also offers numerous themes that you can use to customize your documentation. +This contributing guide is created using a Spinx Book theme. + +If you aren't excited about maintaining a website for your documentation, we +suggest using the [READTHEDOCS platform](https://www.readthedocs.org) which +allows you to easily host your documentation and track versions of your docs +as you release updates. + + +## API documentation + +There are several parts of package documentation + +All external package functions, classes, and methods should be fully documented with examples. + +**Good/Better/Best:** +- **Good:** Manually updated documentation as text files that ship with your package. +- **Better:** A documentation website using Sphinx to convert rst files to HTML and Read the Docs to host your site. +- **Best (optional):** Also consider automatically generated documentation from docstrings using autodoc \ No newline at end of file diff --git a/images/logo/download.svg b/images/logo/download.svg new file mode 100644 index 000000000..ab2550874 --- /dev/null +++ b/images/logo/download.svg @@ -0,0 +1,90 @@ + +Group.svg +Created using Figma 0.90 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/logo/favicon.ico b/images/logo/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..eb2cf42e707a8bbe9f9c0c661f9c9a6265af575b GIT binary patch literal 17050 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
&hpDjLTg`*y{)Dhp7Q@N^1TXJ-S@uU@xJ6 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 literal 0 HcmV?d00001 diff --git a/images/logo/logo.png b/images/logo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ea39fc27e8a2ec0d7493486ca40aa982c904bd64 GIT binary patch literal 9848 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 R_>VG>tfbPX8gb*0{{hD@!czbM literal 0 HcmV?d00001 diff --git a/images/logo/logo.psd b/images/logo/logo.psd new file mode 100644 index 0000000000000000000000000000000000000000..d6ad942b7fafff56ff87b7cf5c903d765b865b48 GIT binary patch literal 385516 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