Skip to content

Conversation

jameslamb
Copy link
Contributor

Follow-up to #551

Proposes updating all the links that are responding with 301 - Moved Permanently. These links are mostly "working" for users of the documentation, but by redirecting. This proposes just directly linking to the final destinations.

Notes for Reviewers

Benefits of these changes

  • faster page loads
  • reduced risk of sending users to broken pages or those taken over by totally unrelated content (in the event that redirects are removed and/or domain registration expires)

How I found these

Ran the following from the root of the repo.

nox -e docs-linkcheck

This PR fixes the following:

17 permanent redirects (click me)
tests/code-cov.md:31: [redirected permanently] https://codecov.io/ to https://about.codecov.io/ tests/run-tests.md:80: [redirected permanently] https://codecov.io/ to https://about.codecov.io/ package-structure-code/python-package-distribution-files-sdist-wheel.md:150: [redirected permanently] https://conda.io/projects/conda-build/en/latest/user-guide/tutorials/index.html to https://docs.conda.io/projects/conda-build/en/latest/user-guide/tutorials/index.html documentation/hosting-tools/publish-documentation-online.md:25: [redirected permanently] https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages to https://docs.github.com/en/pages/getting-started-with-github-pages/what-is-github-pages documentation/repository-files/readme-file-best-practices.md:78: [redirected permanently] https://github.com/pandera-dev/pandera/workflows/CI%20Tests/badge.svg?branch=main to https://github.com/unionai-oss/pandera/workflows/CI%20Tests/badge.svg?branch=main documentation/repository-files/readme-file-best-practices.md:78: [redirected permanently] https://github.com/pandera-dev/pandera/actions?query=workflow%3A%22CI+Tests%22+branch%3Amain to https://github.com/unionai-oss/pandera/actions?query=workflow%3A%22CI+Tests%22+branch%3Amain documentation/hosting-tools/website-hosting-optimizing-your-docs.md:40: [redirected permanently] https://github.com/wpilibsuite/sphinxext-opengraph to https://github.com/sphinx-doc/sphinxext-opengraph documentation/repository-files/license-files.md:46: [redirected permanently] https://opensource.org/licenses/ to https://opensource.org/license package-structure-code/python-package-build-tools.md:232: [redirected permanently] https://pdm.fming.dev/latest/ to https://pdm-project.org/latest/ package-structure-code/python-package-build-tools.md:251: [redirected permanently] https://pdm.fming.dev/latest/usage/dependency/#about-update-strategy to https://pdm-project.org/latest/usage/dependency/ package-structure-code/python-package-build-tools.md:30: [redirected permanently] https://pdm.fming.dev/latest/ to https://pdm-project.org/latest/ documentation/repository-files/readme-file-best-practices.md:85: [redirected permanently] https://pyopensci.org/badges/peer-reviewed.svg to https://www.pyopensci.org/badges/peer-reviewed.svg tutorials/intro.md:164: [redirected permanently] https://opensource.org/licenses/ to https://opensource.org/license tutorials/intro.md:260: [redirected permanently] https://the-turing-way.netlify.app/reproducible-research/compendia.html to https://book.the-turing-way.org/reproducible-research/compendia.html tutorials/get-to-know-hatch.md:189: [redirected permanently] https://www.choosealicense.com to https://choosealicense.com/ CONTRIBUTING.md:44: [redirected permanently] https://www.github.com/pyopensci/python-package-guide to https://github.com/pyopensci/python-package-guide tests/write-tests.md:77: [redirected permanently] https://zenodo.org/record/8185113 to https://zenodo.org/records/8185113 

After this PR, there are 31 broken or redirecting links remaining in this project.

31 broken or redirecting URLs (click me)
package-structure-code/pyproject-toml-python-package-metadata.md:34: [broken] ../tutorials/3-pyproject-toml.html: package-structure-code/pyproject-toml-python-package-metadata.md:48: [broken] ../tutorials/extras/6-setuppy-to-pyproject-toml.html: package-structure-code/publish-python-package-pypi-conda.md:175: [broken] ../tutorials/publish-conda-forge.html: package-structure-code/publish-python-package-pypi-conda.md:43: [broken] ../tutorials/publish-pypi.html: package-structure-code/python-package-structure.md:166: [broken] /tutorials/create-python-package.html#step-1-set-up-the-package-directory-structure: package-structure-code/intro.md:14: [broken] /tutorials/intro: documentation/repository-files/license-files.md:10: [broken] <https://www.pyopensci.org/about-peer-review/>: package-structure-code/pyproject-toml-python-package-metadata.md:18: [redirected with unknown code] https://PyPI.org/classifiers/ to https://pypi.org/classifiers/ package-structure-code/declare-dependencies.md:370: [redirected with Found] https://docs.readthedocs.io/en/stable/config-file/index.html to https://docs.readthedocs.com/platform/stable/config-file/index.html documentation/repository-files/readme-file-best-practices.md:63: [redirected with Found] https://docs.readthedocs.io/en/stable/badges.html to https://docs.readthedocs.com/platform/stable/badges.html package-structure-code/declare-dependencies.md:371: [redirected with Found] https://docs.readthedocs.io/en/stable/build-customization.html#install-dependencies-with-poetry to https://docs.readthedocs.com/platform/stable/build-customization.html tutorials/create-python-package.md:548: [broken] https://epydoc.sourceforge.net/epytext.html: 403 Client Error: Forbidden for url: https://epydoc.sourceforge.net/epytext.html package-structure-code/pyproject-toml-python-package-metadata.md:102: [redirected with Found] https://github.com/Ouranosinc/xclim/blob/master/pyproject.toml to https://github.com/Ouranosinc/xclim/blob/main/pyproject.toml package-structure-code/code-style-linting-format.md:284: [broken] https://github.com/pre-commit/pre-commit-hooks#hooks-available: Anchor 'hooks-available' not found index.md:266: [broken] https://github.com/pyOpenSci/python-package-guide#contributors-: Anchor 'contributors-' not found tutorials/get-to-know-hatch.md:53: [redirected with Found] https://github.com/pypa/hatch/releases/latest/download/hatch-x64.msi to https://release-assets.githubusercontent.com/github-production-release-asset/92997800/753aa9e4-be17-4329-81bd-920cce26e870?sp=r&sv=2018-11-09&sr=b&spr=https&se=2025-07-27T02%3A14%3A49Z&rscd=attachment%3B+filename%3Dhatch-x64.msi&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2025-07-27T01%3A14%3A35Z&ske=2025-07-27T02%3A14%3A49Z&sks=b&skv=2018-11-09&sig=KjXPwJoWwwzPL%2BAX7wCQEw9U01EcZ3%2F%2FJ%2B%2B3on2mq2M%3D&jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc1MzU3OTk5NywibmJmIjoxNzUzNTc5Njk3LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.QnR04aGjRCpk308lh1FfkFdGCSO-ynkGVptsAF-MK50&response-content-disposition=attachment%3B%20filename%3Dhatch-x64.msi&response-content-type=application%2Foctet-stream tutorials/get-to-know-hatch.md:45: [redirected with Found] https://github.com/pypa/hatch/releases/latest/download/hatch-universal.pkg to https://release-assets.githubusercontent.com/github-production-release-asset/92997800/a6167801-6ca9-4ac5-ac7c-21a4c6c8c75c?sp=r&sv=2018-11-09&sr=b&spr=https&se=2025-07-27T02%3A10%3A06Z&rscd=attachment%3B+filename%3Dhatch-universal.pkg&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2025-07-27T01%3A09%3A41Z&ske=2025-07-27T02%3A10%3A06Z&sks=b&skv=2018-11-09&sig=PdBPVAFr7s2KLcRJoM1gG%2BZ%2BygvuAyzxyF%2BJl5yCVuA%3D&jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc1MzU3OTk5NywibmJmIjoxNzUzNTc5Njk3LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.QnR04aGjRCpk308lh1FfkFdGCSO-ynkGVptsAF-MK50&response-content-disposition=attachment%3B%20filename%3Dhatch-universal.pkg&response-content-type=application%2Foctet-stream documentation/hosting-tools/sphinx-python-package-documentation-tools.md:49: [redirected with Found] https://myst-parser.readthedocs.io/ to https://myst-parser.readthedocs.io/en/latest/ tests/run-tests.md:120: [redirected with Found] https://nox.thea.codes/ to https://nox.thea.codes/en/stable/ package-structure-code/pyproject-toml-python-package-metadata.md:77: [redirected with Found] https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ to https://packaging.python.org/en/latest/specifications/pyproject-toml/ package-structure-code/declare-dependencies.md:215: [redirected with Found] https://packaging.python.org/en/latest/specifications/declaring-project-metadata/#dependencies-optional-dependencies to https://packaging.python.org/en/latest/specifications/pyproject-toml/ documentation/hosting-tools/sphinx-python-package-documentation-tools.md:57: [redirected with Found] https://pydata-sphinx-theme.readthedocs.io/ to https://pydata-sphinx-theme.readthedocs.io/en/stable/ package-structure-code/python-package-build-tools.md:27: [redirected with Found] https://pypa-build.readthedocs.io/en/stable/ to https://build.pypa.io/en/stable/ tutorials/trusted-publishing.md:274: [redirected with See Other] https://pypi.org/manage/projects/ to https://pypi.org/account/login/?next=%2Fmanage%2Fprojects%2F package-structure-code/declare-dependencies.md:350: [redirected with Found] https://readthedocs.org to https://about.readthedocs.com/?ref=app.readthedocs.org documentation/hosting-tools/publish-documentation-online.md:8: [redirected with Found] https://readthedocs.org/ to https://about.readthedocs.com/?ref=app.readthedocs.org documentation/hosting-tools/sphinx-python-package-documentation-tools.md:58: [redirected with Found] https://sphinx-book-theme.readthedocs.io/ to https://sphinx-book-theme.readthedocs.io/en/stable/ package-structure-code/python-package-versions.md:14: [redirected with Found] https://www.python.org/dev/peps/pep-0440/#semantic-versioning to https://peps.python.org/pep-0440/ documentation/hosting-tools/sphinx-python-package-documentation-tools.md:17: [redirected with Found] https://www.sphinx-doc.org/ to https://www.sphinx-doc.org/en/master/ documentation/repository-files/readme-file-best-practices.md:82: [redirected with Found] https://zenodo.org/badge/556814582.svg to https://zenodo.org/badge/DOI/10.5281/zenodo.13154979.svg documentation/repository-files/readme-file-best-practices.md:82: [redirected with Found] https://zenodo.org/badge/latestdoi/556814582 to https://zenodo.org/records/13154979 

Thanks for your time and consideration.

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"

Copy link
Contributor

@sneakers-the-rat sneakers-the-rat left a comment

Choose a reason for hiding this comment

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

Nice. Makes sense to do this. I checked all the changes that weren't trivial changes (e.g. changing a github account/org name) and they were correct.

Copy link
Member

@lwasser lwasser left a comment

Choose a reason for hiding this comment

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

Thank you so much @jameslamb you have 2 approvals now!! let's merge. Thank you for reviewing @sneakers-the-rat !!!

@lwasser lwasser merged commit ad33e3d into pyOpenSci:main Jul 30, 2025
4 checks passed
@jameslamb jameslamb deleted the docs/permanent-redirects branch July 30, 2025 22:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants