Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ To fork a repo,

1. Make sure you are logged into GitHub.

2. Go to the repo you would like to fork, in this case the [Python Packaging Guide](https://www.github.com/pyopensci/python-package-guide) repo.
2. Go to the repo you would like to fork, in this case the [Python Packaging Guide](https://github.com/pyopensci/python-package-guide) repo.

3. In the top right-hand corner of the page there is a 'Fork' button. Click that button. You will be brought to a new page where you will 'Create a new fork'. Feel free to keep all the default inputs and click 'Create fork'. This will create a copy of the repo at `https://github.com/<username>/python-package-guide`, where `<username>` is your GitHub username.

Expand Down
2 changes: 2 additions & 0 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,8 @@
linkcheck_ignore = [
# gnu.org is so strictly rate-limited that retries to it really slow down link-checking... just assume they're fine
r"https:\/\/.*gnu\.org.*",
# this discord link is correct, but unauthenticated it redirects to a sign-up page
r"https:\/\/discord\.gg/NQtTTqtv",
]

def _post_build(app: "Sphinx", exception: Exception | None) -> None:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ service. Some of its many features include:


## What is GitHub Pages?
[GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages) is a free web
[GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/what-is-github-pages) is a free web
hosting service offered by GitHub. Using GitHub pages, you can build your
documentation locally or using a Continuous Integration setup, and then push
to a branch in your GitHub repository that is setup to run the GitHub Pages
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ This extension is lightweight.

It [requires that you to add it to your Sphinx `conf.py` extension list and site your documentation base url](https://sphinx-sitemap.readthedocs.io/en/latest/getting-started.html).

### [sphinxext.opengraph](https://github.com/wpilibsuite/sphinxext-opengraph)
### [sphinxext.opengraph](https://github.com/sphinx-doc/sphinxext-opengraph)

OpenGraph is an extension that allows you to add metadata to your documentation
content pages. [The OpenGraph protocol allows other websites to provide a
Expand Down
2 changes: 1 addition & 1 deletion documentation/repository-files/license-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Licenses are legally binding, as such you should avoid trying to create your own

### Use open permissive licenses when possible

We generally suggest that you use a permissive, license that is [Open Software Initiative (OSI) approved](https://opensource.org/licenses/). If you are
We generally suggest that you use a permissive, license that is [Open Software Initiative (OSI) approved](https://opensource.org/license). If you are
[submitting your package to pyOpenSci for peer review](https://www.pyopensci.org/about-peer-review/index.html), then we require an OSI approved
license.

Expand Down
4 changes: 2 additions & 2 deletions documentation/repository-files/readme-file-best-practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ Some badges that you might consider adding to your README file include:

Example: [![PyPI version shields.io](https://img.shields.io/pypi/v/pandera.svg)](https://pypi.org/project/pandera/)

* 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)
* Status of tests (pass or fail) - Example: [![CI Build](https://github.com/unionai-oss/pandera/workflows/CI%20Tests/badge.svg?branch=main)](https://github.com/unionai-oss/pandera/actions?query=workflow%3A%22CI+Tests%22+branch%3Amain)

* Documentation build - Example: ![Docs Building](https://github.com/pyOpenSci/python-package-guide/actions/workflows/build-book.yml/badge.svg)

Expand All @@ -84,7 +84,7 @@ Example: [![PyPI version shields.io](https://img.shields.io/pypi/v/pandera.svg)]
```{tip}
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.
[![pyOpenSci](https://pyopensci.org/badges/peer-reviewed.svg)](https://github.com/pyOpenSci/software-submission/issues/12)
[![pyOpenSci](https://www.pyopensci.org/badges/peer-reviewed.svg)](https://github.com/pyOpenSci/software-submission/issues/12)

```

Expand Down
2 changes: 1 addition & 1 deletion locales/es/LC_MESSAGES/documentation.po
Original file line number Diff line number Diff line change
Expand Up @@ -548,7 +548,7 @@ msgid ""
msgstr ""

#: ../../documentation/hosting-tools/website-hosting-optimizing-your-docs.md:40
msgid "[sphinxext.opengraph](https://github.com/wpilibsuite/sphinxext-opengraph)"
msgid "[sphinxext.opengraph](https://github.com/sphinx-doc/sphinxext-opengraph)"
msgstr ""

#: ../../documentation/hosting-tools/website-hosting-optimizing-your-docs.md:42
Expand Down
4 changes: 2 additions & 2 deletions locales/ja/LC_MESSAGES/documentation.po
Original file line number Diff line number Diff line change
Expand Up @@ -515,8 +515,8 @@ msgstr ""
"://sphinx-sitemap.readthedocs.io/en/latest/getting-started.html) 。"

#: ../../documentation/hosting-tools/website-hosting-optimizing-your-docs.md:40
msgid "[sphinxext.opengraph](https://github.com/wpilibsuite/sphinxext-opengraph)"
msgstr "[sphinxext.opengraph](https://github.com/wpilibsuite/sphinxext-opengraph)"
msgid "[sphinxext.opengraph](https://github.com/sphinx-doc/sphinxext-opengraph)"
msgstr "[sphinxext.opengraph](https://github.com/sphinx-doc/sphinxext-opengraph)"

#: ../../documentation/hosting-tools/website-hosting-optimizing-your-docs.md:42
msgid ""
Expand Down
6 changes: 3 additions & 3 deletions package-structure-code/python-package-build-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ You will learn more about the following tools on this page:
- [Twine](https://twine.readthedocs.io/en/stable/), [Build](https://pypa-build.readthedocs.io/en/stable/) + [setuptools](https://setuptools.pypa.io/en/latest/)
- [Flit](https://flit.pypa.io/en/stable/)
- [Hatch](https://hatch.pypa.io/latest/)
- [PDM](https://pdm.fming.dev/latest/)
- [PDM](https://pdm-project.org/latest/)
- [Poetry](https://python-poetry.org/docs/)

## Summary of tools Hatch vs. PDM vs. Poetry (and setuptools)
Expand Down Expand Up @@ -229,7 +229,7 @@ Notes:

## PDM

[PDM is a Python packaging and dependency management tool](https://pdm.fming.dev/latest/).
[PDM is a Python packaging and dependency management tool](https://pdm-project.org/latest/).
PDM supports builds for pure Python projects. It also provides multiple layers of
support for projects that have C and C++ extensions.

Expand All @@ -249,7 +249,7 @@ packages them with the pure Python files.
:delim: "|"

Use Other Build Backends| ✅| When you setup PDM it allows you to select one of several build back ends including: PDM-core, flit-core and hatchling. PDM also can work with Meson-Python which supports move complex python builds.
Dependency specifications |✅|PDM has flexible support for managing dependencies. PDM defaults to using an open bound (e.g. `requests >=1.2`) approach to dependencies. However you can [customize how you want to add dependencies in case you prefer another approach such as that of Poetry which uses an upper bound limit](https://pdm.fming.dev/latest/usage/dependency/#about-update-strategy).**
Dependency specifications |✅|PDM has flexible support for managing dependencies. PDM defaults to using an open bound (e.g. `requests >=1.2`) approach to dependencies. However you can [customize how you want to add dependencies in case you prefer another approach such as that of Poetry which uses an upper bound limit](https://pdm-project.org/en/latest/usage/dependency/#about-update-strategy).**
Environment lock files |✅|PDM and Poetry are currently the only tools that create environment lock files. Lock files are often most useful to developers creating web apps where locking the environment is critical for consistent user experience. For community-used packages, you will likely never want to use a lock file.
Environment management |✅ | PDM provides environment management support. It supports Python virtual environments, conda and a local `__pypackages__` environment which is a newer option in the Python ecosystem. No extensions are needed for this support.
Select your environment type on install |✅ | When you run `PDM init`, PDM will discover environments that are already on your system and allow you to select one to use for your project.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ similar content. However if your package has extensions in other languages
or is more complex in its build, the two distributions will be very different.

Also note that we are not discussing conda build workflows in this section.
[You can learn more about conda builds here.](https://conda.io/projects/conda-build/en/latest/user-guide/tutorials/index.html)
[You can learn more about conda builds here.](https://docs.conda.io/projects/conda-build/en/latest/user-guide/tutorials/index.html)
```

(python-source-distribution)=
Expand Down
2 changes: 1 addition & 1 deletion tests/code-cov.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ tests cover those scenarios adequately.

## Tools for analyzing Python package code coverage

Some common services for analyzing code coverage are [codecov.io](https://codecov.io/) and [coveralls.io](https://coveralls.io/). These projects are free for open source tools and will provide dashboards that tell you how much of your codebase is covered during your tests. We recommend setting up an account (on either CodeCov or Coveralls) and using it to keep track of your code coverage.
Some common services for analyzing code coverage are [codecov.io](https://about.codecov.io/) and [coveralls.io](https://coveralls.io/). These projects are free for open source tools and will provide dashboards that tell you how much of your codebase is covered during your tests. We recommend setting up an account (on either CodeCov or Coveralls) and using it to keep track of your code coverage.

:::{figure} ../images/code-cov-stravalib.png
:height: 450px
Expand Down
2 changes: 1 addition & 1 deletion tests/run-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ We recommend using `Pytest` to build and run your package tests. Pytest is the m
[The Pytest package](https://docs.pytest.org/en/latest/) also has a number of
extensions that can be used to add functionality such as:

- [pytest-cov](https://pytest-cov.readthedocs.io/en/latest/) allows you to analyze the code coverage of your package during your tests, and generates a report that you can [upload to codecov](https://codecov.io/).
- [pytest-cov](https://pytest-cov.readthedocs.io/en/latest/) allows you to analyze the code coverage of your package during your tests, and generates a report that you can [upload to codecov](https://about.codecov.io/).
Copy link
Contributor

Choose a reason for hiding this comment

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

Wow, the rarely seen "redirect the bare root domain to a subdomain"


:::{todo}
Learn more about code coverage here. (add link)
Expand Down
2 changes: 1 addition & 1 deletion tests/write-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ test_add_numbers()
### How do I know what type of tests to write?

:::{note}
This section has been adapted from [a presentation by Nick Murphy](https://zenodo.org/record/8185113).
This section has been adapted from [a presentation by Nick Murphy](https://zenodo.org/records/8185113).
:::

At this point, you may be wondering - what should you be testing in your package? Below are a few examples:
Expand Down
2 changes: 1 addition & 1 deletion tutorials/get-to-know-hatch.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ src-layout = true
Also notice that the default license option is MIT. While we will discuss
license in more detail in a later lesson, the MIT license is the
recommended permissive license from
[choosealicense.com](https://www.choosealicense.com) and as such we will
[choosealicense.com](https://choosealicense.com/) and as such we will
use it for this tutorial series.

You are of course welcome to select another license.
Expand Down
4 changes: 2 additions & 2 deletions tutorials/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ The core elements of Python package include:
- Contributor Documentation in the form of a **CONTRIBUTING.md** file is useful to help people to contribute to your package.
- Development Documentation helps both maintainers and contributors understand how to maintain a package's infrastructure.
- **Tests:** that make sure your code works as it should and makes it easier for you and others to contribute to, modify and update the code in the future
- **License:** An open source license, or license that is [OSI approved](https://opensource.org/licenses/), refers to an license that allows others to use your package. It also provides legal direction regarding how elements of the package can and can't be reused.
- **License:** An open source license, or license that is [OSI approved](https://opensource.org/license/), refers to an license that allows others to use your package. It also provides legal direction regarding how elements of the package can and can't be reused.
- **Infrastructure** that automates updates, publication workflows and runs test suites. Infrastructure includes a suite of things such as platforms like GitHub and GitLab, tools to run tests and tools locally such as nox and tox and continuous integration that automates package maintenance steps.

:::{admonition} What pyOpenSci looks for in a package
Expand Down Expand Up @@ -257,7 +257,7 @@ It can be tricky to decide when your code becomes something that might be more b
:::{admonition} How does this relate to code for a research project?
:class: note

A [Research Compendium](https://the-turing-way.netlify.app/reproducible-research/compendia.html) is an organized set of code, data and documentation that
A [Research Compendium](https://book.the-turing-way.org/reproducible-research/compendia.html) is an organized set of code, data and documentation that
supports a specific research project. It aims to enhance the reproducibility and
transparency of research by providing a comprehensive record of the methods,
data, and analyses used in a study.
Expand Down
Loading