From 8c6552668b7ff550de1a4a207ea21925703fba26 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 29 Oct 2026 11:07:54 -0400 Subject: [PATCH] docs: update permanently redirected links Also ignore hosted.weblate.org in linkcheck, which returns 403 to automated requests. Assisted-by: ClaudeCode:claude-opus-5-5 --- source/conf.py | 1 + .../analyzing-pypi-package-downloads.rst | 6 +++--- source/guides/hosting-your-own-index.rst | 2 +- .../guides/installing-scientific-packages.rst | 4 ++-- source/guides/installing-using-linux-tools.rst | 2 +- source/guides/packaging-binary-extensions.rst | 2 +- ...es-using-github-actions-ci-cd-workflows.rst | 4 ++-- .../supporting-multiple-python-versions.rst | 12 ++++++------ source/guides/writing-pyproject-toml.rst | 2 +- source/key_projects.rst | 18 +++++++++--------- source/overview.rst | 6 +++--- .../specifications/dependency-specifiers.rst | 2 +- source/specifications/pylock-toml.rst | 4 ++-- source/specifications/pyproject-toml.rst | 2 +- .../specifications/simple-repository-api.rst | 2 +- source/tutorials/installing-packages.rst | 2 +- source/tutorials/managing-dependencies.rst | 2 +- 17 files changed, 37 insertions(+), 36 deletions(-) diff --git a/source/conf.py b/source/conf.py index 024e664cf9..8a50d77980 100644 --- a/source/conf.py +++ b/source/conf.py @@ -165,6 +165,7 @@ r"https://typer\.tiangolo\.com/.*", r"https://www.npmjs.com/.*", r"https://docutils\.sourceforge\.io/.*", + r"https://hosted\.weblate\.org/.*", # Temporarily ignored due to expired TLS cert. # Ref: https://github.com/pypa/packaging.python.org/issues/1998 r"https://blog\.ganssle\.io/.*", diff --git a/source/guides/analyzing-pypi-package-downloads.rst b/source/guides/analyzing-pypi-package-downloads.rst index 2e2fdb5835..acd02c3424 100644 --- a/source/guides/analyzing-pypi-package-downloads.rst +++ b/source/guides/analyzing-pypi-package-downloads.rst @@ -41,7 +41,7 @@ limited resources. Public dataset ============== -As an alternative, the `Linehaul project `__ +As an alternative, the `Linehaul project `__ streams download logs from PyPI to `Google BigQuery`_ [#]_, where they are stored as a public dataset. @@ -61,7 +61,7 @@ per month `using the BigQuery free tier without a credit card For more detailed instructions on how to get started with BigQuery, check out the `BigQuery quickstart guide -`__. +`__. Data schema @@ -351,7 +351,7 @@ References .. _Google BigQuery: https://cloud.google.com/bigquery .. _BigQuery web UI: https://console.cloud.google.com/bigquery .. _pypinfo: https://github.com/ofek/pypinfo -.. _google-cloud-bigquery: https://cloud.google.com/bigquery/docs/reference/libraries +.. _google-cloud-bigquery: https://docs.cloud.google.com/bigquery/docs/reference/libraries .. _pandas-gbq: https://pandas-gbq.readthedocs.io/en/latest/ .. _Pandas: https://pandas.pydata.org/ .. _ClickHouse: https://github.com/ClickHouse/ClickHouse diff --git a/source/guides/hosting-your-own-index.rst b/source/guides/hosting-your-own-index.rst index ebcd228ee3..237be0bad0 100644 --- a/source/guides/hosting-your-own-index.rst +++ b/source/guides/hosting-your-own-index.rst @@ -134,4 +134,4 @@ Existing projects .. [2] Can be configured to fall back to PyPI (or another package index) if a requested package is missing. -.. _Twisted: https://twistedmatrix.com/ +.. _Twisted: https://twisted.org/ diff --git a/source/guides/installing-scientific-packages.rst b/source/guides/installing-scientific-packages.rst index a1aeae5675..53fa803588 100644 --- a/source/guides/installing-scientific-packages.rst +++ b/source/guides/installing-scientific-packages.rst @@ -130,9 +130,9 @@ written in Python, but is Python-agnostic. Conda manages Python itself as a package, so that :command:`conda update python` is possible, in contrast to pip, which only manages Python packages. -Anaconda `Anaconda `_ is a Python distribution published by Anaconda, Inc. It is a stable collection of Open Source packages for big data and scientific use, and a collection of Graphical Interface utilities for managing conda environments. +Anaconda `Anaconda `_ is a Python distribution published by Anaconda, Inc. It is a stable collection of Open Source packages for big data and scientific use, and a collection of Graphical Interface utilities for managing conda environments. -In addition to the full distribution provided by Anaconda, the conda package manager itself is available in `miniconda `_, `miniforge `_, and `pixi `_. +In addition to the full distribution provided by Anaconda, the conda package manager itself is available in `miniconda `_, `miniforge `_, and `pixi `_. Conda packages are available on multiple channels on Anaconda.org, including the diff --git a/source/guides/installing-using-linux-tools.rst b/source/guides/installing-using-linux-tools.rst index 56647f3e97..e3107d5acc 100644 --- a/source/guides/installing-using-linux-tools.rst +++ b/source/guides/installing-using-linux-tools.rst @@ -49,7 +49,7 @@ although :ref:`setuptools` is installed by default. To install pip and wheel for the system Python, there are two options: -1. Enable the `EPEL repository `_ using +1. Enable the `EPEL repository `_ using `these instructions `__. On EPEL 7, you can install pip and wheel like so: diff --git a/source/guides/packaging-binary-extensions.rst b/source/guides/packaging-binary-extensions.rst index cd5f64fb54..83bd506d27 100644 --- a/source/guides/packaging-binary-extensions.rst +++ b/source/guides/packaging-binary-extensions.rst @@ -134,7 +134,7 @@ also be considered: need to create your own accelerator module. * for long running applications, the JIT compiled `PyPy interpreter - `__ may offer a suitable alternative to the standard + `__ may offer a suitable alternative to the standard CPython runtime. The main barrier to adopting PyPy is typically reliance on other binary extension modules - while PyPy does emulate the CPython C API, modules that rely on that cause problems for the PyPy JIT, and the diff --git a/source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst b/source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst index 035a8af8a0..070cafedac 100644 --- a/source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst +++ b/source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst @@ -75,7 +75,7 @@ Let's begin! 🚀 .. attention:: - For security reasons, you must require `manual approval `_ + For security reasons, you must require `manual approval `_ on each run for the ``pypi`` environment. @@ -220,7 +220,7 @@ sure that your release pipeline remains healthy! If your repository has frequent commit activity and every push is uploaded to TestPyPI as described, the project might exceed the - `PyPI project size limit `_. + `PyPI project size limit `_. The limit could be increased, but a better solution may constitute to use a PyPI-compatible server like :ref:`pypiserver` in the CI for testing purposes. diff --git a/source/guides/supporting-multiple-python-versions.rst b/source/guides/supporting-multiple-python-versions.rst index 2e6d87f128..46addbaa88 100644 --- a/source/guides/supporting-multiple-python-versions.rst +++ b/source/guides/supporting-multiple-python-versions.rst @@ -22,8 +22,8 @@ Supporting multiple Python versions - DONE Travis and Shining Panda CI (Shining Panda no longer available) - DONE Appveyor - DONE Ned Batchelder's "What's in Which Python" - - http://nedbatchelder.com/blog/201310/whats_in_which_python_3.html - - http://nedbatchelder.com/blog/201109/whats_in_which_python.html + - http://nedbatchelder.com/blog/201310/whats_in_which_python_3 + - http://nedbatchelder.com/blog/201109/whats_in_which_python - Lennart Regebro's "Porting to Python 3" - Greg Hewgill's script to identify the minimum version of Python required to run a particular script: @@ -95,7 +95,7 @@ The six_ module can be used from as early as Python 2.5. A tool called Ronacher, can be used to automatically apply the code modifications provided by six_. -Similar to six_, `python-future `_ is +Similar to six_, `python-future `_ is a package that provides a compatibility layer between Python 2 and Python 3 source code; however, unlike six_, this package aims to provide interoperability between Python 2 and Python 3 with a language syntax that @@ -122,9 +122,9 @@ What's in which Python? ----------------------- Ned Batchelder provides a list of changes in each Python release for -`Python 2 `__, -`Python 3.0-3.3 `__ and -`Python 3.4-3.6 `__. +`Python 2 `__, +`Python 3.0-3.3 `__ and +`Python 3.4-3.6 `__. These lists may be used to check whether any changes between Python versions may affect your package. diff --git a/source/guides/writing-pyproject-toml.rst b/source/guides/writing-pyproject-toml.rst index a26a728ea9..fda90315bd 100644 --- a/source/guides/writing-pyproject-toml.rst +++ b/source/guides/writing-pyproject-toml.rst @@ -614,7 +614,7 @@ A full example .. _setuptools: https://setuptools.pypa.io .. _poetry: https://python-poetry.org .. _pypi-pip: https://pypi.org/project/pip -.. _pypi-search-pip: https://pypi.org/search?q=pip +.. _pypi-search-pip: https://pypi.org/search/?q=pip .. _classifier-list: https://pypi.org/classifiers .. _requires-python-blog-post: https://iscinumpy.dev/post/bound-version-constraints/#pinning-the-python-version-is-special .. _pytest: https://pytest.org diff --git a/source/key_projects.rst b/source/key_projects.rst index 745ff98747..cccb616691 100644 --- a/source/key_projects.rst +++ b/source/key_projects.rst @@ -211,7 +211,7 @@ Pipenv Pipenv is a project that aims to bring the best of all packaging worlds to the Python world. It harnesses :ref:`Pipfile`, :ref:`pip`, and :ref:`virtualenv` into one single toolchain. It can autoimport ``requirements.txt`` and also -check for CVEs in `Pipfile`_ using `safety `_. +check for CVEs in `Pipfile`_ using `safety `_. Pipenv aims to help users manage environments, dependencies, and imported packages on the command line. It also works well on Windows @@ -349,8 +349,8 @@ Warehouse ========= `Docs `__ | -`Issues `__ | -`GitHub `__ +`Issues `__ | +`GitHub `__ The current codebase powering the :term:`Python Package Index (PyPI)`. It is hosted at `pypi.org `_. The default @@ -407,10 +407,10 @@ Conda is a package, dependency, and environment management system for any langua Ruby, C/C++, Fortran, and more. It is written in Python and widely used in the Python scientific computing community, due to its support for non-Python compiled libraries and extensions. It is used as the basis of the `Anaconda -`__ Python distribution from Anaconda, Inc. It was originally +`__ Python distribution from Anaconda, Inc. It was originally aimed at the scientific community, but can also be used on its own, or with the :doc:`miniconda `, `miniforge `_ or -`pixi `_ systems. It is available for Windows, Mac and Linux systems. +`pixi `_ systems. It is available for Windows, Mac and Linux systems. Conda is a completely separate tool from :ref:`pip`, virtualenv and wheel, but provides many of their combined features, such as package management, virtual environment @@ -574,8 +574,8 @@ project metadata as defined in :pep:`621`. pex === -`Docs `__ | -`GitHub `__ | +`Docs `__ | +`GitHub `__ | `PyPI `__ Pex is a tool for generating :file:`.pex` (Python EXecutable) @@ -593,7 +593,7 @@ pip-tools ========= `Docs `__ | -`GitHub `__ | +`GitHub `__ | `PyPI `__ pip-tools is a suite of tools meant for Python system administrators @@ -663,7 +663,7 @@ and other indexes with caching. Pulp-python =========== -`Docs `__ | +`Docs `__ | :gh:`GitHub ` | `PyPI `__ diff --git a/source/overview.rst b/source/overview.rst index f8c9659144..f8609d7831 100644 --- a/source/overview.rst +++ b/source/overview.rst @@ -240,7 +240,7 @@ machines of developers and data scientists. Technologies which support this model: -* :gh:`PEX ` (Python EXecutable) +* :gh:`PEX ` (Python EXecutable) * :doc:`zipapp ` (does not help manage dependencies, requires Python 3.5+) * :gh:`shiv ` (requires Python 3) @@ -275,8 +275,8 @@ analytical, and other data-oriented environments, even making its way Instructions on building and publishing for the Anaconda ecosystem: -* `Building libraries and applications with conda `_ -* `Transitioning a native Python package to Anaconda `_ +* `Building libraries and applications with conda `_ +* `Transitioning a native Python package to Anaconda `_ A similar model involves installing an alternative Python distribution, but does not support arbitrary operating system-level diff --git a/source/specifications/dependency-specifiers.rst b/source/specifications/dependency-specifiers.rst index c330a0e174..964d81aa7b 100644 --- a/source/specifications/dependency-specifiers.rst +++ b/source/specifications/dependency-specifiers.rst @@ -719,7 +719,7 @@ References (http://pip.readthedocs.org/en/stable/) .. [#parsley] The parsley PEG library. - (https://pypi.python.org/pypi/parsley/) + (https://pypi.org/project/Parsley/) .. [#future_versions] Future Python versions might be problematic with the definition of Environment Marker Variable ``python_version`` diff --git a/source/specifications/pylock-toml.rst b/source/specifications/pylock-toml.rst index 394f9a2060..6c1493d678 100644 --- a/source/specifications/pylock-toml.rst +++ b/source/specifications/pylock-toml.rst @@ -844,9 +844,9 @@ History - March 2026: Clarify file name precedence for archives, sdists, and wheels. -.. _Content-Length: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length +.. _Content-Length: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Length .. _Dependabot: https://docs.github.com/en/code-security/dependabot -.. _HEAD: https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/HEAD +.. _HEAD: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Methods/HEAD .. _PDM: https://pypi.org/project/pdm/ .. _pip-tools: https://pypi.org/project/pip-tools/ .. _Poetry: https://pypi.org/project/poetry/ diff --git a/source/specifications/pyproject-toml.rst b/source/specifications/pyproject-toml.rst index c4daf40405..f799d9df54 100644 --- a/source/specifications/pyproject-toml.rst +++ b/source/specifications/pyproject-toml.rst @@ -682,7 +682,7 @@ Arbitrary tool configuration: the ``[tool]`` table The ``[tool]`` table is where any tool related to your Python project, not just build tools, can have users specify configuration data as long as they use a sub-table within ``[tool]``, e.g. the -`flit `_ tool would store its +`flit `_ tool would store its configuration in ``[tool.flit]``. A mechanism is needed to allocate names within the ``tool.*`` diff --git a/source/specifications/simple-repository-api.rst b/source/specifications/simple-repository-api.rst index b440c14e31..0f49d2ccac 100644 --- a/source/specifications/simple-repository-api.rst +++ b/source/specifications/simple-repository-api.rst @@ -727,7 +727,7 @@ addition, it would be beneficial if any possible new major version to the API ca be added without disrupting existing clients expecting the previous API version. To enable this, this spec standardizes on the use of HTTP's -`Server-Driven Content Negotiation `_. +`Server-Driven Content Negotiation `_. While this spec won't fully describe the entirety of server-driven content negotiation, the flow is roughly: diff --git a/source/tutorials/installing-packages.rst b/source/tutorials/installing-packages.rst index 4c9b950306..1a20f88f55 100644 --- a/source/tutorials/installing-packages.rst +++ b/source/tutorials/installing-packages.rst @@ -457,7 +457,7 @@ directory to your :envvar:`PATH`: .. _user base: https://docs.python.org/3/library/site.html#site.USER_BASE .. _modifying ~/.profile: https://stackoverflow.com/a/14638025 -.. _Control Panel: https://docs.microsoft.com/en-us/windows/win32/shell/user-environment-variables?redirectedfrom=MSDN +.. _Control Panel: https://learn.microsoft.com/en-us/windows/win32/shell/user-environment-variables Requirements files ================== diff --git a/source/tutorials/managing-dependencies.rst b/source/tutorials/managing-dependencies.rst index bb67a60e36..80a72f0590 100644 --- a/source/tutorials/managing-dependencies.rst +++ b/source/tutorials/managing-dependencies.rst @@ -169,7 +169,7 @@ and techniques, listed in alphabetical order, to see if one of them is a better Python applications, but not limited to them. * `PDM `_ for a modern Python package management relying on standards such as :pep:`517` and :pep:`621`. -* `pip-tools `_ for creating a lock file of all +* `pip-tools `_ for creating a lock file of all dependencies from a list of packages directly used in a project, and ensuring that only those dependencies are installed. * `Poetry `__ for a tool comparable in scope