diff --git a/Doc/about.rst b/Doc/about.rst
index 678168b2df1..3ea311fa629 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.sf.net/rst.html
+.. _reStructuredText: http://docutils.sourceforge.net/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
diff --git a/Doc/conf.py b/Doc/conf.py
index e6f22a3528a..f803de238e7 100644
--- a/Doc/conf.py
+++ b/Doc/conf.py
@@ -172,6 +172,16 @@
# 'cfunction': [...]
}
+
+# Options for the link checker
+# ----------------------------
+
+# Ignore certain URLs.
+linkcheck_ignore = [r'https://bugs.python.org/(issue)?\d+',
+ # Ignore PEPs for now, they all have permanent redirects.
+ r'http://www.python.org/dev/peps/pep-\d+']
+
+
# Options for extensions
# ----------------------
diff --git a/Doc/distutils/setupscript.rst b/Doc/distutils/setupscript.rst
index 7fe73b9255d..3edcf878c7c 100644
--- a/Doc/distutils/setupscript.rst
+++ b/Doc/distutils/setupscript.rst
@@ -628,7 +628,7 @@ Notes:
'long string'
Multiple lines of plain text in reStructuredText format (see
- http://docutils.sf.net/).
+ http://docutils.sourceforge.net/).
'list of strings'
See below.
diff --git a/Doc/faq/extending.rst b/Doc/faq/extending.rst
index 252050eabc4..02bba591cfd 100644
--- a/Doc/faq/extending.rst
+++ b/Doc/faq/extending.rst
@@ -50,7 +50,7 @@ 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
-`__, `CXX
+`__, `CXX
`_ `Boost
`_, or `Weave
`_ are also
diff --git a/Doc/faq/general.rst b/Doc/faq/general.rst
index 08c5427084a..e3ea9626479 100644
--- a/Doc/faq/general.rst
+++ b/Doc/faq/general.rst
@@ -53,7 +53,7 @@ commercial use, to sell copies of Python in source or binary form (modified or
unmodified), or to sell products that incorporate Python in some form. We would
still like to know about all commercial use of Python, of course.
-See `the PSF license page `_ to find further
+See `the PSF license page `_ to find further
explanations and a link to the full text of the license.
The Python logo is trademarked, and in certain cases permission is required to
@@ -178,8 +178,8 @@ How do I get documentation on Python?
.. XXX mention py3k
The standard documentation for the current stable version of Python is available
-at https://docs.python.org/. PDF, plain text, and downloadable HTML versions are
-also available at https://docs.python.org/download.html.
+at https://docs.python.org/3/. PDF, plain text, and downloadable HTML versions are
+also available at https://docs.python.org/3/download.html.
The documentation is written in reStructuredText and processed by `the Sphinx
documentation tool `__. The reStructuredText source for
@@ -200,7 +200,7 @@ Is there a newsgroup or mailing list devoted to Python?
-------------------------------------------------------
There is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list,
-`python-list `_. The
+`python-list `_. The
newsgroup and mailing list are gatewayed into each other -- if you can read news
it's unnecessary to subscribe to the mailing list.
:newsgroup:`comp.lang.python` is high-traffic, receiving hundreds of postings
@@ -209,7 +209,7 @@ every day, and Usenet readers are often more able to cope with this volume.
Announcements of new software releases and events can be found in
comp.lang.python.announce, a low-traffic moderated list that receives about five
postings per day. It's available as `the python-announce mailing list
-`_.
+`_.
More info about other mailing lists and newsgroups
can be found at https://www.python.org/community/lists/.
diff --git a/Doc/faq/gui.rst b/Doc/faq/gui.rst
index 6f398fd7a3d..f130d33cae9 100644
--- a/Doc/faq/gui.rst
+++ b/Doc/faq/gui.rst
@@ -58,7 +58,7 @@ Qt
---
There are bindings available for the Qt toolkit (using either `PyQt
-`_ or `PySide
+`_ or `PySide
`_) and for KDE (`PyKDE `__).
PyQt is currently more mature than PySide, but you must buy a PyQt license from
`Riverbank Computing `_
diff --git a/Doc/faq/library.rst b/Doc/faq/library.rst
index 3c47687fcf8..d71a9b47fbd 100644
--- a/Doc/faq/library.rst
+++ b/Doc/faq/library.rst
@@ -181,7 +181,7 @@ How do I create documentation from doc strings?
The :mod:`pydoc` module can create HTML from the doc strings in your Python
source code. An alternative for creating API documentation purely from
-docstrings is `epydoc `_. `Sphinx
+docstrings is `epydoc `_. `Sphinx
`_ can also include docstring content.
@@ -773,7 +773,7 @@ socket to select to check if it's writable.
.. note::
The :mod:`asyncore` module presents a framework-like approach to the problem
of writing non-blocking networking code.
- The third-party `Twisted `_ library is
+ The third-party `Twisted `_ library is
a popular and feature-rich alternative.
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index 05a43846dd9..1a71c47cb83 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -61,7 +61,7 @@ Yes.
PyChecker is a static analysis tool that finds bugs in Python source code and
warns about code complexity and style. You can get PyChecker from
-http://pychecker.sf.net.
+http://pychecker.sourceforge.net/.
`Pylint `_ is another tool that checks
if a module satisfies a coding standard, and also makes it possible to write
diff --git a/Doc/howto/cporting.rst b/Doc/howto/cporting.rst
index 6ebcc4164df..d7a70863025 100644
--- a/Doc/howto/cporting.rst
+++ b/Doc/howto/cporting.rst
@@ -252,6 +252,6 @@ Other options
=============
If you are writing a new extension module, you might consider `Cython
-`_. It translates a Python-like language to C. The
+`_. It translates a Python-like language to C. The
extension modules it creates are compatible with Python 3 and Python 2.
diff --git a/Doc/howto/pyporting.rst b/Doc/howto/pyporting.rst
index 4f76bde6414..68fa33ab8e3 100644
--- a/Doc/howto/pyporting.rst
+++ b/Doc/howto/pyporting.rst
@@ -609,11 +609,10 @@ please email the python-porting_ mailing list.
.. _future: http://python-future.org/
.. _modernize: https://github.com/mitsuhiko/python-modernize
.. _Porting to Python 3: http://python3porting.com/
-.. _PyPI: https://pypi.python.org/
+.. _PyPI: https://pypi.python.org/pypi
.. _Python 3 Packages: https://pypi.python.org/pypi?:action=browse&c=533&show=all
.. _Python 3 Q & A: http://ncoghlan-devs-python-notes.readthedocs.org/en/latest/python3/questions_and_answers.html
.. _python-porting: https://mail.python.org/mailman/listinfo/python-porting
.. _six: https://pypi.python.org/pypi/six
.. _tox: https://pypi.python.org/pypi/tox
.. _trove classifiers: https://pypi.python.org/pypi?%3Aaction=list_classifiers
-
diff --git a/Doc/howto/webservers.rst b/Doc/howto/webservers.rst
index ab233f4b174..9ce90952c06 100644
--- a/Doc/howto/webservers.rst
+++ b/Doc/howto/webservers.rst
@@ -515,7 +515,7 @@ Popular template engines include:
* `Mako `_
* `Genshi `_
- * `Jinja `_
+ * `Jinja `_
.. seealso::
diff --git a/Doc/library/asyncio.rst b/Doc/library/asyncio.rst
index fb1d6597e59..690019859b0 100644
--- a/Doc/library/asyncio.rst
+++ b/Doc/library/asyncio.rst
@@ -26,7 +26,7 @@ Here is a more detailed list of the package contents:
implementations;
* :ref:`transport ` and :ref:`protocol ` abstractions
- (similar to those in `Twisted `_);
+ (similar to those in `Twisted `_);
* concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls, and
others (some may be system-dependent);
diff --git a/Doc/library/crypto.rst b/Doc/library/crypto.rst
index 469ede4982c..8ad24c8d4fb 100644
--- a/Doc/library/crypto.rst
+++ b/Doc/library/crypto.rst
@@ -25,6 +25,5 @@ Here's an overview:
Hardcore cypherpunks will probably find the cryptographic modules written by
A.M. Kuchling of further interest; the package contains modules for various
encryption algorithms, most notably AES. These modules are not distributed with
-Python but available separately. See the URL
-http://www.pycrypto.org for more information.
-
+Python but available separately. See the URL http://www.pycrypto.org/ for more
+information.
diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst
index 51b0f6778a8..7a9f93cd238 100644
--- a/Doc/library/datetime.rst
+++ b/Doc/library/datetime.rst
@@ -560,7 +560,7 @@ Instance methods:
Return a 3-tuple, (ISO year, ISO week number, ISO weekday).
The ISO calendar is a widely used variant of the Gregorian calendar. See
- http://www.phys.uu.nl/~vgent/calendar/isocalendar.htm for a good
+ http://www.staff.science.uu.nl/~gent0113/calendar/isocalendar.htm for a good
explanation.
The ISO year consists of 52 or 53 full weeks, and where a week starts on a
diff --git a/Doc/library/email.rst b/Doc/library/email.rst
index e9c62f2db05..95c0a2f4a86 100644
--- a/Doc/library/email.rst
+++ b/Doc/library/email.rst
@@ -262,7 +262,7 @@ Differences from :mod:`mimelib`
-------------------------------
The :mod:`email` package was originally prototyped as a separate library called
-`mimelib `_. Changes have been made so that method names
+`mimelib `_. Changes have been made so that method names
are more consistent, and some methods or modules have either been added or
removed. The semantics of some of the methods have also changed. For the most
part, any functionality available in :mod:`mimelib` is still available in the
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst
index 65638d4064a..beac9d72b7c 100644
--- a/Doc/library/importlib.rst
+++ b/Doc/library/importlib.rst
@@ -29,7 +29,7 @@ generically as an :term:`importer`) to participate in the import process.
:ref:`import`
The language reference for the :keyword:`import` statement.
- `Packages specification `__
+ `Packages specification `__
Original specification of packages. Some semantics have changed since
the writing of this document (e.g. redirecting based on ``None``
in :data:`sys.modules`).
diff --git a/Doc/library/mimetypes.rst b/Doc/library/mimetypes.rst
index 12c9eca6e85..f836243e7ad 100644
--- a/Doc/library/mimetypes.rst
+++ b/Doc/library/mimetypes.rst
@@ -44,7 +44,7 @@ the information :func:`init` sets up.
The optional *strict* argument is a flag specifying whether the list of known MIME types
is limited to only the official types `registered with IANA
- `_.
+ `_.
When *strict* is ``True`` (the default), only the IANA types are supported; when
*strict* is ``False``, some additional non-standard but commonly used MIME types
are also recognized.
diff --git a/Doc/library/othergui.rst b/Doc/library/othergui.rst
index 73f868a71b4..efb7cff9dc3 100644
--- a/Doc/library/othergui.rst
+++ b/Doc/library/othergui.rst
@@ -22,7 +22,7 @@ available for Python:
`GNOME `_. An online `tutorial
`_ is available.
- `PyQt `_
+ `PyQt `_
PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an
extensive C++ GUI application development framework that is
available for Unix, Windows and Mac OS X. :program:`sip` is a tool
@@ -34,7 +34,7 @@ available for Python:
with Python and Qt `_, by Mark
Summerfield.
- `PySide `_
+ `PySide `_
is a newer binding to the Qt toolkit, provided by Nokia.
Compared to PyQt, its licensing scheme is friendlier to non-open source
applications.
diff --git a/Doc/library/pyexpat.rst b/Doc/library/pyexpat.rst
index cb8ab65d644..78aa99c48ee 100644
--- a/Doc/library/pyexpat.rst
+++ b/Doc/library/pyexpat.rst
@@ -868,5 +868,5 @@ The ``errors`` module has the following attributes:
.. [#] The encoding string included in XML output should conform to the
appropriate standards. For example, "UTF-8" is valid, but "UTF8" is
not. See http://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl
- and http://www.iana.org/assignments/character-sets\ .
+ and http://www.iana.org/assignments/character-sets/character-sets.xhtml.
diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
index a470c4df612..6599f88f723 100644
--- a/Doc/library/ssl.rst
+++ b/Doc/library/ssl.rst
@@ -1976,10 +1976,10 @@ successful call of :func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` or
`RFC 4366: Transport Layer Security (TLS) Extensions `_
Blake-Wilson et. al.
- `RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 `_
+ `RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 `_
T. Dierks et. al.
- `RFC 6066: Transport Layer Security (TLS) Extensions `_
+ `RFC 6066: Transport Layer Security (TLS) Extensions `_
D. Eastlake
`IANA TLS: Transport Layer Security (TLS) Parameters `_
diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst
index 0715a43e9aa..40e97bf0f10 100644
--- a/Doc/library/tkinter.rst
+++ b/Doc/library/tkinter.rst
@@ -22,7 +22,7 @@ this should open a window demonstrating a simple Tk interface.
`TKDocs `_
Extensive tutorial plus friendlier widget pages for some of the widgets.
- `Tkinter reference: a GUI for Python `_
+ `Tkinter reference: a GUI for Python `_
On-line reference material.
`Tkinter docs from effbot `_
diff --git a/Doc/library/xml.dom.minidom.rst b/Doc/library/xml.dom.minidom.rst
index 89c660af03d..ff5c270d9f6 100644
--- a/Doc/library/xml.dom.minidom.rst
+++ b/Doc/library/xml.dom.minidom.rst
@@ -252,4 +252,4 @@ utility to most DOM users.
"UTF8" is not valid in an XML document's declaration, even though
Python accepts it as an encoding name.
See http://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl
- and http://www.iana.org/assignments/character-sets\ .
+ and http://www.iana.org/assignments/character-sets/character-sets.xhtml.
diff --git a/Doc/library/xml.etree.elementtree.rst b/Doc/library/xml.etree.elementtree.rst
index fc0b79e04ae..3263dc2a028 100644
--- a/Doc/library/xml.etree.elementtree.rst
+++ b/Doc/library/xml.etree.elementtree.rst
@@ -1112,4 +1112,4 @@ Exceptions
.. [#] The encoding string included in XML output should conform to the
appropriate standards. For example, "UTF-8" is valid, but "UTF8" is
not. See http://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl
- and http://www.iana.org/assignments/character-sets.
+ and http://www.iana.org/assignments/character-sets/character-sets.xhtml.
diff --git a/Doc/using/windows.rst b/Doc/using/windows.rst
index 93c67a79705..c05f72a853a 100644
--- a/Doc/using/windows.rst
+++ b/Doc/using/windows.rst
@@ -554,7 +554,7 @@ Compiling Python on Windows
If you want to compile CPython yourself, first thing you should do is get the
`source `_. You can download either the
latest release's source or just grab a fresh `checkout
-`_.
+`_.
The source tree contains a build solution and project files for Microsoft
Visual C++, which is the compiler used to build the official Python releases.
@@ -593,7 +593,7 @@ Other resources
.. seealso::
- `Python Programming On Win32 `_
+ `Python Programming On Win32 `_
"Help for Windows Programmers"
by Mark Hammond and Andy Robinson, O'Reilly Media, 2000,
ISBN 1-56592-621-8
diff --git a/Doc/whatsnew/2.0.rst b/Doc/whatsnew/2.0.rst
index 6b7e5cfa3f7..2c952acd119 100644
--- a/Doc/whatsnew/2.0.rst
+++ b/Doc/whatsnew/2.0.rst
@@ -1003,7 +1003,7 @@ Relationship to PyXML
The XML Special Interest Group has been working on XML-related Python code for a
while. Its code distribution, called PyXML, is available from the SIG's Web
-pages at https://www.python.org/sigs/xml-sig/. The PyXML distribution also used
+pages at https://www.python.org/community/sigs/current/xml-sig. The PyXML distribution also used
the package name ``xml``. If you've written programs that used PyXML, you're
probably wondering about its compatibility with the 2.0 :mod:`xml` package.
diff --git a/Doc/whatsnew/2.3.rst b/Doc/whatsnew/2.3.rst
index 691447cca39..f478c090b13 100644
--- a/Doc/whatsnew/2.3.rst
+++ b/Doc/whatsnew/2.3.rst
@@ -1330,7 +1330,7 @@ complete list of changes, or look through the CVS logs for all the details.
(Contributed by Kevin O'Connor.)
* The IDLE integrated development environment has been updated using the code
- from the IDLEfork project (http://idlefork.sf.net). The most notable feature is
+ from the IDLEfork project (http://idlefork.sourceforge.net). The most notable feature is
that the code being developed is now executed in a subprocess, meaning that
there's no longer any need for manual ``reload()`` operations. IDLE's core code
has been incorporated into the standard library as the :mod:`idlelib` package.
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index 530aaf37b1f..e7632652693 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -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.
@@ -2363,7 +2363,7 @@ changes, or look through the Subversion logs for all the details.
negotiation itself. (Patch contributed by Bill Fenner;
:issue:`829951`.)
-* The :mod:`socket` module now supports TIPC (http://tipc.sf.net),
+* The :mod:`socket` module now supports TIPC (http://tipc.sourceforge.net/),
a high-performance non-IP-based protocol designed for use in clustered
environments. TIPC addresses are 4- or 5-tuples.
(Contributed by Alberto Bertogli; :issue:`1646`.)
diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst
index a4659f0f437..ed1446c2570 100644
--- a/Doc/whatsnew/2.7.rst
+++ b/Doc/whatsnew/2.7.rst
@@ -708,7 +708,7 @@ Some smaller changes made to the core Python language are:
The :func:`contextlib.nested` function provides a very similar
function, so it's no longer necessary and has been deprecated.
- (Proposed in http://codereview.appspot.com/53094; implemented by
+ (Proposed in https://codereview.appspot.com/53094; implemented by
Georg Brandl.)
* Conversions between floating-point numbers and strings are
diff --git a/Doc/whatsnew/3.1.rst b/Doc/whatsnew/3.1.rst
index 42c44a04838..f272da4de96 100644
--- a/Doc/whatsnew/3.1.rst
+++ b/Doc/whatsnew/3.1.rst
@@ -172,7 +172,7 @@ Some smaller changes made to the core Python language are:
needed and is now deprecated.
(Contributed by Georg Brandl and Mattias Brändström;
- `appspot issue 53094 `_.)
+ `appspot issue 53094 `_.)
* ``round(x, n)`` now returns an integer if *x* is an integer.
Previously it returned a float::
diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst
index 3b45459e9e6..5171f3c1a52 100644
--- a/Doc/whatsnew/3.2.rst
+++ b/Doc/whatsnew/3.2.rst
@@ -2478,7 +2478,7 @@ members of the community to create and share external changesets. See
To learn to use the new version control system, see the `tutorial by Joel
Spolsky `_ or the `Guide to Mercurial Workflows
-`_.
+`_.
Build and C API Changes
@@ -2649,7 +2649,7 @@ require changes to your code:
outfile.write(line)
(Contributed by Georg Brandl and Mattias Brändström;
- `appspot issue 53094 `_.)
+ `appspot issue 53094 `_.)
* :func:`struct.pack` now only allows bytes for the ``s`` string pack code.
Formerly, it would accept text arguments and implicitly encode them to bytes
diff --git a/Doc/whatsnew/3.3.rst b/Doc/whatsnew/3.3.rst
index 033be972643..6ac3310b26b 100644
--- a/Doc/whatsnew/3.3.rst
+++ b/Doc/whatsnew/3.3.rst
@@ -1891,7 +1891,7 @@ socket
* The :class:`~socket.socket` class now supports the PF_RDS protocol family
(http://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and
- http://oss.oracle.com/projects/rds/).
+ https://oss.oracle.com/projects/rds/).
* The :class:`~socket.socket` class now supports the ``PF_SYSTEM`` protocol
family on OS X. (Contributed by Michael Goderbauer in :issue:`13777`.)
diff --git a/Doc/whatsnew/changelog.rst b/Doc/whatsnew/changelog.rst
index 57e2dabffaa..07f90948bd0 100644
--- a/Doc/whatsnew/changelog.rst
+++ b/Doc/whatsnew/changelog.rst
@@ -3,4 +3,3 @@ Changelog
+++++++++
.. miscnews:: ../../Misc/NEWS
-