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

Projects

Development

Successfully merging this pull request may close these issues.

3 participants