diff --git a/Doc/about.rst b/Doc/about.rst
index f0b908487b2..0ce35667924 100644
--- a/Doc/about.rst
+++ b/Doc/about.rst
@@ -6,7 +6,7 @@ About these documents
These documents are generated from `reStructuredText`_ sources by `Sphinx`_, a
document processor specifically written for the Python documentation.
-.. _reStructuredText: http://docutils.sourceforge.net/rst.html
+.. _reStructuredText: https://docutils.sourceforge.io/rst.html
.. _Sphinx: http://sphinx-doc.org/
.. In the online version of these documents, you can submit comments and suggest
@@ -21,7 +21,7 @@ Many thanks go to:
* Fred L. Drake, Jr., the creator of the original Python documentation toolset
and writer of much of the content;
-* the `Docutils `_ project for creating
+* the `Docutils `_ project for creating
reStructuredText and the Docutils suite;
* Fredrik Lundh for his Alternative Python Reference project from which Sphinx
got many good ideas.
diff --git a/Doc/faq/general.rst b/Doc/faq/general.rst
index bc4130aaa45..510ebb5cf90 100644
--- a/Doc/faq/general.rst
+++ b/Doc/faq/general.rst
@@ -330,7 +330,7 @@ different companies and organizations.
High-profile Python projects include `the Mailman mailing list manager
`_ and `the Zope application server
-`_. Several Linux distributions, most notably `Red Hat
+`_. Several Linux distributions, most notably `Red Hat
`_, have written part or all of their installer and
system administration software in Python. Companies that use Python internally
include Google, Yahoo, and Lucasfilm Ltd.
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index 5b5c357d594..6514c00d111 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -95,7 +95,7 @@ The following packages can help with the creation of console and GUI
executables:
* `Nuitka `_ (Cross-platform)
-* `PyInstaller `_ (Cross-platform)
+* `PyInstaller `_ (Cross-platform)
* `PyOxidizer `_ (Cross-platform)
* `cx_Freeze `_ (Cross-platform)
* `py2app `_ (macOS only)
diff --git a/Doc/howto/curses.rst b/Doc/howto/curses.rst
index 48add160c88..83d80471ffc 100644
--- a/Doc/howto/curses.rst
+++ b/Doc/howto/curses.rst
@@ -542,6 +542,6 @@ learn more about submitting patches to Python.
* `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" `_:
+* `"Console Applications with Urwid" `_:
video of a PyCon CA 2012 talk demonstrating some applications written using
Urwid.
diff --git a/Doc/install/index.rst b/Doc/install/index.rst
index 0923267d066..3fc670b1914 100644
--- a/Doc/install/index.rst
+++ b/Doc/install/index.rst
@@ -1066,7 +1066,7 @@ normal libraries do.
.. seealso::
- `Building Python modules on MS Windows platform with MinGW `_
+ `Building Python modules on MS Windows platform with MinGW `_
Information about building the required libraries for the MinGW environment.
diff --git a/Doc/library/random.rst b/Doc/library/random.rst
index 91304005277..ad4a1ce7c31 100644
--- a/Doc/library/random.rst
+++ b/Doc/library/random.rst
@@ -494,7 +494,7 @@ Example of `statistical bootstrapping
`_ using resampling
with replacement to estimate a confidence interval for the mean of a sample::
- # http://statistics.about.com/od/Applications/a/Example-Of-Bootstrapping.htm
+ # https://www.thoughtco.com/example-of-bootstrapping-3126155
from statistics import fmean as mean
from random import choices
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 33fd2831228..2480e71dded 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -1453,7 +1453,7 @@ objects that compare equal might have different :attr:`~range.start`,
.. seealso::
- * The `linspace recipe `_
+ * The `linspace recipe `_
shows how to implement a lazy version of range suitable for floating
point applications.
diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst
index 0447b15e26f..0d2b344d24f 100644
--- a/Doc/library/tkinter.rst
+++ b/Doc/library/tkinter.rst
@@ -90,7 +90,7 @@ Tcl
(see `Threading model`_ for details).
Tk
- Tk is a `Tcl package `_ implemented in C
+ Tk is a `Tcl package `_ implemented in C
that adds custom commands to create and manipulate GUI widgets. Each
:class:`Tk` object embeds its own Tcl interpreter instance with Tk loaded into
it. Tk's widgets are very customizable, though at the cost of a dated appearance.
diff --git a/Doc/whatsnew/2.3.rst b/Doc/whatsnew/2.3.rst
index 745b0aa2205..55061d2a46b 100644
--- a/Doc/whatsnew/2.3.rst
+++ b/Doc/whatsnew/2.3.rst
@@ -1082,7 +1082,7 @@ Here are all of the changes that Python 2.3 makes to the core Python language.
hierarchy. Classic classes are unaffected by this change. Python 2.2
originally used a topological sort of a class's ancestors, but 2.3 now uses the
C3 algorithm as described in the paper `"A Monotonic Superclass Linearization
- for Dylan" `_. To
+ for Dylan" `_. To
understand the motivation for this change, read Michele Simionato's article
`"Python 2.3 Method Resolution Order" `_, or
read the thread on python-dev starting with the message at
diff --git a/Doc/whatsnew/2.5.rst b/Doc/whatsnew/2.5.rst
index f580c822dfd..ea785121db9 100644
--- a/Doc/whatsnew/2.5.rst
+++ b/Doc/whatsnew/2.5.rst
@@ -882,7 +882,7 @@ in an :c:type:`int`. The C compilers for most 64-bit platforms still define
:c:type:`int` as a 32-bit type, so that meant that lists could only hold up to
``2**31 - 1`` = 2147483647 items. (There are actually a few different
programming models that 64-bit C compilers can use -- see
-http://www.unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the
+https://unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the
most commonly available model leaves :c:type:`int` as 32 bits.)
A limit of 2147483647 items doesn't really matter on a 32-bit platform because
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index eaca3165c07..3d0d18746a2 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -155,7 +155,7 @@ up different products and import some of the bugs and patches from
SourceForge. Four different trackers were examined: `Jira
`__,
`Launchpad `__,
-`Roundup `__, and
+`Roundup `__, and
`Trac `__.
The committee eventually settled on Jira
and Roundup as the two candidates. Jira is a commercial product that
@@ -187,7 +187,7 @@ other projects wishing to move from SourceForge to Roundup.
https://bugs.jython.org:
The Jython bug tracker.
- http://roundup.sourceforge.net/
+ https://roundup.sourceforge.io/
Roundup downloads and documentation.
https://svn.python.org/view/tracker/importer/
@@ -238,7 +238,7 @@ have adopted Sphinx as their documentation tool.
`Sphinx `__
Documentation and code for the Sphinx toolchain.
- `Docutils `__
+ `Docutils `__
The underlying reStructuredText parser and toolset.
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
index 311f9db10ff..7e7f4f33d6e 100644
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -1,6 +1,6 @@
"""Test date/time type.
-See http://www.zope.org/Members/fdrake/DateTimeWiki/TestCases
+See https://www.zope.dev/Members/fdrake/DateTimeWiki/TestCases
"""
import io
import itertools
diff --git a/Modules/_datetimemodule.c b/Modules/_datetimemodule.c
index ba24e3c1248..eca7c6b29d7 100644
--- a/Modules/_datetimemodule.c
+++ b/Modules/_datetimemodule.c
@@ -1,5 +1,5 @@
/* C implementation for the date/time type documented at
- * http://www.zope.org/Members/fdrake/DateTimeWiki/FrontPage
+ * https://www.zope.dev/Members/fdrake/DateTimeWiki/FrontPage
*/
/* bpo-35081: Defining this prevents including the C API capsule;