diff --git a/source/conf.py b/source/conf.py
index 024e664cf..8a50d7798 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 2e2fdb583..acd02c342 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 ebcd228ee..237be0bad 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 a1aeae567..53fa80358 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 56647f3e9..e3107d5ac 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 cd5f64fb5..83bd506d2 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 035a8af8a..070cafeda 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 2e6d87f12..46addbaa8 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 a26a728ea..fda90315b 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 745ff9874..cccb61669 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 f8c965914..f8609d783 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 c330a0e17..964d81aa7 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 394f9a206..6c1493d67 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 c4daf4040..f799d9df5 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 b440c14e3..0f49d2cca 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 4c9b95030..1a20f88f5 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 bb67a60e3..80a72f059 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