diff --git a/.github/CONTRIBUTING.rst b/.github/CONTRIBUTING.rst
index 30a39a40494fde..627f57070d200b 100644
--- a/.github/CONTRIBUTING.rst
+++ b/.github/CONTRIBUTING.rst
@@ -6,19 +6,19 @@ Build Status
- main
- + `Stable buildbots `_
+ + `Stable buildbots `_
- 3.9
- + `Stable buildbots `_
+ + `Stable buildbots `_
- 3.8
- + `Stable buildbots `_
+ + `Stable buildbots `_
- 3.7
- + `Stable buildbots `_
+ + `Stable buildbots `_
Thank You
diff --git a/Doc/extending/index.rst b/Doc/extending/index.rst
index 0994e3e8627dfa..01b4df6d44acff 100644
--- a/Doc/extending/index.rst
+++ b/Doc/extending/index.rst
@@ -27,8 +27,8 @@ Recommended third party tools
This guide only covers the basic tools for creating extensions provided
as part of this version of CPython. Third party tools like
-`Cython `_, `cffi `_,
-`SWIG `_ and `Numba `_
+`Cython `_, `cffi `_,
+`SWIG `_ and `Numba `_
offer both simpler and more sophisticated approaches to creating C and C++
extensions for Python.
diff --git a/Doc/faq/design.rst b/Doc/faq/design.rst
index 794b69795bac27..9da1d01abd6f51 100644
--- a/Doc/faq/design.rst
+++ b/Doc/faq/design.rst
@@ -321,8 +321,8 @@ is exactly the same type of object that a lambda expression yields) is assigned!
Can Python be compiled to machine code, C or some other language?
-----------------------------------------------------------------
-`Cython `_ compiles a modified version of Python with
-optional annotations into C extensions. `Nuitka `_ is
+`Cython `_ compiles a modified version of Python with
+optional annotations into C extensions. `Nuitka `_ is
an up-and-coming compiler of Python into C++ code, aiming to support the full
Python language.
@@ -338,8 +338,8 @@ cycles and deletes the objects involved. The :mod:`gc` module provides functions
to perform a garbage collection, obtain debugging statistics, and tune the
collector's parameters.
-Other implementations (such as `Jython `_ or
-`PyPy `_), however, can rely on a different mechanism
+Other implementations (such as `Jython `_ or
+`PyPy `_), however, can rely on a different mechanism
such as a full-blown garbage collector. This difference can cause some
subtle porting problems if your Python code depends on the behavior of the
reference counting implementation.
diff --git a/Doc/faq/extending.rst b/Doc/faq/extending.rst
index 1d2aca6f4c8d97..318e35508eae5b 100644
--- a/Doc/faq/extending.rst
+++ b/Doc/faq/extending.rst
@@ -41,7 +41,7 @@ on what you're trying to do.
.. XXX make sure these all work
-`Cython `_ and its relative `Pyrex
+`Cython `_ and its relative `Pyrex
`_ are compilers
that accept a slightly modified form of Python and generate the corresponding
C code. Cython and Pyrex make it possible to write an extension without having
@@ -49,10 +49,10 @@ to learn Python's C API.
If you need to interface to some C or C++ library for which no Python extension
currently exists, you can try wrapping the library's data types and functions
-with a tool such as `SWIG `_. `SIP
+with a tool such as `SWIG `_. `SIP
`__, `CXX
`_ `Boost
-`_, or `Weave
+`_, or `Weave
`_ are also
alternatives for wrapping C++ libraries.
@@ -286,6 +286,6 @@ Can I create an object class with some methods implemented in C and others in Py
Yes, you can inherit from built-in classes such as :class:`int`, :class:`list`,
:class:`dict`, etc.
-The Boost Python Library (BPL, http://www.boost.org/libs/python/doc/index.html)
+The Boost Python Library (BPL, https://www.boost.org/libs/python/doc/index.html)
provides a way of doing this from C++ (i.e. you can inherit from an extension
class written in C++ using the BPL).
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index 4aea1277f9e79c..5b5c357d59459d 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -1066,7 +1066,7 @@ performance levels:
detrimental to readability).
If you have reached the limit of what pure Python can allow, there are tools
-to take you further away. For example, `Cython `_ can
+to take you further away. For example, `Cython `_ can
compile a slightly modified version of Python code into a C extension, and
can be used on many different platforms. Cython can take advantage of
compilation (and optional type annotations) to make your code significantly
diff --git a/Doc/howto/cporting.rst b/Doc/howto/cporting.rst
index ce7700fc599062..7773620b40b973 100644
--- a/Doc/howto/cporting.rst
+++ b/Doc/howto/cporting.rst
@@ -22,5 +22,5 @@ We recommend the following resources for porting extension modules to Python 3:
.. _Migrating C extensions: http://python3porting.com/cextensions.html
.. _Porting guide: https://py3c.readthedocs.io/en/latest/guide.html
-.. _Cython: http://cython.org/
+.. _Cython: https://cython.org/
.. _CFFI: https://cffi.readthedocs.io/en/latest/
diff --git a/Doc/howto/curses.rst b/Doc/howto/curses.rst
index 26c4ece5ae6df4..48add160c88489 100644
--- a/Doc/howto/curses.rst
+++ b/Doc/howto/curses.rst
@@ -536,10 +536,10 @@ Patches adding support for these would be welcome; see
`the Python Developer's Guide `_ to
learn more about submitting patches to Python.
-* `Writing Programs with NCURSES `_:
+* `Writing Programs with NCURSES `_:
a lengthy tutorial for C programmers.
* `The ncurses man page `_
-* `The ncurses FAQ `_
+* `The ncurses FAQ `_
* `"Use curses... don't swear" `_:
video of a PyCon 2013 talk on controlling terminals using curses or Urwid.
* `"Console Applications with Urwid" `_:
diff --git a/Doc/howto/functional.rst b/Doc/howto/functional.rst
index eb800152050d1e..1c3bd23f9fee6d 100644
--- a/Doc/howto/functional.rst
+++ b/Doc/howto/functional.rst
@@ -1215,7 +1215,7 @@ flow inside a program. The book uses Scheme for its examples, but many of the
design approaches described in these chapters are applicable to functional-style
Python code.
-http://www.defmacro.org/ramblings/fp.html: A general introduction to functional
+https://www.defmacro.org/ramblings/fp.html: A general introduction to functional
programming that uses Java examples and has a lengthy historical introduction.
https://en.wikipedia.org/wiki/Functional_programming: General Wikipedia entry
@@ -1228,7 +1228,7 @@ https://en.wikipedia.org/wiki/Currying: Entry for the concept of currying.
Python-specific
---------------
-http://gnosis.cx/TPiP/: The first chapter of David Mertz's book
+https://gnosis.cx/TPiP/: The first chapter of David Mertz's book
:title-reference:`Text Processing in Python` discusses functional programming
for text processing, in the section titled "Utilizing Higher-Order Functions in
Text Processing".
diff --git a/Doc/howto/pyporting.rst b/Doc/howto/pyporting.rst
index abcc34287e3d29..add1c11be534e3 100644
--- a/Doc/howto/pyporting.rst
+++ b/Doc/howto/pyporting.rst
@@ -433,9 +433,9 @@ to make sure everything functions as expected in both versions of Python.
.. _caniusepython3: https://pypi.org/project/caniusepython3
-.. _cheat sheet: http://python-future.org/compatible_idioms.html
+.. _cheat sheet: https://python-future.org/compatible_idioms.html
.. _coverage.py: https://pypi.org/project/coverage
-.. _Futurize: http://python-future.org/automatic_conversion.html
+.. _Futurize: https://python-future.org/automatic_conversion.html
.. _importlib2: https://pypi.org/project/importlib2
.. _Modernize: https://python-modernize.readthedocs.io/
.. _mypy: http://mypy-lang.org/
@@ -445,7 +445,7 @@ to make sure everything functions as expected in both versions of Python.
.. _Python 3 Q & A: https://ncoghlan-devs-python-notes.readthedocs.io/en/latest/python3/questions_and_answers.html
.. _pytype: https://github.com/google/pytype
-.. _python-future: http://python-future.org/
+.. _python-future: https://python-future.org/
.. _python-porting: https://mail.python.org/pipermail/python-porting/
.. _six: https://pypi.org/project/six
.. _tox: https://pypi.org/project/tox
diff --git a/Doc/howto/unicode.rst b/Doc/howto/unicode.rst
index 535b21bd4a54f5..4969d2420d6ac9 100644
--- a/Doc/howto/unicode.rst
+++ b/Doc/howto/unicode.rst
@@ -167,7 +167,7 @@ On the Computerphile Youtube channel, Tom Scott briefly
(9 minutes 36 seconds).
To help understand the standard, Jukka Korpela has written `an introductory
-guide `_ to reading the
+guide `_ to reading the
Unicode character tables.
Another `good introductory article `_
@@ -735,7 +735,7 @@ References
----------
One section of `Mastering Python 3 Input/Output
-`_,
+`_,
a PyCon 2010 talk by David Beazley, discusses text processing and binary data handling.
The `PDF slides for Marc-André Lemburg's presentation "Writing Unicode-aware
@@ -745,7 +745,7 @@ discuss questions of character encodings as well as how to internationalize
and localize an application. These slides cover Python 2.x only.
`The Guts of Unicode in Python
-`_
+`_
is a PyCon 2013 talk by Benjamin Peterson that discusses the internal Unicode
representation in Python 3.3.
diff --git a/Doc/howto/urllib2.rst b/Doc/howto/urllib2.rst
index e1a2f48f0b0845..69af3c3a85c5d6 100644
--- a/Doc/howto/urllib2.rst
+++ b/Doc/howto/urllib2.rst
@@ -411,7 +411,7 @@ fetched, particularly the headers sent by the server. It is currently an
:class:`http.client.HTTPMessage` instance.
Typical headers include 'Content-length', 'Content-type', and so on. See the
-`Quick Reference to HTTP Headers `_
+`Quick Reference to HTTP Headers `_
for a useful listing of HTTP headers with brief explanations of their meaning
and use.
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 67b64ddda7a2ca..20863837fa1b8f 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -664,7 +664,7 @@ added elements by appending to the right and popping to the left::
def moving_average(iterable, n=3):
# moving_average([40, 30, 50, 46, 39, 44]) --> 40.0 42.0 45.0 43.0
- # http://en.wikipedia.org/wiki/Moving_average
+ # https://en.wikipedia.org/wiki/Moving_average
it = iter(iterable)
d = deque(itertools.islice(it, n-1))
d.appendleft(0)
diff --git a/Doc/library/difflib.rst b/Doc/library/difflib.rst
index 87c38602113ead..c5a279688a4491 100644
--- a/Doc/library/difflib.rst
+++ b/Doc/library/difflib.rst
@@ -353,9 +353,9 @@ diffs. For comparing directories and files, see also, the :mod:`filecmp` module.
.. seealso::
- `Pattern Matching: The Gestalt Approach `_
+ `Pattern Matching: The Gestalt Approach `_
Discussion of a similar algorithm by John W. Ratcliff and D. E. Metzener. This
- was published in `Dr. Dobb's Journal `_ in July, 1988.
+ was published in `Dr. Dobb's Journal `_ in July, 1988.
.. _sequence-matcher:
diff --git a/Doc/library/gettext.rst b/Doc/library/gettext.rst
index 624501952421cc..747f8703b750ec 100644
--- a/Doc/library/gettext.rst
+++ b/Doc/library/gettext.rst
@@ -445,7 +445,7 @@ There are a few tools to extract the strings meant for translation.
The original GNU :program:`gettext` only supported C or C++ source
code but its extended version :program:`xgettext` scans code written
in a number of languages, including Python, to find strings marked as
-translatable. `Babel `__ is a Python
+translatable. `Babel `__ is a Python
internationalization library that includes a :file:`pybabel` script to
extract and compile message catalogs. François Pinard's program
called :program:`xpot` does a similar job and is available as part of
diff --git a/Doc/library/http.client.rst b/Doc/library/http.client.rst
index 8bb3187ef51d65..16823ec67b0123 100644
--- a/Doc/library/http.client.rst
+++ b/Doc/library/http.client.rst
@@ -591,7 +591,7 @@ Here is an example session that shows how to ``POST`` requests::
302 Found
>>> data = response.read()
>>> data
- b'Redirecting to http://bugs.python.org/issue12524'
+ b'Redirecting to https://bugs.python.org/issue12524'
>>> conn.close()
Client side ``HTTP PUT`` requests are very similar to ``POST`` requests. The
diff --git a/Doc/library/importlib.resources.rst b/Doc/library/importlib.resources.rst
deleted file mode 100644
index d367dcee7c2072..00000000000000
--- a/Doc/library/importlib.resources.rst
+++ /dev/null
@@ -1,221 +0,0 @@
-:mod:`importlib.resources` -- Resources
----------------------------------------
-
-.. module:: importlib.resources
- :synopsis: Package resource reading, opening, and access
-
-**Source code:** :source:`Lib/importlib/resources/__init__.py`
-
---------------
-
-.. versionadded:: 3.7
-
-This module leverages Python's import system to provide access to *resources*
-within *packages*. If you can import a package, you can access resources
-within that package. Resources can be opened or read, in either binary or
-text mode.
-
-Resources are roughly akin to files inside directories, though it's important
-to keep in mind that this is just a metaphor. Resources and packages **do
-not** have to exist as physical files and directories on the file system:
-for example, a package and its resources can be imported from a zip file using
-:py:mod:`zipimport`.
-
-.. note::
-
- This module provides functionality similar to `pkg_resources
- `_ `Basic
- Resource Access
- `_
- without the performance overhead of that package. This makes reading
- resources included in packages easier, with more stable and consistent
- semantics.
-
- The standalone backport of this module provides more information
- on `using importlib.resources
- `_ and
- `migrating from pkg_resources to importlib.resources
- `_.
-
-:class:`Loaders ` that wish to support resource reading should implement a
-``get_resource_reader(fullname)`` method as specified by
-:class:`importlib.resources.abc.ResourceReader`.
-
-.. data:: Package
-
- Whenever a function accepts a ``Package`` argument, you can pass in
- either a :class:`module object ` or a module name
- as a string. You can only pass module objects whose
- ``__spec__.submodule_search_locations`` is not ``None``.
-
- The ``Package`` type is defined as ``Union[str, ModuleType]``.
-
-.. function:: files(package)
-
- Returns a :class:`~importlib.resources.abc.Traversable` object
- representing the resource container for the package (think directory)
- and its resources (think files). A Traversable may contain other
- containers (think subdirectories).
-
- *package* is either a name or a module object which conforms to the
- :data:`Package` requirements.
-
- .. versionadded:: 3.9
-
-.. function:: as_file(traversable)
-
- Given a :class:`~importlib.resources.abc.Traversable` object representing
- a file, typically from :func:`importlib.resources.files`, return
- a context manager for use in a :keyword:`with` statement.
- The context manager provides a :class:`pathlib.Path` object.
-
- Exiting the context manager cleans up any temporary file created when the
- resource was extracted from e.g. a zip file.
-
- Use ``as_file`` when the Traversable methods
- (``read_text``, etc) are insufficient and an actual file on
- the file system is required.
-
- .. versionadded:: 3.9
-
-Deprecated functions
---------------------
-
-An older, deprecated set of functions is still available, but is
-scheduled for removal in a future version of Python.
-The main drawback of these functions is that they do not support
-directories: they assume all resources are located directly within a *package*.
-
-.. data:: Resource
-
- For *resource* arguments of the functions below, you can pass in
- the name of a resource as a string or
- a :class:`path-like object `.
-
- The ``Resource`` type is defined as ``Union[str, os.PathLike]``.
-
-.. function:: open_binary(package, resource)
-
- Open for binary reading the *resource* within *package*.
-
- *package* is either a name or a module object which conforms to the
- ``Package`` requirements. *resource* is the name of the resource to open
- within *package*; it may not contain path separators and it may not have
- sub-resources (i.e. it cannot be a directory). This function returns a
- ``typing.BinaryIO`` instance, a binary I/O stream open for reading.
-
- .. deprecated:: 3.11
-
- Calls to this function can be replaced by::
-
- files(package).joinpath(resource).open('rb')
-
-
-.. function:: open_text(package, resource, encoding='utf-8', errors='strict')
-
- Open for text reading the *resource* within *package*. By default, the
- resource is opened for reading as UTF-8.
-
- *package* is either a name or a module object which conforms to the
- ``Package`` requirements. *resource* is the name of the resource to open
- within *package*; it may not contain path separators and it may not have
- sub-resources (i.e. it cannot be a directory). *encoding* and *errors*
- have the same meaning as with built-in :func:`open`.
-
- This function returns a ``typing.TextIO`` instance, a text I/O stream open
- for reading.
-
- .. deprecated:: 3.11
-
- Calls to this function can be replaced by::
-
- files(package).joinpath(resource).open('r', encoding=encoding)
-
-
-.. function:: read_binary(package, resource)
-
- Read and return the contents of the *resource* within *package* as
- ``bytes``.
-
- *package* is either a name or a module object which conforms to the
- ``Package`` requirements. *resource* is the name of the resource to open
- within *package*; it may not contain path separators and it may not have
- sub-resources (i.e. it cannot be a directory). This function returns the
- contents of the resource as :class:`bytes`.
-
- .. deprecated:: 3.11
-
- Calls to this function can be replaced by::
-
- files(package).joinpath(resource).read_bytes()
-
-
-.. function:: read_text(package, resource, encoding='utf-8', errors='strict')
-
- Read and return the contents of *resource* within *package* as a ``str``.
- By default, the contents are read as strict UTF-8.
-
- *package* is either a name or a module object which conforms to the
- ``Package`` requirements. *resource* is the name of the resource to open
- within *package*; it may not contain path separators and it may not have
- sub-resources (i.e. it cannot be a directory). *encoding* and *errors*
- have the same meaning as with built-in :func:`open`. This function
- returns the contents of the resource as :class:`str`.
-
- .. deprecated:: 3.11
-
- Calls to this function can be replaced by::
-
- files(package).joinpath(resource).read_text(encoding=encoding)
-
-
-.. function:: path(package, resource)
-
- Return the path to the *resource* as an actual file system path. This
- function returns a context manager for use in a :keyword:`with` statement.
- The context manager provides a :class:`pathlib.Path` object.
-
- Exiting the context manager cleans up any temporary file created when the
- resource needs to be extracted from e.g. a zip file.
-
- *package* is either a name or a module object which conforms to the
- ``Package`` requirements. *resource* is the name of the resource to open
- within *package*; it may not contain path separators and it may not have
- sub-resources (i.e. it cannot be a directory).
-
- .. deprecated:: 3.11
-
- Calls to this function can be replaced using :func:`as_file`::
-
- as_file(files(package).joinpath(resource))
-
-
-.. function:: is_resource(package, name)
-
- Return ``True`` if there is a resource named *name* in the package,
- otherwise ``False``.
- This function does not consider directories to be resources.
- *package* is either a name or a module object which conforms to the
- ``Package`` requirements.
-
- .. deprecated:: 3.11
-
- Calls to this function can be replaced by::
-
- files(package).joinpath(resource).is_file()
-
-
-.. function:: contents(package)
-
- Return an iterable over the named items within the package. The iterable
- returns :class:`str` resources (e.g. files) and non-resources
- (e.g. directories). The iterable does not recurse into subdirectories.
-
- *package* is either a name or a module object which conforms to the
- ``Package`` requirements.
-
- .. deprecated:: 3.11
-
- Calls to this function can be replaced by::
-
- (resource.name for resource in files(package).iterdir() if resource.is_file())
diff --git a/Doc/library/json.rst b/Doc/library/json.rst
index 1e203242327cad..f65be85d31bf19 100644
--- a/Doc/library/json.rst
+++ b/Doc/library/json.rst
@@ -226,7 +226,7 @@ Basic Usage
*object_hook* is an optional function that will be called with the result of
any object literal decoded (a :class:`dict`). The return value of
*object_hook* will be used instead of the :class:`dict`. This feature can be used
- to implement custom decoders (e.g. `JSON-RPC `_
+ to implement custom decoders (e.g. `JSON-RPC `_
class hinting).
*object_pairs_hook* is an optional function that will be called with the
@@ -326,7 +326,7 @@ Encoders and Decoders
*object_hook*, if specified, will be called with the result of every JSON
object decoded and its return value will be used in place of the given
:class:`dict`. This can be used to provide custom deserializations (e.g. to
- support `JSON-RPC `_ class hinting).
+ support `JSON-RPC `_ class hinting).
*object_pairs_hook*, if specified will be called with the result of every
JSON object decoded with an ordered list of pairs. The return value of
diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst
index 85989ef32d4911..7c35f3cafd12e7 100644
--- a/Doc/library/os.path.rst
+++ b/Doc/library/os.path.rst
@@ -335,7 +335,7 @@ the :mod:`glob` module.)
.. note::
On POSIX systems, in accordance with `IEEE Std 1003.1 2013 Edition; 4.13
- Pathname Resolution `_,
+ Pathname Resolution `_,
if a pathname begins with exactly two slashes, the first component
following the leading characters may be interpreted in an implementation-defined
manner, although more than two leading characters shall be treated as a
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index e5555c2355f12b..eb154633e71376 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -2518,9 +2518,9 @@ features:
.. note::
On Unix-based systems, :func:`scandir` uses the system's
- `opendir() `_
+ `opendir() `_
and
- `readdir() `_
+ `readdir() `_
functions. On Windows, it uses the Win32
`FindFirstFileW `_
and
@@ -4989,7 +4989,7 @@ Random numbers
:py:data:`GRND_NONBLOCK`.
See also the `Linux getrandom() manual page
- `_.
+ `_.
.. availability:: Linux >= 3.17.
diff --git a/Doc/library/random.rst b/Doc/library/random.rst
index 78c2b030d6095f..913040052775e1 100644
--- a/Doc/library/random.rst
+++ b/Doc/library/random.rst
@@ -266,7 +266,7 @@ The following function generates a discrete distribution.
.. function:: binomialvariate(n=1, p=0.5)
`Binomial distribution
- `_.
+ `_.
Return the number of successes for *n* independent trials with the
probability of success in each trial being *p*:
diff --git a/Doc/library/secrets.rst b/Doc/library/secrets.rst
index 86fa35fec59f68..dc8e5f46fb581e 100644
--- a/Doc/library/secrets.rst
+++ b/Doc/library/secrets.rst
@@ -153,7 +153,7 @@ Generate an eight-character alphanumeric password:
.. note::
Applications should not
- `store passwords in a recoverable format `_,
+ `store passwords in a recoverable format `_,
whether plain text or encrypted. They should be salted and hashed
using a cryptographically strong one-way (irreversible) hash function.
diff --git a/Doc/library/shutil.rst b/Doc/library/shutil.rst
index 7d69c5ff266f3b..8f1668f76b9027 100644
--- a/Doc/library/shutil.rst
+++ b/Doc/library/shutil.rst
@@ -801,4 +801,4 @@ Querying the size of the output terminal
http://www.manpagez.com/man/3/copyfile/
.. _`Other Environment Variables`:
- http://pubs.opengroup.org/onlinepubs/7908799/xbd/envvar.html#tag_002_003
+ https://pubs.opengroup.org/onlinepubs/7908799/xbd/envvar.html#tag_002_003
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
index b2bb8c7886747a..f97c4f67001633 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -370,7 +370,7 @@ Constants
.. seealso::
- `Secure File Descriptor Handling `_
+ `Secure File Descriptor Handling `_
for a more thorough explanation.
.. availability:: Linux >= 2.6.27.
diff --git a/Doc/library/statistics.rst b/Doc/library/statistics.rst
index 5aef6f6f05d639..bf869903c0f84e 100644
--- a/Doc/library/statistics.rst
+++ b/Doc/library/statistics.rst
@@ -938,7 +938,7 @@ Carlo simulation `_:
[1.4591308524824727, 1.8035946855390597, 2.175091447274739]
Normal distributions can be used to approximate `Binomial
-distributions `_
+distributions `_
when the sample size is large and when the probability of a successful
trial is near 50%.
diff --git a/Doc/library/string.rst b/Doc/library/string.rst
index 35e9bc116803ff..7d0d601799f7a1 100644
--- a/Doc/library/string.rst
+++ b/Doc/library/string.rst
@@ -738,7 +738,7 @@ internationalization (i18n) since in that context, the simpler syntax and
functionality makes it easier to translate than other built-in string
formatting facilities in Python. As an example of a library built on template
strings for i18n, see the
-`flufl.i18n `_ package.
+`flufl.i18n `_ package.
.. index:: single: $ (dollar); in template strings
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index 632ce627d86f9b..43db4baf62dfb3 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -1799,4 +1799,4 @@ always available.
.. rubric:: Citations
-.. [C99] ISO/IEC 9899:1999. "Programming languages -- C." A public draft of this standard is available at http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf\ .
+.. [C99] ISO/IEC 9899:1999. "Programming languages -- C." A public draft of this standard is available at https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf\ .
diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst
index 096a343bd95589..0447b15e26fe2b 100644
--- a/Doc/library/tkinter.rst
+++ b/Doc/library/tkinter.rst
@@ -61,7 +61,7 @@ details that are unchanged.
* `Python and Tkinter Programming `_
By Alan Moore. (ISBN 978-1788835886)
- * `Programming Python `_
+ * `Programming Python `_
By Mark Lutz; has excellent coverage of Tkinter. (ISBN 978-0596158101)
* `Tcl and the Tk Toolkit (2nd edition) `_
@@ -988,7 +988,7 @@ wherever the image was used.
.. seealso::
- The `Pillow `_ package adds support for
+ The `Pillow `_ package adds support for
formats such as BMP, JPEG, TIFF, and WebP, among others.
.. _tkinter-file-handlers:
diff --git a/Doc/library/xmlrpc.client.rst b/Doc/library/xmlrpc.client.rst
index 9f5ba46934b798..2dcf3984cf42f2 100644
--- a/Doc/library/xmlrpc.client.rst
+++ b/Doc/library/xmlrpc.client.rst
@@ -156,12 +156,12 @@ between conformable Python objects and XML on the wire.
Added support of unmarshalling additional types used by Apache XML-RPC
implementation for numerics: ``i1``, ``i2``, ``i8``, ``biginteger``,
``float`` and ``bigdecimal``.
- See http://ws.apache.org/xmlrpc/types.html for a description.
+ See https://ws.apache.org/xmlrpc/types.html for a description.
.. seealso::
- `XML-RPC HOWTO `_
+ `XML-RPC HOWTO `_
A good description of XML-RPC operation and client software in several languages.
Contains pretty much everything an XML-RPC client developer needs to know.
diff --git a/Doc/license.rst b/Doc/license.rst
index e0276b49243770..00691b30ba6d3e 100644
--- a/Doc/license.rst
+++ b/Doc/license.rst
@@ -353,7 +353,7 @@ Sockets
The :mod:`socket` module uses the functions, :func:`getaddrinfo`, and
:func:`getnameinfo`, which are coded in separate source files from the WIDE
-Project, http://www.wide.ad.jp/. ::
+Project, https://www.wide.ad.jp/. ::
Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
All rights reserved.
diff --git a/Doc/reference/introduction.rst b/Doc/reference/introduction.rst
index 72e874ee98e466..914a11556c94e6 100644
--- a/Doc/reference/introduction.rst
+++ b/Doc/reference/introduction.rst
@@ -54,7 +54,7 @@ Jython
Python implemented in Java. This implementation can be used as a scripting
language for Java applications, or can be used to create applications using the
Java class libraries. It is also often used to create tests for Java libraries.
- More information can be found at `the Jython website `_.
+ More information can be found at `the Jython website `_.
Python for .NET
This implementation actually uses the CPython implementation, but is a managed
@@ -66,7 +66,7 @@ IronPython
An alternate Python for .NET. Unlike Python.NET, this is a complete Python
implementation that generates IL, and compiles Python code directly to .NET
assemblies. It was created by Jim Hugunin, the original creator of Jython. For
- more information, see `the IronPython website `_.
+ more information, see `the IronPython website `_.
PyPy
An implementation of Python written completely in Python. It supports several
@@ -74,7 +74,7 @@ PyPy
and a Just in Time compiler. One of the goals of the project is to encourage
experimentation with the language itself by making it easier to modify the
interpreter (since it is written in Python). Additional information is
- available on `the PyPy project's home page `_.
+ available on `the PyPy project's home page `_.
Each of these implementations varies in some way from the language as documented
in this manual, or introduces specific information beyond what's covered in the
diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst
index 2d376ec7b40fd0..6678d476fa831b 100644
--- a/Doc/using/cmdline.rst
+++ b/Doc/using/cmdline.rst
@@ -585,7 +585,7 @@ Options you shouldn't use
Reserved for use by Jython_.
-.. _Jython: http://www.jython.org/
+.. _Jython: https://www.jython.org/
.. _using-on-envvars:
diff --git a/Doc/using/mac.rst b/Doc/using/mac.rst
index f7db038430b6d3..f85b5bd2e713d0 100644
--- a/Doc/using/mac.rst
+++ b/Doc/using/mac.rst
@@ -65,7 +65,7 @@ number of standard Unix command line editors, :program:`vim` and
:program:`BBEdit` or :program:`TextWrangler` from Bare Bones Software (see
http://www.barebones.com/products/bbedit/index.html) are good choices, as is
:program:`TextMate` (see https://macromates.com/). Other editors include
-:program:`Gvim` (http://macvim-dev.github.io/macvim/) and :program:`Aquamacs`
+:program:`Gvim` (https://macvim-dev.github.io/macvim/) and :program:`Aquamacs`
(http://aquamacs.org/).
To run your script from the Terminal window you must make sure that
diff --git a/Doc/whatsnew/2.5.rst b/Doc/whatsnew/2.5.rst
index 1b1fb3be9cabd2..f580c822dfdd4f 100644
--- a/Doc/whatsnew/2.5.rst
+++ b/Doc/whatsnew/2.5.rst
@@ -1930,7 +1930,7 @@ with the same digest state.
The sqlite3 package
-------------------
-The pysqlite module (http://www.pysqlite.org), a wrapper for the SQLite embedded
+The pysqlite module (https://www.pysqlite.org), a wrapper for the SQLite embedded
database, has been added to the standard library under the package name
:mod:`sqlite3`.
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index 7524da89639341..eaca3165c07c1b 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -176,7 +176,7 @@ Hosting of the Python bug tracker is kindly provided by
of Stellenbosch, South Africa. Martin von Löwis put a
lot of effort into importing existing bugs and patches from
SourceForge; his scripts for this import operation are at
-``http://svn.python.org/view/tracker/importer/`` and may be useful to
+``https://svn.python.org/view/tracker/importer/`` and may be useful to
other projects wishing to move from SourceForge to Roundup.
.. seealso::
@@ -184,13 +184,13 @@ other projects wishing to move from SourceForge to Roundup.
https://bugs.python.org
The Python bug tracker.
- http://bugs.jython.org:
+ https://bugs.jython.org:
The Jython bug tracker.
http://roundup.sourceforge.net/
Roundup downloads and documentation.
- http://svn.python.org/view/tracker/importer/
+ https://svn.python.org/view/tracker/importer/
Martin von Löwis's conversion scripts.
New Documentation Format: reStructuredText Using Sphinx
@@ -1433,7 +1433,7 @@ one, :func:`math.trunc`, that's been backported to Python 2.6.
`Scheme's numerical tower `__, from the Guile manual.
- `Scheme's number datatypes `__ from the R5RS Scheme specification.
+ `Scheme's number datatypes `__ from the R5RS Scheme specification.
The :mod:`fractions` Module
diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst
index 59d68a192b8f7d..01f140dac8ae9c 100644
--- a/Doc/whatsnew/2.7.rst
+++ b/Doc/whatsnew/2.7.rst
@@ -299,7 +299,7 @@ modules.
constructor was extended with an *object_pairs_hook* parameter to
allow :class:`OrderedDict` instances to be built by the decoder.
Support was also added for third-party tools like
- `PyYAML `_.
+ `PyYAML `_.
.. seealso::
@@ -1048,7 +1048,7 @@ changes, or look through the Subversion logs for all the details.
The new version features better Python 3.x compatibility, various bug fixes,
and adds several new BerkeleyDB flags and methods.
(Updated by Jesús Cea Avión; :issue:`8156`. The pybsddb
- changelog can be read at http://hg.jcea.es/pybsddb/file/tip/ChangeLog.)
+ changelog can be read at https://hg.jcea.es/pybsddb/file/tip/ChangeLog.)
* The :mod:`bz2` module's :class:`~bz2.BZ2File` now supports the context
management protocol, so you can write ``with bz2.BZ2File(...) as f:``.
@@ -1831,7 +1831,7 @@ packaged as the :mod:`unittest2` package, from
https://pypi.org/project/unittest2.
When used from the command line, the module can automatically discover
-tests. It's not as fancy as `py.test `__ or
+tests. It's not as fancy as `py.test `__ or
`nose `__, but provides a
simple way to run tests kept within a set of package directories. For example,
the following command will search the :file:`test/` subdirectory for
@@ -2692,7 +2692,7 @@ As part of this change, the :ref:`installing-index` and
completely redesigned as short getting started and FAQ documents. Most
packaging documentation has now been moved out to the Python Packaging
Authority maintained `Python Packaging User Guide
-`__ and the documentation of the individual
+`__ and the documentation of the individual
projects.
However, as this migration is currently still incomplete, the legacy
diff --git a/Doc/whatsnew/3.1.rst b/Doc/whatsnew/3.1.rst
index 3d89b97fa8f1b8..6ce6358d49fbca 100644
--- a/Doc/whatsnew/3.1.rst
+++ b/Doc/whatsnew/3.1.rst
@@ -72,7 +72,7 @@ order. The *_asdict()* method for :func:`collections.namedtuple` now
returns an ordered dictionary with the values appearing in the same order as
the underlying tuple indices. The :mod:`json` module is being built-out with
an *object_pairs_hook* to allow OrderedDicts to be built by the decoder.
-Support was also added for third-party tools like `PyYAML `_.
+Support was also added for third-party tools like `PyYAML `_.
.. seealso::
diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst
index c7b42ef0ed739c..e2681bc983a8af 100644
--- a/Doc/whatsnew/3.2.rst
+++ b/Doc/whatsnew/3.2.rst
@@ -2506,7 +2506,7 @@ IDLE
Code Repository
===============
-In addition to the existing Subversion code repository at http://svn.python.org
+In addition to the existing Subversion code repository at https://svn.python.org
there is now a `Mercurial `_ repository at
https://hg.python.org/\ .
diff --git a/Doc/whatsnew/3.3.rst b/Doc/whatsnew/3.3.rst
index 0f989464c9c817..1b5b6831e4305c 100644
--- a/Doc/whatsnew/3.3.rst
+++ b/Doc/whatsnew/3.3.rst
@@ -1106,7 +1106,7 @@ the precision is user configurable, the exact figures may vary. For example,
in integer bignum arithmetic the differences can be significantly higher.
The following table is meant as an illustration. Benchmarks are available
-at http://www.bytereef.org/mpdecimal/quickstart.html.
+at https://www.bytereef.org/mpdecimal/quickstart.html.
+---------+-------------+--------------+-------------+
| | decimal.py | _decimal | speedup |
diff --git a/Doc/whatsnew/3.5.rst b/Doc/whatsnew/3.5.rst
index 537007b42fc6bf..a5c2d9bb0874e2 100644
--- a/Doc/whatsnew/3.5.rst
+++ b/Doc/whatsnew/3.5.rst
@@ -1253,7 +1253,7 @@ imghdr
------
The :func:`~imghdr.what` function now recognizes the
-`OpenEXR `_ format
+`OpenEXR `_ format
(contributed by Martin Vignali and Claudiu Popa in :issue:`20295`),
and the `WebP `_ format
(contributed by Fabrice Aneche and Claudiu Popa in :issue:`20197`.)
diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst
index fd99682f3a4fac..2e9738721a77e9 100644
--- a/Doc/whatsnew/3.7.rst
+++ b/Doc/whatsnew/3.7.rst
@@ -611,7 +611,7 @@ Contributed by Barry Warsaw and Brett Cannon in :issue:`32248`.
.. seealso::
- `importlib_resources `_
+ `importlib_resources `_
-- a PyPI backport for earlier Python versions.