docs: Audit HTTPS documentation links
While fixing #11574, I noticed we link to external security resources. We should verify that all links in are valid and up to date.
I've run sphinx's linkcheck builder to audit all of our links. Attached is the list of all broken links. If someone wants to fix these (or some of them), contributions would be welcome. I'll note that there are some truly ancient links in here and they will likely require historical packaging knowledge to replace (or should be deleted outright).
Details
(development/architecture/overview: line 103) broken http://pypi.org/simple/%7Bpackage_name - 403 Client Error: SSL is required for url: http://pypi.org/simple/%7Bpackage_name
( user_guide: line 130) broken http://example.com/requirements.txt - 404 Client Error: Not Found for url: http://example.com/requirements.txt
( news: line 4561) broken http://pypi.python.org/mirrors - 404 Client Error: Not Found for url: https://pypi.org/mirrors
( user_guide: line 254) broken http://example.com/constraints.txt - 404 Client Error: Not Found for url: http://example.com/constraints.txt
(ux-research-design/research-results/mental-models: line 32) broken https://docs.google.com/spreadsheets/d/1HBiNyehaILxhzZKWcBavkKXDzJr6gIt_Y8Jm8RRgJYg/edit#gid=0 - Anchor 'gid%3D0' not found
(development/getting-started: line 204) broken https://docs.gitlab.com/ee/gitlab-basics/start-using-git.html - 403 Client Error: Forbidden for url: https://gitlab.com/users/sign_in
(development/getting-started: line 94) broken https://docs.pytest.org/en/latest/usage.html#specifying-tests-selecting-tests - Anchor 'specifying-tests-selecting-tests' not found
(development/issue-triage: line 81) broken https://github.com/apps/triage-new-issues - 404 Client Error: Not Found for url: https://github.com/apps/triage-new-issues
(topics/repeatable-installs: line 55) broken https://github.com/jazzband/pip-tools#readme - Anchor 'readme' not found
(development/architecture/command-line-interface: line 53) broken https://github.com/pypa/pip/blob/main/src/pip/_internal/cli/main.py#L46 - Anchor 'L46' not found
( news: line 1280) broken https://github.com/pypa/pip/issues/10950 - 404 Client Error: Not Found for url: https://github.com/pypa/pip/issues/10950
(ux-research-design/guidance: line 426) broken https://globaltech.internews.org/our-resources/ux-feedback-collection-guidebook - 403 Client Error: Forbidden for url: https://internews.org/
( user_guide: line 1043) broken https://github.com/pypa/virtualenv/blob/20.0.2/setup.cfg#L42-L50 - Anchor 'L42-L50' not found
( index: line 42) broken https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa - Anchor 'ircs%3A//irc.libera.chat%3A%2B6697/pypa' not found
(development/index: line 9) broken https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa-dev - Anchor 'ircs%3A//irc.libera.chat%3A%2B6697/pypa-dev' not found
(ux-research-design/guidance: line 295) ok https://miro.com/
(ux-research-design/guidance: line 428) ok https://opensourcedesign.net/resources/
(ux-research-design/guidance: line 414) broken https://meet.google.com/linkredirect?authuser=0&dest=https%3A%2F%2Fdesign.firefox.com%2Fphoton%2Fcopy%2Fvoice-and-tone.html - 400 Client Error: Bad Request for url: https://meet.google.com/linkredirect?authuser=0&dest=https%3A%2F%2Fdesign.firefox.com%2Fphoton%2Fcopy%2Fvoice-and-tone.html
(ux-research-design/research-results/about-our-users: line 288) ok https://noti.st/elizabethschafer/fg3BR4
(ux-research-design/guidance: line 415) broken https://meet.google.com/linkredirect?authuser=0&dest=https%3A%2F%2Fdesign.firefox.com%2Fphoton%2Fcopy%2Fwriting-for-users.html - 400 Client Error: Bad Request for url: https://meet.google.com/linkredirect?authuser=0&dest=https%3A%2F%2Fdesign.firefox.com%2Fphoton%2Fcopy%2Fwriting-for-users.html
(ux-research-design/research-results/pip-force-reinstall: line 94) broken https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-force-reinstall - Anchor 'cmdoption-force-reinstall' not found
(ux-research-design/research-results/improving-pips-documentation: line 440) broken https://pip.pypa.io/en/stable/user_guide/#dependency-resolution-backtracking - Anchor 'dependency-resolution-backtracking' not found
( news: line 4049) broken https://pip.pypa.io/en/stable/reference/pip_install.html#caching - Anchor 'caching' not found
(ux-research-design/research-results/improving-pips-documentation: line 451) broken https://pip.pypa.io/en/stable/user_guide/#getting-help - Anchor 'getting-help' not found
( news: line 4499) broken https://raw.github.com/pypa/pip/master/contrib/get-pip.py - 404 Client Error: Not Found for url: https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py
(ux-research-design/guidance: line 425) broken https://simplysecure.org/blog/design-spot-tool-feedback - 404 Client Error: Not Found for url: https://superbloom.design/learning/blog/design-spot-tool-feedback
(ux-research-design/guidance: line 362) broken https://uxplanet.org/how-to-write-good-error-messages-858e4551cd4 - 403 Client Error: Forbidden for url: https://uxplanet.org/how-to-write-good-error-messages-858e4551cd4
(ux-research-design/research-results/about-our-users: line 291) broken https://uxplanet.org/designing-for-dyslexia-6d12e8c41cd7 - 403 Client Error: Forbidden for url: https://uxplanet.org/designing-for-dyslexia-6d12e8c41cd7
( cli/pip_search: line 25) broken https://warehouse.pypa.io/api-reference/xml-rpc.html#deprecated-methods - 404 Client Error: Not Found for url: https://warehouse.pypa.io/api-reference/xml-rpc.html
(development/architecture/overview: line 119) broken https://warehouse.readthedocs.io/api-reference/legacy/#simple-project-api - Anchor 'simple-project-api' not found
(ux-research-design/guidance: line 412) broken https://warehouse.readthedocs.io/ui-principles.html#write-clearly-with-consistent-style-and-terminology - 404 Client Error: Not Found for url: https://warehouse.pypa.io/ui-principles.html
(ux-research-design/research-results/index: line 199) broken https://www.ei8fdb.org/how-do-you-deal-with-conflicting-dependencies-caused-by-pip-installs/ - HTTPSConnectionPool(host='www.ei8fdb.org', port=443): Max retries exceeded with url: /how-do-you-deal-with-conflicting-dependencies-caused-by-pip-installs/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7b566b6aa210>: Failed to establish a new connection: [Errno 113] No route to host'))
(ux-research-design/research-results/index: line 200) broken https://www.ei8fdb.org/pip-ux-studies-response-data/ - HTTPSConnectionPool(host='www.ei8fdb.org', port=443): Max retries exceeded with url: /pip-ux-studies-response-data/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7b566b6aac10>: Failed to establish a new connection: [Errno 113] No route to host'))
(ux-research-design/research-results/index: line 197) broken https://www.ei8fdb.org/how-should-pip-handle-conflicts-when-updating-already-installed-packages/ - HTTPSConnectionPool(host='www.ei8fdb.org', port=443): Max retries exceeded with url: /how-should-pip-handle-conflicts-when-updating-already-installed-packages/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7b566b6aa350>: Failed to establish a new connection: [Errno 113] No route to host'))
(ux-research-design/guidance: line 404) broken https://www.ei8fdb.org/prototyping-command-line-interfaces-with-cli-output/ - HTTPSConnectionPool(host='www.ei8fdb.org', port=443): Max retries exceeded with url: /prototyping-command-line-interfaces-with-cli-output/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7b566b6ab610>: Failed to establish a new connection: [Errno 113] No route to host'))
(ux-research-design/research-results/index: line 25) broken https://www.ei8fdb.org/thoughts/2020/03/pip-ux-study-recruitment/ - HTTPSConnectionPool(host='www.ei8fdb.org', port=443): Max retries exceeded with url: /thoughts/2020/03/pip-ux-study-recruitment/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7b566b6ab9d0>: Failed to establish a new connection: [Errno 113] No route to host'))
(ux-research-design/research-results/index: line 198) broken https://www.ei8fdb.org/test-pips-alpha-resolver-and-help-us-document-dependency-conflicts/ - HTTPSConnectionPool(host='www.ei8fdb.org', port=443): Max retries exceeded with url: /test-pips-alpha-resolver-and-help-us-document-dependency-conflicts/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7b566b6ab890>: Failed to establish a new connection: [Errno 113] No route to host'))
(development/contributing: line 24) broken https://www.kessler.de/prd/smartbear/BestPracticesForPeerCodeReview.pdf - HTTPSConnectionPool(host='www.kessler.de', port=443): Max retries exceeded with url: /prd/smartbear/BestPracticesForPeerCodeReview.pdf (Caused by SSLError(SSLCertVerificationError(1, "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'www.kessler.de'. (_ssl.c:1032)")))
(ux-research-design/guidance: line 417) broken https://www.patternfly.org/v4/ux-writing/about - 404 Client Error: Not Found for url: https://www.patternfly.org/v4/ux-writing/about
( user_guide: line 1021) broken https://tools.simplysecure.org/survey/index.php?r=survey/index&sid=989272&lang=en - 522 Server Error: <none> for url: https://tools.simplysecure.org/survey/index.php?r=survey/index&sid=989272&lang=en
(ux-research-design/research-results/about-our-users: line 287) broken https://themasters.io/blog/posts/how-adhd-dyslexia-teach-better-ux-design - HTTPSConnectionPool(host='themasters.io', port=443): Max retries exceeded with url: /blog/posts/how-adhd-dyslexia-teach-better-ux-design (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7b566b6a91d0>, 'Connection to themasters.io timed out. (connect timeout=30)'))
Hi! I’d like to help with this issue by fixing a small subset of the broken links identified by the linkcheck output. I’ll focus on a few documentation pages to avoid overlap. Please let me know if that works.
Hi! I’d like to help with this issue by fixing a small subset of the broken links identified by the linkcheck output. I’ll focus on a few documentation pages to avoid overlap. Please let me know if that works.
Hi @Muthusrihemadharshini, thanks for your interest in contributing to pip! That sounds great, please go ahead and open a PR when your changes are ready.
Thank you for the confirmation! I’ll proceed and open a PR shortly with a small, focused set of fixes.