cpython: ce5ef48b5140 (original) (raw)
--- a/Doc/distributing/index.rst +++ b/Doc/distributing/index.rst @@ -35,7 +35,7 @@ Key terms repository of open source licensed packages made available for use by other Python users
- https://packaging.python.org/en/latest/future.html`__ are the group of
- https://www.pypa.io/
__ are the group of[](#l1.8) developers and documentation authors responsible for the maintenance and[](#l1.9) evolution of the standard packaging tools and the associated metadata and[](#l1.10) file format standards. They maintain a variety of tools, documentation[](#l1.11) @@ -62,7 +62,7 @@ Key terms[](#l1.12) locally.[](#l1.13) [](#l1.14) .. _setuptools: https://setuptools.pypa.io/en/latest/setuptools.html[](#l1.15) -.. _wheel: http://wheel.readthedocs.org[](#l1.16) +.. _wheel: https://wheel.readthedocs.org[](#l1.17) [](#l1.18) Open source licensing and collaboration[](#l1.19) =======================================[](#l1.20) @@ -111,7 +111,7 @@ by invoking the ``pip`` module at the co[](#l1.21) The Python Packaging User Guide includes more details on the
currently recommended tools`_. -.. _currently recommended tools: https://packaging.python.org/en/latest/current.html#packaging-tool-recommendations[](#l1.25) +.. _currently recommended tools: https://packaging.python.org/en/latest/current/#packaging-tool-recommendations[](#l1.26) Reading the guide ================= @@ -124,11 +124,11 @@ involved in creating a project:
- https://packaging.python.org/en/latest/distributing/[](#l1.35) .. _Building and packaging the project: [](#l1.36)
- https://packaging.python.org/en/latest/distributing/#packaging-your-project[](#l1.38) .. _Uploading the project to the Python Packaging Index: [](#l1.39)
How do I...? @@ -160,11 +160,11 @@ Python Packaging User Guide for more inf .. seealso:: `Python Packaging User Guide: Binary Extensions
.. other topics: Once the Development & Deployment part of PPUG is fleshed out, some of those sections should be linked from new questions here (most notably, we should have a question about avoiding depending on PyPI that links to
--- a/Doc/distutils/apiref.rst
+++ b/Doc/distutils/apiref.rst
@@ -1822,7 +1822,7 @@ Subclasses of :class:Command
must defi
Builds a Windows Installer
_ (.msi) binary package.
- .. _Windows Installer: http://msdn.microsoft.com/en-us/library/cc185688(VS.85).aspx[](#l2.7)
- .. _Windows Installer: https://msdn.microsoft.com/en-us/library/cc185688(VS.85).aspx[](#l2.8)
In most cases, the
bdist_msi
installer is a better choice than thebdist_wininst
installer, because it provides better support for
--- a/Doc/extending/extending.rst
+++ b/Doc/extending/extending.rst
@@ -27,7 +27,7 @@ your system setup; details are given in
avoid writing C extensions and preserve portability to other implementations.
For example, if your use case is calling C library functions or system calls,
you should consider using the :mod:ctypes
module or the `cffi
- http://cffi.readthedocs.org`_ library rather than writing custom C code.
- https://cffi.readthedocs.org`_ library rather than writing custom C code. These modules let you write Python code to interface with C code and are more portable between implementations of Python than writing and compiling a C extension module.
--- a/Doc/extending/index.rst +++ b/Doc/extending/index.rst @@ -32,7 +32,7 @@ approaches to creating C and C++ extensi .. seealso::
Python Packaging User Guide: Binary Extensions <https://packaging.python.org/en/latest/extensions.html>
_
Python Packaging User Guide: Binary Extensions <https://packaging.python.org/en/latest/extensions/>
_ The Python Packaging User Guide not only covers several available tools that simplify the creation of binary extensions, but also discusses the various reasons why creating an extension module may be
--- a/Doc/faq/design.rst
+++ b/Doc/faq/design.rst
@@ -370,7 +370,7 @@ Practical answer:
Cython <http://cython.org/>
_ and Pyrex <http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/>
compile a modified version of Python with optional annotations into C
-extensions. Weave <http://docs.scipy.org/doc/scipy-dev/reference/tutorial/weave.html>
makes it easy to
+extensions. Weave <https://scipy.github.io/devdocs/tutorial/weave.html>
_ makes it easy to
intermingle Python and C code in various ways to increase performance.
Nuitka <http://www.nuitka.net/>
_ is an up-and-coming compiler of Python
into C++ code, aiming to support the full Python language.
--- a/Doc/faq/extending.rst
+++ b/Doc/faq/extending.rst
@@ -50,10 +50,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 <http://www.swig.org>
. SIP[](#l6.6) -<http://www.riverbankcomputing.co.uk/software/sip/intro>
, CXX[](#l6.7) +<https://riverbankcomputing.com/software/sip/intro>
, CXX[](#l6.8) <http://cxx.sourceforge.net/>
Boost[](#l6.9) <http://www.boost.org/libs/python/doc/index.html>
, or Weave[](#l6.10) -<http://docs.scipy.org/doc/scipy-dev/reference/tutorial/weave.html>
are also
+https://scipy.github.io/devdocs/tutorial/weave.html`_ are also
alternatives for wrapping C++ libraries.
--- a/Doc/faq/general.rst
+++ b/Doc/faq/general.rst
@@ -159,7 +159,7 @@ How do I obtain a copy of the Python sou
--------------------------------------------
The latest Python source distribution is always available from python.org, at
-https://www.python.org/download/. The latest development sources can be obtained
+https://www.python.org/downloads/. The latest development sources can be obtained
via anonymous Mercurial access at https://hg.python.org/cpython.[](#l7.9)
The source distribution is a gzipped tar file containing the complete C source,
@@ -218,7 +218,7 @@ can be found at https://www.python.org/c[](#l7.12)
How do I get a beta test version of Python?
-------------------------------------------
-Alpha and beta releases are available from https://www.python.org/download/. All
+Alpha and beta releases are available from https://www.python.org/downloads/. All
releases are announced on the comp.lang.python and comp.lang.python.announce
newsgroups and on the Python home page at https://www.python.org/; an RSS feed of
news is available.
@@ -273,7 +273,7 @@ The Python project's infrastructure is l
www.python.org <https://www.python.org>
_ is graciously hosted by Rackspace[](#l7.22) <http://www.rackspace.com>
, with CDN caching provided by Fastly[](#l7.23) <https://www.fastly.com>
. Upfront Systems[](#l7.24) -<http://www.upfrontsystems.co.za>
_ hosts bugs.python.org[](#l7.25) +<http://www.upfrontsystems.co.za/>
_ hosts bugs.python.org[](#l7.26) <https://bugs.python.org>
. Many other Python services like the Wiki[](#l7.27) <https://wiki.python.org>
are hosted by Oregon State[](#l7.28) University Open Source Lab <https://osuosl.org>
.
@@ -284,7 +284,7 @@ Why is it called Python?
When he began implementing Python, Guido van Rossum was also reading the
published scripts from "Monty Python's Flying Circus"[](#l7.33) -<http://en.wikipedia.org/wiki/Monty_Python>
__, a BBC comedy series from the 1970s. Van Rossum
+https://en.wikipedia.org/wiki/Monty_Python__, a BBC comedy series from the 1970s. Van Rossum[](#l7.35) thought he needed a name that was short, unique, and slightly mysterious, so he[](#l7.36) decided to call the language Python.[](#l7.37) [](#l7.38) @@ -313,7 +313,7 @@ guaranteed that interfaces will remain t[](#l7.39) releases.[](#l7.40) [](#l7.41) The latest stable releases can always be found on the
Python download page
-https://www.python.org/download/_. There are two recommended production-ready[](#l7.43) +<https://www.python.org/downloads/>
. There are two recommended production-ready
versions at this point in time, because at the moment there are two branches of
stable releases: 2.x and 3.x. Python 3.x may be less useful than 2.x, since
currently there is more third party software available for Python 2 than for
@@ -345,7 +345,7 @@ different companies and organizations.
High-profile Python projects include the Mailman mailing list manager[](#l7.49) <http://www.list.org>
_ and the Zope application server[](#l7.50) <http://www.zope.org>
. Several Linux distributions, most notably Red Hat[](#l7.51) -<http://www.redhat.com>
, have written part or all of their installer and
+https://www.redhat.com`_, 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.
--- a/Doc/faq/gui.rst
+++ b/Doc/faq/gui.rst
@@ -29,7 +29,7 @@ Tkinter
Standard builds of Python include an object-oriented interface to the Tcl/Tk
widget set, called :ref:tkinter <Tkinter>
. This is probably the easiest to
install (since it comes included with most
-binary distributions <https://www.python.org/download/>
_ of Python) and use.
+binary distributions <https://www.python.org/downloads/>
_ of Python) and use.
For more info about Tk, including pointers to the source, see the
Tcl/Tk home page <http://www.tcl.tk>
. Tcl/Tk is fully portable to the
Mac OS X, Windows, and Unix platforms.
@@ -58,19 +58,19 @@ Qt
---
There are bindings available for the Qt toolkit (using either PyQt[](#l8.15) -<http://www.riverbankcomputing.co.uk/software/pyqt/intro>
or PySide[](#l8.16) -<http://www.pyside.org/>
) and for KDE (PyKDE <https://techbase.kde.org/Development/Languages/Python>
__).
+https://riverbankcomputing.com/software/pyqt/intro_ or
PySide
+https://wiki.qt.io/PySide_) and for KDE (
PyKDE https://techbase.kde.org/Development/Languages/Python__).[](#l8.19) PyQt is currently more mature than PySide, but you must buy a PyQt license from[](#l8.20) -
Riverbank Computing http://www.riverbankcomputing.co.uk/software/pyqt/license_[](#l8.21) +
Riverbank Computing https://www.riverbankcomputing.com/commercial/license-faq_[](#l8.22) if you want to write proprietary applications. PySide is free for all applications.[](#l8.23) [](#l8.24) Qt 4.5 upwards is licensed under the LGPL license; also, commercial licenses[](#l8.25) -are available from
The Qt Company http://www.qt.io/licensing/_.[](#l8.26) +are available from
The Qt Company https://www.qt.io/licensing/_.[](#l8.27) [](#l8.28) Gtk+[](#l8.29) ----[](#l8.30) [](#l8.31) -The
GObject introspection bindings https://live.gnome.org/PyGObject_[](#l8.32) +The
GObject introspection bindings https://wiki.gnome.org/Projects/PyGObject_[](#l8.33) for Python allow you to write GTK+ 3 applications. There is also a[](#l8.34)
Python GTK+ 3 Tutorial http://python-gtk-3-tutorial.readthedocs.org/en/latest/`.
--- a/Doc/faq/library.rst +++ b/Doc/faq/library.rst @@ -619,7 +619,7 @@ For Win32, POSIX (Linux, BSD, etc.), Jyt For Unix, see a Usenet post by Mitch Chapman:
Why doesn't closing sys.stdout (stdin, stderr) really close it?
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -63,7 +63,7 @@ PyChecker is a static analysis tool that
warns about code complexity and style. You can get PyChecker from
http://pychecker.sourceforge.net/.[](#l10.5)
-Pylint <http://www.logilab.org/projects/pylint>
_ is another tool that checks
+Pylint <http://www.pylint.org/>
_ is another tool that checks
if a module satisfies a coding standard, and also makes it possible to write
plug-ins to add a custom feature. In addition to the bug checking that
PyChecker performs, Pylint offers some additional features such as checking line
--- a/Doc/howto/curses.rst +++ b/Doc/howto/curses.rst @@ -545,7 +545,7 @@ learn more about submitting patches to P a lengthy tutorial for C programmers.
The ncurses man page <http://linux.die.net/man/3/ncurses>
_The ncurses FAQ <http://invisible-island.net/ncurses/ncurses.faq.html>
-*"Use curses... don't swear" <http://www.youtube.com/watch?v=eN1eZtjLEnU>
: +*"Use curses... don't swear" <https://www.youtube.com/watch?v=eN1eZtjLEnU>
_: video of a PyCon 2013 talk on controlling terminals using curses or Urwid."Console Applications with Urwid" <http://www.pyvideo.org/video/1568/console-applications-with-urwid>
_: video of a PyCon CA 2012 talk demonstrating some applications written using
--- a/Doc/howto/functional.rst
+++ b/Doc/howto/functional.rst
@@ -332,7 +332,7 @@ substring.
List comprehensions and generator expressions (short form: "listcomps" and
"genexps") are a concise notation for such operations, borrowed from the
-functional programming language Haskell (http://www.haskell.org/). You can strip
+functional programming language Haskell (https://www.haskell.org/). You can strip
all the whitespace from a stream of strings with the following code::
line_list = [' line 1\n', 'line 2 \n', ...]
@@ -716,7 +716,7 @@ returns them in a tuple::
It doesn't construct an in-memory list and exhaust all the input iterators
before returning; instead tuples are constructed and returned only if they're
requested. (The technical term for this behaviour is lazy evaluation[](#l12.15) -<http://en.wikipedia.org/wiki/Lazy_evaluation>
.)
+https://en.wikipedia.org/wiki/Lazy_evaluation`.)
This iterator is intended to be used with iterables that are all of the same
length. If the iterables are of different lengths, the resulting stream will be
@@ -1199,7 +1199,7 @@ General
Structure and Interpretation of Computer Programs, by Harold Abelson and
Gerald Jay Sussman with Julie Sussman. Full text at
-http://mitpress.mit.edu/sicp/. In this classic textbook of computer science,
+https://mitpress.mit.edu/sicp/. In this classic textbook of computer science,
chapters 2 and 3 discuss the use of sequences and streams to organize the data
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
@@ -1208,12 +1208,12 @@ Python code.
http://www.defmacro.org/ramblings/fp.html: A general introduction to functional
programming that uses Java examples and has a lengthy historical introduction.
-http://en.wikipedia.org/wiki/Functional_programming: General Wikipedia entry
+https://en.wikipedia.org/wiki/Functional_programming: General Wikipedia entry
describing functional programming.
-http://en.wikipedia.org/wiki/Coroutine: Entry for coroutines.
+https://en.wikipedia.org/wiki/Coroutine: Entry for coroutines.
-http://en.wikipedia.org/wiki/Currying: Entry for the concept of currying.
+https://en.wikipedia.org/wiki/Currying: Entry for the concept of currying.
Python-specific
---------------
--- a/Doc/howto/logging-cookbook.rst
+++ b/Doc/howto/logging-cookbook.rst
@@ -1316,7 +1316,7 @@ An example dictionary-based configuratio
-----------------------------------------
Below is an example of a logging configuration dictionary - it's taken from
-the documentation on the Django project <https://docs.djangoproject.com/en/1.3/topics/logging/#configuring-logging>
.
+the documentation on the Django project <https://docs.djangoproject.com/en/1.4/topics/logging/#configuring-logging>
.
This dictionary is passed to :func:~config.dictConfig
to put the configuration into effect::
LOGGING = {
--- a/Doc/howto/logging.rst +++ b/Doc/howto/logging.rst @@ -310,7 +310,7 @@ favourite beverage and carry on. If your logging needs are simple, then use the above examples to incorporate logging into your own scripts, and if you run into problems or don't understand something, please post a question on the comp.lang.python Usenet -group (available at http://groups.google.com/group/comp.lang.python) and you +group (available at https://groups.google.com/group/comp.lang.python) and you should receive help before too long. Still here? You can carry on reading the next few sections, which provide a
--- a/Doc/howto/sorting.rst
+++ b/Doc/howto/sorting.rst
@@ -127,7 +127,7 @@ Sort Stability and Complex Sorts
================================
Sorts are guaranteed to be stable[](#l15.6) -<http://en.wikipedia.org/wiki/Sorting_algorithm#Stability>
_. That means that
+https://en.wikipedia.org/wiki/Sorting_algorithm#Stability_\. That means that[](#l15.8) when multiple records have the same key, their original order is preserved.[](#l15.9) [](#l15.10) >>> data = [('red', 1), ('blue', 1), ('red', 2), ('blue', 2)][](#l15.11) @@ -145,7 +145,7 @@ ascending *age*, do the *age* sort first[](#l15.12) >>> sorted(s, key=attrgetter('grade'), reverse=True) # now sort on primary key, descending[](#l15.13) [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)][](#l15.14) [](#l15.15) -The
Timsort http://en.wikipedia.org/wiki/Timsort_ algorithm used in Python[](#l15.16) +The
Timsort https://en.wikipedia.org/wiki/Timsort_ algorithm used in Python[](#l15.17) does multiple sorts efficiently because it can take advantage of any ordering[](#l15.18) already present in a dataset.[](#l15.19) [](#l15.20) @@ -184,7 +184,7 @@ decorated list, but including it gives t[](#l15.21) directly.[](#l15.22) [](#l15.23) Another name for this idiom is[](#l15.24) -
Schwartzian transform http://en.wikipedia.org/wiki/Schwartzian_transform_\,[](#l15.25) +
Schwartzian transform https://en.wikipedia.org/wiki/Schwartzian_transform`_,
after Randal L. Schwartz, who popularized it among Perl programmers.
Now that Python sorting provides key-functions, this technique is not often needed.
--- a/Doc/howto/unicode.rst
+++ b/Doc/howto/unicode.rst
@@ -73,7 +73,7 @@ revision of Unicode.
precise historical details aren't necessary for understanding how to
use Unicode effectively, but if you're curious, consult the Unicode
consortium site listed in the References or
-the Wikipedia entry for Unicode <http://en.wikipedia.org/wiki/Unicode#History>
+the Wikipedia entry for Unicode <https://en.wikipedia.org/wiki/Unicode#History>
for more information.)
@@ -223,8 +223,8 @@ If this introduction didn't make things
reading this alternate article before continuing.
Wikipedia entries are often helpful; see the entries for "character encoding[](#l16.15) -<http://en.wikipedia.org/wiki/Character_encoding>
" and UTF-8[](#l16.16) -<http://en.wikipedia.org/wiki/UTF-8>
, for example.
+https://en.wikipedia.org/wiki/Character_encoding_" and
UTF-8
+https://en.wikipedia.org/wiki/UTF-8`_, for example.
Python's Unicode Support
--- a/Doc/howto/webservers.rst +++ b/Doc/howto/webservers.rst @@ -267,7 +267,7 @@ Setting up FastCGI Each web server requires a specific module.
- http://httpd.apache.org/mod_fcgid/`_.
mod_fastcgi
is the original one, but it
- https://httpd.apache.org/mod_fcgid/
_. ``mod_fastcgi`` is the original one, but it[](#l17.8) has some licensing issues, which is why it is sometimes considered non-free.[](#l17.9) ``mod_fcgid`` is a smaller, compatible alternative. One of these modules needs[](#l17.10) to be loaded by Apache.[](#l17.11) @@ -277,7 +277,7 @@ Each web server requires a specific modu[](#l17.12)
SCGI module http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModSCGI`_.
- https://www.nginx.com/resources/wiki/start/topics/examples/simplepythonfcgi/`_. Once you have installed and configured the module, you can test it with the following WSGI-application:: @@ -307,8 +307,8 @@ FastCGI access. .. seealso::
- There is some documentation on `setting up Django with FastCGI
- https://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/`_, most of
- There is some documentation on `setting up Django with WSGI
- https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/`_, most of
which can be reused for other WSGI-compliant frameworks and libraries.
Only the
manage.py
part has to be changed, the example used here can be used instead. Django does more or less the exact same thing. @@ -358,7 +358,7 @@ testing.
A really great WSGI feature is middleware. Middleware is a layer around your
program which can add various functionality to it. There is quite a bit of
-middleware <http://www.wsgi.org/en/latest/libraries.html>
_ already
+middleware <https://wsgi.readthedocs.org/en/latest/libraries.html>
_ already
available. For example, instead of writing your own session management (HTTP
is a stateless protocol, so to associate multiple HTTP requests with a single
user your application must create and manage such state via a session), you can
@@ -379,7 +379,7 @@ WSGI Servers
The code that is used to connect to various low level gateways like CGI or
mod_python is called a WSGI server. One of these servers is flup
, which
supports FastCGI and SCGI, as well as AJP[](#l17.44) -<http://en.wikipedia.org/wiki/Apache_JServ_Protocol>
_. Some of these servers
+https://en.wikipedia.org/wiki/Apache_JServ_Protocol_. Some of these servers[](#l17.46) are written in Python, as ``flup`` is, but there also exist others which are[](#l17.47) written in C and can be used as drop-in replacements.[](#l17.48) [](#l17.49) @@ -390,8 +390,8 @@ compared with other web technologies.[](#l17.50) .. seealso::[](#l17.51) [](#l17.52) A good overview of WSGI-related code can be found in the
WSGI homepage
- http://www.wsgi.org/en/latest/index.html
_, which contains an extensive list of
WSGI servers - http://www.wsgi.org/en/latest/servers.html`_ which can be used by any application
- https://wsgi.readthedocs.org/
_, which contains an extensive list of
WSGI servers - https://wsgi.readthedocs.org/en/latest/servers.html`_ which can be used by any application supporting WSGI. You might be interested in some WSGI-supporting modules already contained in @@ -408,7 +408,7 @@ an application that's been around for a Python without using WSGI.
One of the most widely used wiki software packages is MoinMoin[](#l17.64) -<http://moinmo.in/>
_. It was created in 2000, so it predates WSGI by about
+https://moinmo.in/_. It was created in 2000, so it predates WSGI by about[](#l17.66) three years. Older versions needed separate code to run on CGI, mod_python,[](#l17.67) FastCGI and standalone.[](#l17.68) [](#l17.69) @@ -460,7 +460,7 @@ maintainable web sites.[](#l17.70) .. seealso::[](#l17.71) [](#l17.72) The English Wikipedia has an article about the
Model-View-Controller pattern
- http://en.wikipedia.org/wiki/Model-view-controller`_. It includes a long
- https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller`_. It includes a long list of web frameworks for various programming languages.
@@ -543,10 +543,10 @@ module, and which uses only one file. I
smaller sites SQLite is just enough.
Relational databases are queried using a language called SQL[](#l17.82) -<http://en.wikipedia.org/wiki/SQL>
. Python programmers in general do not
+https://en.wikipedia.org/wiki/SQL_. Python programmers in general do not[](#l17.84) like SQL too much, as they prefer to work with objects. It is possible to save[](#l17.85) Python objects into a database using a technology called
ORM
-http://en.wikipedia.org/wiki/Object-relational_mapping_ (Object Relational[](#l17.87) +<https://en.wikipedia.org/wiki/Object-relational_mapping>
(Object Relational
Mapping). ORM translates all object-oriented access into SQL code under the
hood, so the developer does not need to think about it. Most frameworks
_ use
ORMs, and it works quite well.
@@ -579,13 +579,13 @@ alternate storage mechanism.
helps with choosing a method for saving data
* SQLAlchemy <http://www.sqlalchemy.org/>
_, the most powerful OR-Mapper
for Python, and `Elixir <http://elixir.ematia.de/>`_, which makes[](#l17.96)
for Python, and `Elixir <https://pypi.python.org/pypi/Elixir>`_, which makes[](#l17.97) SQLAlchemy easier to use[](#l17.98)
* SQLObject <http://www.sqlobject.org/>
, another popular OR-Mapper
* ZODB <https://launchpad.net/zodb>
and `Durus
<http://www.mems-exchange.org/software/durus/>`_, two object oriented[](#l17.103)
<https://www.mems-exchange.org/software/>`_, two object oriented[](#l17.104) databases[](#l17.105)
@@ -671,10 +671,10 @@ experience. TurboGears gives the user f
example the ORM and template engine can be changed to use packages different
from those used by default.
-The documentation can be found in the TurboGears wiki[](#l17.112) -<http://docs.turbogears.org/>
, where links to screencasts can be found.
+The documentation can be found in the TurboGears documentation[](#l17.114) +<https://turbogears.readthedocs.org/>
, where links to screencasts can be found.
TurboGears has also an active user community which can respond to most related
-questions. There is also a TurboGears book <http://turbogearsbook.com/>
+questions. There is also a TurboGears book <http://turbogears.org/1.0/docs/TGBooks.html>
published, which is a good starting point.
The newest version of TurboGears, version 2.0, moves even further in direction
--- a/Doc/installing/index.rst +++ b/Doc/installing/index.rst @@ -48,7 +48,7 @@ Key terms repository of open source licensed packages made available for use by other Python users
- https://packaging.python.org/en/latest/future.html`__ are the group of
- https://www.pypa.io/en/latest/
__ are the group of[](#l18.8) developers and documentation authors responsible for the maintenance and[](#l18.9) evolution of the standard packaging tools and the associated metadata and[](#l18.10) file format standards. They maintain a variety of tools, documentation[](#l18.11) @@ -106,7 +106,7 @@ into an active virtual environment uses [](#l18.12) .. seealso::[](#l18.13) [](#l18.14)
Python Packaging User Guide: Installing Python Distribution Packages
How do I ...? @@ -123,8 +123,8 @@ User Guide. .. seealso::
- `Python Packaging User Guide: Setup for Installing Distribution Packages
- https://packaging.python.org/en/latest/installing.html#setup-for-installing-distribution-packages`__
- `Python Packaging User Guide: Requirements for Installing Packages
- https://packaging.python.org/en/latest/installing/#requirements-for-installing-packages`__
.. installing-per-user-installation:
@@ -143,13 +143,13 @@ A number of scientific Python packages h
aren't currently easy to install using pip
directly. At this point in
time, it will often be easier for users to install these packages by
other means[](#l18.35) -<https://packaging.python.org/en/latest/science.html>
__
+https://packaging.python.org/en/latest/science/__[](#l18.37) rather than attempting to install them with ``pip``.[](#l18.38) [](#l18.39) .. seealso::[](#l18.40) [](#l18.41)
Python Packaging User Guide: Installing Scientific Packages
... work with multiple versions of Python installed in parallel? @@ -179,7 +179,7 @@ switch:: Once the Development & Deployment part of PPUG is fleshed out, some of those sections should be linked from new questions here (most notably, we should have a question about avoiding depending on PyPI that links to
Common installation issues
@@ -212,11 +212,11 @@ as users are more regularly able to inst
than needing to build them themselves.
Some of the solutions for installing scientific software[](#l18.60) -<https://packaging.python.org/en/latest/science.html>
__
+https://packaging.python.org/en/latest/science/__[](#l18.62) that is not yet available as pre-built ``wheel`` files may also help with[](#l18.63) obtaining other binary extensions without needing to build them locally.[](#l18.64) [](#l18.65) .. seealso::[](#l18.66) [](#l18.67)
Python Packaging User Guide: Binary Extensions
--- a/Doc/library/asyncio-eventloops.rst +++ b/Doc/library/asyncio-eventloops.rst @@ -41,7 +41,7 @@ asyncio currently provides two implement On Windows, only sockets are supported (ex: pipes are not supported): see the `MSDN documentation of select
.. class:: ProactorEventLoop @@ -53,7 +53,7 @@ asyncio currently provides two implement .. seealso:: `MSDN documentation on I/O Completion Ports
<http://msdn.microsoft.com/en-us/library/windows/desktop/aa365198%28v=vs.85%29.aspx>`_.[](#l19.16)
<https://msdn.microsoft.com/en-us/library/windows/desktop/aa365198%28v=vs.85%29.aspx>`_.[](#l19.17)
Example to use a :class:ProactorEventLoop
on Windows::
@@ -107,7 +107,7 @@ Common limits of Windows event loops:
The resolution of the monotonic clock on Windows is usually around 15.6 msec.
The best resolution is 0.5 msec. The resolution depends on the hardware
(availability of HPET[](#l19.24) -<http://en.wikipedia.org/wiki/High_Precision_Event_Timer>
_) and on the Windows
+https://en.wikipedia.org/wiki/High_Precision_Event_Timer_) and on the Windows[](#l19.26) configuration. See :ref:
asyncio delayed calls `.
.. versionchanged:: 3.5
--- a/Doc/library/asyncio-subprocess.rst +++ b/Doc/library/asyncio-subprocess.rst @@ -51,7 +51,7 @@ Create a subprocess: high-level API usin It is the application's responsibility to ensure that all whitespace and metacharacters are quoted appropriately to avoid `shell injection
- https://en.wikipedia.org/wiki/Shell_injection#Shell_injection
_[](#l20.8) vulnerabilities. The :func:
shlex.quotefunction can be used to properly[](#l20.9) escape whitespace and shell metacharacters in strings that are going to be[](#l20.10) used to construct shell commands.[](#l20.11) @@ -134,7 +134,7 @@ Run subprocesses asynchronously using th[](#l20.12) [](#l20.13) It is the application's responsibility to ensure that all whitespace and[](#l20.14) metacharacters are quoted appropriately to avoid
shell injection
- https://en.wikipedia.org/wiki/Shell_injection#Shell_injection
_[](#l20.17) vulnerabilities. The :func:
shlex.quote` function can be used to properly escape whitespace and shell metacharacters in strings that are going to be used to construct shell commands.
--- a/Doc/library/collections.rst +++ b/Doc/library/collections.rst @@ -374,12 +374,12 @@ or subtracting from an empty counter. .. seealso::
--- a/Doc/library/dbm.rst
+++ b/Doc/library/dbm.rst
@@ -7,7 +7,7 @@
:mod:dbm
is a generic interface to variants of the DBM database ---
:mod:dbm.gnu
or :mod:dbm.ndbm
. If none of these modules is installed, the
slow-but-simple implementation in module :mod:dbm.dumb
will be used. There
-is a third party interface <http://www.jcea.es/programacion/pybsddb.htm>
_ to
+is a third party interface <https://www.jcea.es/programacion/pybsddb.htm>
_ to
the Oracle Berkeley DB.
--- a/Doc/library/decimal.rst
+++ b/Doc/library/decimal.rst
@@ -109,9 +109,6 @@ reset them before monitoring a calculati
* IBM's General Decimal Arithmetic Specification, The General Decimal Arithmetic[](#l23.4) Specification <http://speleotrove.com/decimal/decarith.html>
_.
<http://754r.ucbtest.org/standards/854.pdf>`_.[](#l23.8)
- .. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--- a/Doc/library/email.generator.rst +++ b/Doc/library/email.generator.rst @@ -43,7 +43,7 @@ Here are the public methods of the :clas followed by a space at the beginning of the line. This is the only guaranteed portable way to avoid having such lines be mistaken for a Unix mailbox format envelope header separator (see `WHY THE CONTENT-LENGTH FORMAT IS BAD
- http://www.jwz.org/doc/content-length.html`_ for details). mangle_from_
- https://www.jwz.org/doc/content-length.html`_ for details). *mangle_from_*
defaults to
True
, but you might want to set this toFalse
if you are not writing Unix mailbox format files.
@@ -123,7 +123,7 @@ formatted string representation of a mes
i.e. From
followed by a space at the beginning of the line. This is the
only guaranteed portable way to avoid having such lines be mistaken for a
Unix mailbox format envelope header separator (see `WHY THE CONTENT-LENGTH
- FORMAT IS BAD http://www.jwz.org/doc/content-length.html`_ for details).
- FORMAT IS BAD https://www.jwz.org/doc/content-length.html`_ for details).
*mangle_from_* defaults to
True
, but you might want to set this toFalse
if you are not writing Unix mailbox format files.
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -1418,7 +1418,7 @@ are always available. They are listed h
For practical suggestions on how to design cooperative classes using
:func:super
, see `guide to using super()
--- a/Doc/library/functools.rst
+++ b/Doc/library/functools.rst
@@ -73,7 +73,7 @@ The :mod:functools
module defines the
bypassing the cache, or for rewrapping the function with a different cache.
An `LRU (least recently used) cache
- https://en.wikipedia.org/wiki/Cache_algorithms#Examples
_ works[](#l26.8) best when the most recent calls are the best predictors of upcoming calls (for[](#l26.9) example, the most popular articles on a news server tend to change each day).[](#l26.10) The cache's size limit assures that the cache does not grow without bound on[](#l26.11) @@ -99,9 +99,9 @@ The :mod:
functools` module defines the CacheInfo(hits=3, misses=8, maxsize=32, currsize=8)
Example of efficiently computing
dynamic programming <https://en.wikipedia.org/wiki/Dynamic_programming>
_ technique:: @lru_cache(maxsize=None)
--- a/Doc/library/heapq.rst
+++ b/Doc/library/heapq.rst
@@ -132,7 +132,7 @@ the iterable into an actual heap.
Basic Examples
--------------
-A heapsort <http://en.wikipedia.org/wiki/Heapsort>
_ can be implemented by
+A heapsort <https://en.wikipedia.org/wiki/Heapsort>
_ can be implemented by
pushing all values onto a heap and then popping off the smallest values one at a
time::
@@ -163,7 +163,7 @@ Heap elements can be tuples. This is us
Priority Queue Implementation Notes
-----------------------------------
-A priority queue <http://en.wikipedia.org/wiki/Priority_queue>
_ is common use
+A priority queue <https://en.wikipedia.org/wiki/Priority_queue>
_ is common use
for a heap, and it presents several implementation challenges:
--- a/Doc/library/http.client.rst +++ b/Doc/library/http.client.rst @@ -21,7 +21,7 @@ HTTPS protocols. It is normally not use .. seealso::
- The
Requests package <https://requests.readthedocs.org/>
_ is recommended for a higher-level http client interface. .. note::
--- a/Doc/library/itertools.rst
+++ b/Doc/library/itertools.rst
@@ -117,7 +117,7 @@ loops that truncate the stream.
:func:min
for a running minimum, :func:max
for a running maximum, or
:func:operator.mul
for a running product. Amortization tables can be
built by accumulating interest and applying payments. First-order
recurrence relations <https://en.wikipedia.org/wiki/Recurrence_relation>
_ can be modeled by supplying the initial value in the iterable and using only the accumulated total in func argument:: @@ -132,7 +132,7 @@ loops that truncate the stream.list(accumulate(cashflows, lambda bal, pmt: bal*1.05 + pmt)) [1000, 960.0, 918.0, 873.9000000000001, 827.5950000000001]
# Chaotic recurrence relation http://en.wikipedia.org/wiki/Logistic_map[](#l29.16)
# Chaotic recurrence relation https://en.wikipedia.org/wiki/Logistic_map[](#l29.17) >>> logistic_map = lambda x, _: r * x * (1 - x)[](#l29.18) >>> r = 3.8[](#l29.19) >>> x0 = 0.4[](#l29.20)
--- a/Doc/library/json.rst
+++ b/Doc/library/json.rst
@@ -10,7 +10,7 @@
:rfc:7159
(which obsoletes :rfc:4627
) and by
ECMA-404 <http://www.ecma-international.org/publications/standards/Ecma-404.htm>
,
is a lightweight data interchange format inspired by
-JavaScript <http://en.wikipedia.org/wiki/JavaScript>
object literal syntax
+JavaScript <https://en.wikipedia.org/wiki/JavaScript>
_ object literal syntax
(although it is not a strict subset of JavaScript [#rfc-errata]_ ).
:mod:json
exposes an API familiar to users of the standard library
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -1246,7 +1246,7 @@ with the :mod:warnings
module.
The proposal which described this feature for inclusion in the Python standard
library.
Original Python logging package <https://www.red-dove.com/python_logging.html>
_ This is the original source for the :mod:logging
package. The version of the package available from this site is suitable for use with Python 1.5.2, 2.1.x and 2.2.x, which do not include the :mod:logging
package in the standard
--- a/Doc/library/mailbox.rst
+++ b/Doc/library/mailbox.rst
@@ -484,7 +484,7 @@ Supported mailbox formats are Maildir, m
mbox man page from tin <http://www.tin.org/bin/man.cgi?section=5&topic=mbox>
_
Another specification of the format, with details on locking.
Configuring Netscape Mail on Unix: Why The Content-Length Format is Bad <http://www.jwz.org/doc/content-length.html>
_
Configuring Netscape Mail on Unix: Why The Content-Length Format is Bad <https://www.jwz.org/doc/content-length.html>
An argument for using the original mbox format rather than a variation."mbox" is a family of several mutually incompatible mailbox formats <http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html>
@@ -744,7 +744,7 @@ Supported mailbox formats are Maildir, mmmdf man page from tin <http://www.tin.org/bin/man.cgi?section=5&topic=mmdf>
_ A specification of MMDF format from the documentation of tin, a newsreader.
MMDF <https://en.wikipedia.org/wiki/MMDF>
_ A Wikipedia article describing the Multichannel Memorandum Distribution Facility.
--- a/Doc/library/math.rst +++ b/Doc/library/math.rst @@ -97,7 +97,7 @@ Number-theoretic and representation func For further discussion and two alternative approaches, see the `ASPN cookbook recipes for accurate floating point summation
.. function:: gcd(a, b)
@@ -204,7 +204,7 @@ Power and logarithmic functions
Return e**x - 1
. For small floats x, the subtraction in exp(x) - 1
can result in a `significant loss of precision
- http://en.wikipedia.org/wiki/Loss_of_significance
_\; the :func:
expm1`
- https://en.wikipedia.org/wiki/Loss_of_significance
_\; the :func:
expm1` function provides a way to compute this quantity to full precision::from math import exp, expm1 @@ -332,7 +332,7 @@ Angular conversion Hyperbolic functions --------------------
-Hyperbolic functions <http://en.wikipedia.org/wiki/Hyperbolic_function>
+Hyperbolic functions <https://en.wikipedia.org/wiki/Hyperbolic_function>
are analogs of trigonometric functions that are based on hyperbolas
instead of circles.
@@ -371,12 +371,12 @@ Special functions
.. function:: erf(x)
- Return the
error function <https://en.wikipedia.org/wiki/Error_function>
_ at x. The :func:erf
function can be used to compute traditional statistical functions such as the `cumulative standard normal distribution
- https://en.wikipedia.org/wiki/Normal_distribution#Cumulative_distribution_function`_:: def phi(x): 'Cumulative distribution function for the standard normal distribution'
@@ -388,17 +388,17 @@ Special functions .. function:: erfc(x) Return the complementary error function at x. The `complementary error
- function http://en.wikipedia.org/wiki/Error_function`_ is defined as
- function https://en.wikipedia.org/wiki/Error_function
_ is defined as[](#l33.50) ``1.0 - erf(x)``. It is used for large values of *x* where a subtraction[](#l33.51) from one would cause a
loss of significance
- https://en.wikipedia.org/wiki/Loss_of_significance`_. .. versionadded:: 3.2
- Return the
Gamma function <https://en.wikipedia.org/wiki/Gamma_function>
_ at x. .. versionadded:: 3.2
--- a/Doc/library/msilib.rst +++ b/Doc/library/msilib.rst @@ -120,9 +120,9 @@ structures. .. seealso::
FCICreateFile <http://msdn.microsoft.com/library?url=/library/en-us/devnotes/winprog/fcicreate.asp>
_UuidCreate <http://msdn.microsoft.com/library?url=/library/en-us/rpc/rpc/uuidcreate.asp>
_UuidToString <http://msdn.microsoft.com/library?url=/library/en-us/rpc/rpc/uuidtostring.asp>
_
FCICreateFile <https://msdn.microsoft.com/library?url=/library/en-us/devnotes/winprog/fcicreate.asp>
_UuidCreate <https://msdn.microsoft.com/library?url=/library/en-us/rpc/rpc/uuidcreate.asp>
_UuidToString <https://msdn.microsoft.com/library?url=/library/en-us/rpc/rpc/uuidtostring.asp>
_
.. _database-objects: @@ -151,9 +151,9 @@ Database Objects .. seealso::
MSIDatabaseOpenView <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msidatabaseopenview.asp>
_MSIDatabaseCommit <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msidatabasecommit.asp>
_MSIGetSummaryInformation <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msigetsummaryinformation.asp>
_
MSIDatabaseOpenView <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msidatabaseopenview.asp>
_MSIDatabaseCommit <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msidatabasecommit.asp>
_MSIGetSummaryInformation <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msigetsummaryinformation.asp>
_
.. _view-objects: @@ -199,11 +199,11 @@ View Objects .. seealso::
MsiViewExecute <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewexecute.asp>
_MSIViewGetColumnInfo <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewgetcolumninfo.asp>
_MsiViewFetch <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewfetch.asp>
_MsiViewModify <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewmodify.asp>
_MsiViewClose <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewclose.asp>
_
MsiViewExecute <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewexecute.asp>
_MSIViewGetColumnInfo <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewgetcolumninfo.asp>
_MsiViewFetch <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewfetch.asp>
_MsiViewModify <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewmodify.asp>
_MsiViewClose <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewclose.asp>
_
.. _summary-objects: @@ -243,10 +243,10 @@ Summary Information Objects .. seealso::
MsiSummaryInfoGetProperty <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msisummaryinfogetproperty.asp>
_MsiSummaryInfoGetPropertyCount <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msisummaryinfogetpropertycount.asp>
_MsiSummaryInfoSetProperty <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msisummaryinfosetproperty.asp>
_MsiSummaryInfoPersist <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msisummaryinfopersist.asp>
_
MsiSummaryInfoGetProperty <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msisummaryinfogetproperty.asp>
_MsiSummaryInfoGetPropertyCount <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msisummaryinfogetpropertycount.asp>
_MsiSummaryInfoSetProperty <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msisummaryinfosetproperty.asp>
_MsiSummaryInfoPersist <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msisummaryinfopersist.asp>
_
.. _record-objects: @@ -297,11 +297,11 @@ Record Objects .. seealso::
MsiRecordGetFieldCount <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordgetfieldcount.asp>
_MsiRecordSetString <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordsetstring.asp>
_MsiRecordSetStream <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordsetstream.asp>
_MsiRecordSetInteger <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordsetinteger.asp>
_MsiRecordClear <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordclear.asp>
_
MsiRecordGetFieldCount <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordgetfieldcount.asp>
_MsiRecordSetString <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordsetstring.asp>
_MsiRecordSetStream <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordsetstream.asp>
_MsiRecordSetInteger <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordsetinteger.asp>
_MsiRecordClear <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordclear.asp>
_
.. _msi-errors: @@ -393,10 +393,10 @@ Directory Objects .. seealso::
Directory Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/directory_table.asp>
_File Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/file_table.asp>
_Component Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/component_table.asp>
_FeatureComponents Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/featurecomponents_table.asp>
_
Directory Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/directory_table.asp>
_File Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/file_table.asp>
_Component Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/component_table.asp>
_FeatureComponents Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/featurecomponents_table.asp>
_
.. _features: @@ -421,7 +421,7 @@ Features .. seealso::
.. _msi-gui: @@ -516,13 +516,13 @@ for installing Python packages. .. seealso::
Dialog Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/dialog_table.asp>
_Control Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/control_table.asp>
_Control Types <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/controls.asp>
_ControlCondition Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/controlcondition_table.asp>
_ControlEvent Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/controlevent_table.asp>
_EventMapping Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/eventmapping_table.asp>
_RadioButton Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/radiobutton_table.asp>
_
Dialog Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/dialog_table.asp>
_Control Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/control_table.asp>
_Control Types <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/controls.asp>
_ControlCondition Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/controlcondition_table.asp>
_ControlEvent Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/controlevent_table.asp>
_EventMapping Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/eventmapping_table.asp>
_RadioButton Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/radiobutton_table.asp>
_
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -894,7 +894,7 @@ The following constants are options for
:func:~os.open
function. They can be combined using the bitwise OR operator
|
. Some of them are not available on all platforms. For descriptions of
their availability and use, consult the :manpage:open(2)
manual page on Unix
-or the MSDN <http://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx>
_ on Windows.
+or the MSDN <https://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx>
_ on Windows.
.. data:: O_RDONLY
@@ -1907,9 +1907,9 @@ features:
and
readdir() <http://pubs.opengroup.org/onlinepubs/009695399/functions/readdir_r.html>
_
functions. On Windows, it uses the Win32
`FindFirstFileW <http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx>`_[](#l35.16)
`FindFirstFileW <https://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx>`_[](#l35.17) and[](#l35.18)
`FindNextFileW <http://msdn.microsoft.com/en-us/library/windows/desktop/aa364428(v=vs.85).aspx>`_[](#l35.19)
`FindNextFileW <https://msdn.microsoft.com/en-us/library/windows/desktop/aa364428(v=vs.85).aspx>`_[](#l35.20) functions.[](#l35.21)
--- a/Doc/library/othergui.rst +++ b/Doc/library/othergui.rst @@ -8,33 +8,33 @@ available for Python: .. seealso::
PyGObject <https://wiki.gnome.org/Projects/PyGObject>
provides introspection bindings for C libraries usingGObject <https://developer.gnome.org/gobject/stable/>
. One of these libraries is theGTK+ 3 <http://www.gtk.org/>
_ widget set. GTK+ comes with many more widgets than Tkinter provides. An online
`Python GTK+ 3 Tutorial <http://python-gtk-3-tutorial.readthedocs.org/en/latest/>`_[](#l36.13)
`Python GTK+ 3 Tutorial <https://python-gtk-3-tutorial.readthedocs.org/en/latest/>`_[](#l36.14) is available.[](#l36.15)
PyGTK <http://www.pygtk.org/>
_ provides bindings for an older version
of the library, GTK+ 2. It provides an object oriented interface that
is slightly higher level than the C one. There are also bindings to
`GNOME <http://www.gnome.org>`_. An online `tutorial[](#l36.20)
`GNOME <https://www.gnome.org/>`_. An online `tutorial[](#l36.21) <http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available.[](#l36.22)
PyQt <https://riverbankcomputing.com/software/pyqt/intro>
_ 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 for generating bindings for C++ libraries as Python classes, and is specifically designed for Python. The PyQt3 bindings have a book, `GUI Programming with Python: QT Edition
<http://www.commandprompt.com/community/pyqt/>`_ by Boudewijn[](#l36.32)
<https://www.commandprompt.com/community/pyqt/>`_ by Boudewijn[](#l36.33) Rempt. The *PyQt4* bindings also have a book, `Rapid GUI Programming[](#l36.34) with Python and Qt <http://www.qtrac.eu/pyqtbook.html>`_, by Mark[](#l36.35) Summerfield.[](#l36.36)
PySide <https://wiki.qt.io/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. @@ -50,7 +50,7 @@ available for Python: low-level device context drawing, drag and drop, system clipboard access, an XML-based resource format and more, including an ever growing library of user-contributed modules. wxPython has a book, `wxPython in Action
<http://www.manning.com/rappin/>`_, by Noel Rappin and[](#l36.47)
<https://www.manning.com/books/wxpython-in-action>`_, by Noel Rappin and[](#l36.48) Robin Dunn.[](#l36.49)
PyGTK, PyQt, and wxPython, all have a modern look and feel and more
--- a/Doc/library/random.rst +++ b/Doc/library/random.rst @@ -267,7 +267,7 @@ Alternative Generator: `Complementary-Multiply-with-Carry recipe
- http://code.activestate.com/recipes/576707/`_ for a compatible alternative
- https://code.activestate.com/recipes/576707/`_ for a compatible alternative random number generator with a long period and comparatively simple update operations.
--- a/Doc/library/re.rst
+++ b/Doc/library/re.rst
@@ -1389,7 +1389,7 @@ functionally identical:
Writing a Tokenizer
^^^^^^^^^^^^^^^^^^^
-A tokenizer or scanner <http://en.wikipedia.org/wiki/Lexical_analysis>
+A tokenizer or scanner <https://en.wikipedia.org/wiki/Lexical_analysis>
analyzes a string to categorize groups of characters. This is a useful first
step in writing a compiler or interpreter.
--- a/Doc/library/shelve.rst +++ b/Doc/library/shelve.rst @@ -76,7 +76,7 @@ Two additional methods are supported: .. seealso::
Persistent dictionary recipe <https://code.activestate.com/recipes/576642/>
_ with widely supported storage formats and having the speed of native dictionaries.
@@ -137,7 +137,7 @@ Restrictions
A subclass of :class:Shelf
which exposes :meth:first
, :meth:!next
,
:meth:previous
, :meth:last
and :meth:set_location
which are available
in the third-party :mod:bsddb
module from `pybsddb
- http://www.jcea.es/programacion/pybsddb.htm`_ but not in other database
- https://www.jcea.es/programacion/pybsddb.htm
_ but not in other database[](#l39.17) modules. The *dict* object passed to the constructor must support those[](#l39.18) methods. This is generally accomplished by calling one of[](#l39.19) :func:
bsddb.hashopen, :func:
bsddb.btopenor :func:
bsddb.rnopen`. The
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -983,7 +983,7 @@ to sockets.
The :meth:ioctl
method is a limited interface to the WSAIoctl system
interface. Please refer to the `Win32 documentation
- https://msdn.microsoft.com/en-us/library/ms741621%28VS.85%29.aspx
_ for more[](#l40.8) information.[](#l40.9) [](#l40.10) On other platforms, the generic :func:
fcntl.fcntland :func:
fcntl.ioctl`
--- a/Doc/library/ssl.rst +++ b/Doc/library/ssl.rst @@ -206,7 +206,7 @@ instead. The ciphers parameter sets the available ciphers for this SSL object. It should be a string in the `OpenSSL cipher list format
- http://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT
_.[](#l41.8) [](#l41.9) The parameter ``do_handshake_on_connect`` specifies whether to do the SSL[](#l41.10) handshake automatically after doing a :meth:
socket.connect, or whether the[](#l41.11) @@ -296,7 +296,7 @@ Random generation[](#l41.12) [](#l41.13) Read the Wikipedia article,
Cryptographically secure pseudorandom number generator (CSPRNG)
- https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator
_,[](#l41.17) to get the requirements of a cryptographically generator.[](#l41.18) [](#l41.19) .. versionadded:: 3.3[](#l41.20) @@ -721,7 +721,7 @@ Constants[](#l41.21) [](#l41.22) Whether the OpenSSL library has built-in support for *Next Protocol[](#l41.23) Negotiation* as described in the
NPN draft specification
- http://tools.ietf.org/html/draft-agl-tls-nextprotoneg`_. When true,
- https://tools.ietf.org/html/draft-agl-tls-nextprotoneg
_. When true,[](#l41.26) you can use the :meth:
SSLContext.set_npn_protocols` method to advertise which protocols you want to support.
@@ -1212,7 +1212,7 @@ to speed up repeated connections from th Set the available ciphers for sockets created with this context. It should be a string in the `OpenSSL cipher list format
- http://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT
_.[](#l41.35) If no cipher can be selected (because compile-time options or other[](#l41.36) configuration forbids use of all the specified ciphers), an[](#l41.37) :class:
SSLErrorwill be raised.[](#l41.38) @@ -1241,7 +1241,7 @@ to speed up repeated connections from th[](#l41.39) handshake. It should be a list of strings, like ``['http/1.1', 'spdy/2']``,[](#l41.40) ordered by preference. The selection of a protocol will happen during the[](#l41.41) handshake, and will play out according to the
NPN draft specification
- https://tools.ietf.org/html/draft-agl-tls-nextprotoneg
_. After a[](#l41.44) successful handshake, the :meth:
SSLSocket.selected_npn_protocol` method will return the agreed-upon protocol.
@@ -2019,7 +2019,7 @@ enabled when negotiating a SSL session i
:meth:SSLContext.set_ciphers
method. Starting from Python 3.2.3, the
ssl module disables certain weak ciphers by default, but you may want
to further restrict the cipher choice. Be sure to read OpenSSL's documentation
-about the cipher list format <http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT>
.
+about the cipher list format <http://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT>
.
If you want to check which ciphers are enabled by a given cipher list, use the
openssl ciphers
command on your system.
@@ -2040,25 +2040,25 @@ successful call of :func:~ssl.RAND_add
Class :class:socket.socket
Documentation of underlying :mod:socket
class
SSL/TLS Strong Encryption: An Introduction <http://httpd.apache.org/docs/trunk/en/ssl/ssl_intro.html>
_
SSL/TLS Strong Encryption: An Introduction <https://httpd.apache.org/docs/trunk/en/ssl/ssl_intro.html>
_ Intro from the Apache webserver documentation
RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based Key Management <http://www.ietf.org/rfc/rfc1422>
_
RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based Key Management <https://www.ietf.org/rfc/rfc1422>
_ Steve Kent
RFC 1750: Randomness Recommendations for Security <https://www.ietf.org/rfc/rfc1750>
_ D. Eastlake et. al.
RFC 3280: Internet X.509 Public Key Infrastructure Certificate and CRL Profile <http://www.ietf.org/rfc/rfc3280>
_
RFC 3280: Internet X.509 Public Key Infrastructure Certificate and CRL Profile <https://www.ietf.org/rfc/rfc3280>
_ Housley et. al.
RFC 4366: Transport Layer Security (TLS) Extensions <https://www.ietf.org/rfc/rfc4366>
_ Blake-Wilson et. al.
RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 <http://tools.ietf.org/html/rfc5246>
_
RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 <https://tools.ietf.org/html/rfc5246>
_ T. Dierks et. al.
RFC 6066: Transport Layer Security (TLS) Extensions <https://tools.ietf.org/html/rfc6066>
_ D. Eastlake
IANA TLS: Transport Layer Security (TLS) Parameters <http://www.iana.org/assignments/tls-parameters/tls-parameters.xml>
_
--- a/Doc/library/stat.rst
+++ b/Doc/library/stat.rst
@@ -403,7 +403,7 @@ See the *BSD or Mac OS systems man page
On Windows, the following file attribute constants are available for use when
testing bits in the st_file_attributes
member returned by :func:os.stat
.
See the Windows API documentation[](#l42.6) -<http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117.aspx>
+https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117.aspx`
for more detail on the meaning of these constants.
.. data:: FILE_ATTRIBUTE_ARCHIVE
--- a/Doc/library/subprocess.rst
+++ b/Doc/library/subprocess.rst
@@ -475,7 +475,7 @@ functions.
execute. On Windows, in order to run a side-by-side assembly
_ the
specified env must include a valid :envvar:SystemRoot
.
- .. _side-by-side assembly: http://en.wikipedia.org/wiki/Side-by-Side_Assembly[](#l43.7)
- .. side-by-side assembly: https://en.wikipedia.org/wiki/Side-by-Side_Assembly[](#l43.8)
If universal_newlines is
True
, the file objects stdin, stdout and stderr are opened as text streams in universal newlines mode, as @@ -536,7 +536,7 @@ including shell metacharacters, can safe If the shell is invoked explicitly, viashell=True
, it is the application's responsibility to ensure that all whitespace and metacharacters are quoted appropriately to avoid -shell injection <http://en.wikipedia.org/wiki/Shell_injection#Shell_injection>
+shell injection <https://en.wikipedia.org/wiki/Shell_injection#Shell_injection>
_ vulnerabilities.
When using shell=True
, the :func:shlex.quote
function can be
@@ -721,7 +721,7 @@ on Windows.
.. class:: STARTUPINFO()
Partial support of the Windows
STARTUPINFO <https://msdn.microsoft.com/en-us/library/ms686331(v=vs.85).aspx>
__ structure is used for :class:Popen
creation. .. attribute:: dwFlags @@ -757,7 +757,7 @@ on Windows. If :attr:dwFlags
specifies :data:STARTF_USESHOWWINDOW
, this attribute can be any of the values that can be specified in thenCmdShow
parameter for the
`ShowWindow <http://msdn.microsoft.com/en-us/library/ms633548(v=vs.85).aspx>`__[](#l43.34)
`ShowWindow <https://msdn.microsoft.com/en-us/library/ms633548(v=vs.85).aspx>`__[](#l43.35) function, except for ``SW_SHOWDEFAULT``. Otherwise, this attribute is[](#l43.36) ignored.[](#l43.37)
--- a/Doc/library/test.rst
+++ b/Doc/library/test.rst
@@ -619,7 +619,7 @@ The :mod:test.support
module defines t
are expected to crash a subprocess.
On Windows, it disables Windows Error Reporting dialogs using
SetErrorMode <https://msdn.microsoft.com/en-us/library/windows/desktop/ms680621.aspx>
_. On UNIX, :func:resource.setrlimit
is used to set :attr:resource.RLIMIT_CORE
's soft limit to 0 to prevent coredump file
--- a/Doc/library/tkinter.rst
+++ b/Doc/library/tkinter.rst
@@ -31,13 +31,13 @@ this should open a window demonstrating
Tcl/Tk manual <http://www.tcl.tk/man/tcl8.5/>
_
Official manual for the latest tcl/tk version.
Programming Python <http://learning-python.com/books/about-pp4e.html>
Book by Mark Lutz, has excellent coverage of Tkinter.Modern Tkinter for Busy Python Developers <http://www.amazon.com/Modern-Tkinter-Python-Developers-ebook/dp/B0071QDNLO/>
Book by Mark Rozerman about building attractive and modern graphical user interfaces with Python and Tkinter.
Python and Tkinter Programming <https://www.manning.com/books/python-and-tkinter-programming>
_ The book by John Grayson (ISBN 1-884777-81-3).
--- a/Doc/library/unittest.mock-examples.rst
+++ b/Doc/library/unittest.mock-examples.rst
@@ -549,7 +549,7 @@ Calls to the date constructor are record
An alternative way of dealing with mocking dates, or other builtin classes,
is discussed in this blog entry[](#l46.6) -<http://www.williamjohnbert.com/2011/07/how-to-unit-testing-in-django-with-mocking-and-patching/>
.
+http://williambert.online/2011/07/how-to-unit-testing-in-django-with-mocking-and-patching/_.[](#l46.8) [](#l46.9) [](#l46.10) Mocking a Generator Method[](#l46.11) @@ -1251,7 +1251,7 @@ With a bit of tweaking you could have th[](#l46.12) :exc:
AssertionErrordirectly and provide a more useful failure message.[](#l46.13) [](#l46.14) As of version 1.5, the Python testing library
PyHamcrest
-https://pypi.python.org/pypi/PyHamcrest_ provides similar functionality,[](#l46.16) +<https://pyhamcrest.readthedocs.org/>
provides similar functionality,
that may be useful here, in the form of its equality matcher
(hamcrest.library.integration.match_equality[](#l46.19) -<http://pyhamcrest.readthedocs.org/en/stable/integration/#module-hamcrest.library.integration.match_equality>
).
+https://pyhamcrest.readthedocs.org/en/release-1.8/integration/#module-hamcrest.library.integration.match_equality`).
--- a/Doc/library/urllib.request.rst +++ b/Doc/library/urllib.request.rst @@ -14,7 +14,7 @@ authentication, redirections, cookies an .. seealso::
- The
Requests package <https://requests.readthedocs.org/>
_ is recommended for a higher-level http client interface.
--- a/Doc/library/winreg.rst
+++ b/Doc/library/winreg.rst
@@ -134,7 +134,7 @@ This module offers the following functio
The :func:DeleteKeyEx
function is implemented with the RegDeleteKeyEx
Windows API function, which is specific to 64-bit versions of Windows.
See the `RegDeleteKeyEx documentation
<http://msdn.microsoft.com/en-us/library/ms724847%28VS.85%29.aspx>`__.[](#l48.7)
<https://msdn.microsoft.com/en-us/library/ms724847%28VS.85%29.aspx>`__.[](#l48.8)
key is an already open key, or one of the predefined
:ref:HKEY_* constants <hkey-constants>
.
@@ -268,7 +268,7 @@ This module offers the following functio
A call to :func:LoadKey
fails if the calling process does not have the
:const:SE_RESTORE_PRIVILEGE
privilege. Note that privileges are different
from permissions -- see the `RegLoadKey documentation
- https://msdn.microsoft.com/en-us/library/ms724889%28v=VS.85%29.aspx
__ for[](#l48.17) more details.[](#l48.18) [](#l48.19) If *key* is a handle returned by :func:
ConnectRegistry, then the path[](#l48.20) @@ -383,7 +383,7 @@ This module offers the following functio[](#l48.21) possess the :const:
SeBackupPrivilegesecurity privilege. Note that[](#l48.22) privileges are different than permissions -- see the[](#l48.23)
Conflicts Between User Rights and Permissions documentation
- https://msdn.microsoft.com/en-us/library/ms724878%28v=VS.85%29.aspx`__ for more details. This function passes NULL for security_attributes to the API. @@ -547,7 +547,7 @@ Access Rights +++++++++++++
For more information, see Registry Key Security and Access[](#l48.33) -<http://msdn.microsoft.com/en-us/library/ms724878%28v=VS.85%29.aspx>
.
+https://msdn.microsoft.com/en-us/library/ms724878%28v=VS.85%29.aspx__.[](#l48.35) [](#l48.36) .. data:: KEY_ALL_ACCESS[](#l48.37) [](#l48.38) @@ -602,7 +602,7 @@ 64-bit Specific[](#l48.39) ***************[](#l48.40) [](#l48.41) For more information, see
Accessing an Alternate Registry View
-http://msdn.microsoft.com/en-us/library/aa384129(v=VS.85).aspx__.[](#l48.43) +<https://msdn.microsoft.com/en-us/library/aa384129(v=VS.85).aspx>
.
.. data:: KEY_WOW64_64KEY
@@ -621,7 +621,7 @@ Value Types
+++++++++++
For more information, see Registry Value Types[](#l48.51) -<http://msdn.microsoft.com/en-us/library/ms724884%28v=VS.85%29.aspx>
.
+https://msdn.microsoft.com/en-us/library/ms724884%28v=VS.85%29.aspx`.
.. data:: REG_BINARY
--- a/Doc/library/wsgiref.rst
+++ b/Doc/library/wsgiref.rst
@@ -24,8 +24,8 @@ for implementing WSGI servers, a demo HT
and a validation tool that checks WSGI servers and applications for conformance
to the WSGI specification (:pep:3333
).
-See http://www.wsgi.org for more information about WSGI, and links to tutorials
-and other resources.
+See https://wsgi.readthedocs.org/ for more information about WSGI, and links to
+tutorials and other resources.
.. XXX If you're just trying to write a web application...
--- a/Doc/library/xml.rst
+++ b/Doc/library/xml.rst
@@ -62,7 +62,7 @@ kind sax etr
billion laughs Yes Yes Yes Yes Yes
quadratic blowup Yes Yes Yes Yes Yes
external entity expansion Yes No (1) No (2) Yes No (3)
-DTD retrieval Yes No No Yes No
+DTD
_ retrieval Yes No No Yes No
decompression bomb No No No No Yes
========================= ======== ========= ========= ======== =========
@@ -92,7 +92,7 @@ external entity expansion
also point to external resources or local files. The XML
parser accesses the resource and embeds the content into the XML document.
-DTD retrieval
+DTD
_ retrieval
Some XML libraries like Python's :mod:xml.dom.pulldom
retrieve document type
definitions from remote or local locations. The feature has similar
implications as the external entity expansion issue.
@@ -128,6 +128,6 @@ Python because they break backward compa
.. _defusedxml: https://pypi.python.org/pypi/defusedxml/[](#l50.23)
.. _defusedexpat: https://pypi.python.org/pypi/defusedexpat/[](#l50.24)
-.. _Billion Laughs: http://en.wikipedia.org/wiki/Billion_laughs[](#l50.25)
-.. _ZIP bomb: http://en.wikipedia.org/wiki/Zip_bomb[](#l50.26)
-.. _DTD: http://en.wikipedia.org/wiki/Document_Type_Definition[](#l50.27)
+.. _Billion Laughs: https://en.wikipedia.org/wiki/Billion_laughs[](#l50.28)
+.. _ZIP bomb: https://en.wikipedia.org/wiki/Zip_bomb[](#l50.29)
+.. _DTD: https://en.wikipedia.org/wiki/Document_type_definition[](#l50.30)
--- a/Doc/library/xmlrpc.client.rst
+++ b/Doc/library/xmlrpc.client.rst
@@ -142,7 +142,7 @@ between conformable Python objects and X
XML-RPC Introspection <http://xmlrpc-c.sourceforge.net/introspection.html>
_
Describes the XML-RPC protocol extension for introspection.
XML-RPC Specification <http://xmlrpc.scripting.com/spec.html>
The official specification.Unofficial XML-RPC Errata <http://effbot.org/zone/xmlrpc-errata.htm>
--- a/Doc/library/zipfile.rst
+++ b/Doc/library/zipfile.rst
@@ -13,8 +13,7 @@
The ZIP file format is a common archive and compression standard. This module
provides tools to create, read, write, append, and list a ZIP file. Any
advanced use of this module will require an understanding of the format, as
-defined in PKZIP Application Note[](#l52.7) -<http://www.pkware.com/documents/casestudies/APPNOTE.TXT>
.
+defined in PKZIP Application Note
.
This module does not currently handle multi-disk ZIP files.
It can handle ZIP files that use the ZIP64 extensions
@@ -115,7 +114,7 @@ The module defines the following items:
.. seealso::
PKZIP Application Note
_ Documentation on the ZIP file format by Phil Katz, the creator of the format and algorithms used.
@@ -511,8 +510,7 @@ Instances have the following attributes: .. attribute:: ZipInfo.extra
- Expansion field data. The `PKZIP Application Note
- http://www.pkware.com/documents/casestudies/APPNOTE.TXT`_ contains
- Expansion field data. The
PKZIP Application Note
_ contains some comments on the internal structure of the data contained in this string.
@@ -574,3 +572,5 @@ Instances have the following attributes: .. attribute:: ZipInfo.file_size Size of the uncompressed file. + +.. _PKZIP Application Note: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT[](#l52.37)
--- a/Doc/library/zipimport.rst +++ b/Doc/library/zipimport.rst @@ -30,7 +30,7 @@ ZIP archives with an archive comment are .. seealso::
PKZIP Application Note <https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT>
_ Documentation on the ZIP file format by Phil Katz, the creator of the format and algorithms used.
--- a/Doc/using/mac.rst +++ b/Doc/using/mac.rst @@ -153,7 +153,7 @@ Mac OS X. Packages and documentation are PyQt is another popular cross-platform GUI toolkit that runs natively on Mac OS X. More information can be found at -http://www.riverbankcomputing.co.uk/software/pyqt/intro.[](#l54.7) +https://riverbankcomputing.com/software/pyqt/intro.[](#l54.8) Distributing Python Applications on the Mac
--- a/Doc/using/unix.rst +++ b/Doc/using/unix.rst @@ -26,11 +26,11 @@ following links: .. seealso::
- https://en.opensuse.org/Portal:Packaging[](#l55.11) for OpenSuse users
- https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-creating-rpms.html[](#l55.14) for Fedora users http://www.slackbook.org/html/package-management-making-packages.html[](#l55.16) for Slackware users @@ -65,7 +65,7 @@ Building Python ===============
If you want to compile CPython yourself, first thing you should do is get the
-source <https://www.python.org/download/source/>
. You can download either the
+source <https://www.python.org/downloads/source/>
. You can download either the
latest release's source or just grab a fresh clone[](#l55.24) <https://docs.python.org/devguide/setup.html#getting-the-source-code>
_. (If you want
to contribute patches, you will need a clone.)
--- a/Doc/using/windows.rst
+++ b/Doc/using/windows.rst
@@ -251,12 +251,12 @@ Check :pep:11
for details on all unsup
release/python>_,
Maintainer releases
http://www.tishler.net/jason/software/python/_)[](#l56.5) [](#l56.6) -See
Python for Windows https://www.python.org/download/windows/_[](#l56.7) +See
Python for Windows https://www.python.org/downloads/windows/`_
for detailed information about platforms with pre-compiled installers.
.. seealso::
Python on XP <http://www.richarddooling.com/index.php/2006/03/14/python-on-xp-7-minutes-to-hello-world/>
_
Python on XP <http://dooling.com/index.php/2006/03/14/python-on-xp-7-minutes-to-hello-world/>
_ "7 Minutes to "Hello World!"" by Richard Dooling, 2006
@@ -279,10 +279,10 @@ Besides the standard CPython distributio
additional functionality. The following is a list of popular versions and their
key features:
-ActivePython <http://www.activestate.com/activepython/>
+ActivePython <https://www.activestate.com/activepython/>
Installer with multi-platform compatibility, documentation, PyWin32
-Anaconda <http://www.continuum.io/downloads/>
+Anaconda <https://www.continuum.io/downloads/>
Popular scientific modules (such as numpy, scipy and pandas) and the
conda
package manager.
@@ -352,16 +352,16 @@ System variables, you need non-restricte
.. seealso::
- https://support.microsoft.com/kb/100843[](#l56.36) Environment variables in Windows NT
- https://technet.microsoft.com/en-us/library/cc754250.aspx[](#l56.40) The SET command, for temporarily modifying environment variables
- https://technet.microsoft.com/en-us/library/cc755104.aspx[](#l56.44) The SETX command, for permanently modifying environment variables
- https://support.microsoft.com/kb/310519[](#l56.48)
How To Manage Environment Variables in Windows XP
http://www.chem.gla.ac.uk/~louis/software/faq/q1.html[](#l56.51)
@@ -781,18 +781,18 @@ The Windows-specific standard modules ar
PyWin32
-------
-The
PyWin32 <http://python.net/crew/mhammond/win32/>
_ module by Mark Hammond +ThePyWin32 <https://pypi.python.org/pypi/pywin32>
_ module by Mark Hammond is a collection of modules for advanced Windows-specific support. This includes utilities for: -*Component Object Model <http://www.microsoft.com/com/>
_ (COM) +*Component Object Model <https://www.microsoft.com/com/>
_ (COM)
- Win32 API calls
- Registry
- Event log
-*
Microsoft Foundation Classes <http://msdn.microsoft.com/en-us/library/fe1cf721%28VS.80%29.aspx>
_ (MFC) +*Microsoft Foundation Classes <https://msdn.microsoft.com/en-us/library/fe1cf721%28VS.80%29.aspx>
_ (MFC) user interfaces -PythonWin <http://web.archive.org/web/20060524042422/[](#l56.70) +
PythonWin <https://web.archive.org/web/20060524042422/[](#l56.71) https://www.python.org/windows/pythonwin/>`_ is a sample MFC application shipped with PyWin32. It is an embeddable IDE with a built-in debugger. @@ -831,7 +831,7 @@ Compiling Python on Windows =========================== If you want to compile CPython yourself, first thing you should do is get the -source <https://www.python.org/download/source/>
_. You can download either the +source <https://www.python.org/downloads/source/>
_. You can download either the latest release's source or just grab a freshcheckout[](#l56.81) <https://docs.python.org/devguide/setup.html#getting-the-source-code>
_. @@ -874,7 +874,7 @@ dependants, such as Idle), pip and the P .. note:: The embedded distribution does not include the `Microsoft C Runtime
- https://www.microsoft.com/en-us/download/details.aspx?id=48145`_ and it is the responsibility of the application installer to provide this. The runtime may have already been installed on a user's system previously or automatically via Windows Update, and can be detected by finding
--- a/Doc/whatsnew/2.0.rst +++ b/Doc/whatsnew/2.0.rst @@ -130,7 +130,7 @@ Guidelines": Read the rest of PEP 1 for the details of the PEP editorial process, style, and format. PEPs are kept in the Python CVS tree on SourceForge, though they're not part of the Python 2.0 distribution, and are also available in HTML form from -https://www.python.org/peps/. As of September 2000, there are 25 PEPS, ranging +https://www.python.org/dev/peps/. As of September 2000, there are 25 PEPS, ranging from PEP 201, "Lockstep Iteration", to PEP 225, "Elementwise/Objectwise Operators". @@ -337,7 +337,7 @@ comprehension below is a syntax error, w [ (x,y) for x in seq1 for y in seq2] The idea of list comprehensions originally comes from the functional programming -language Haskell (http://www.haskell.org). Greg Ewing argued most effectively +language Haskell (https://www.haskell.org). Greg Ewing argued most effectively for adding them to Python and wrote the initial list comprehension patch, which was then discussed for a seemingly endless time on the python-dev mailing list and kept up-to-date by Skip Montanaro.
--- a/Doc/whatsnew/2.1.rst +++ b/Doc/whatsnew/2.1.rst @@ -562,7 +562,7 @@ You can start creating packages containi using Python 2.1, since a new release of the Distutils will be made for users of earlier Python versions. Version 1.0.2 of the Distutils includes the changes described in PEP 241, as well as various bugfixes and enhancements. It will be -available from the Distutils SIG at https://www.python.org/sigs/distutils-sig/.[](#l58.7) +available from the Distutils SIG at https://www.python.org/community/sigs/current/distutils-sig/.[](#l58.8) .. seealso::
--- a/Doc/whatsnew/2.3.rst +++ b/Doc/whatsnew/2.3.rst @@ -1080,9 +1080,9 @@ Here are all of the changes that Python 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" http://www.webcom.com/haahr/dylan/linearization-oopsla96.html`_. To
- for Dylan" http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.3910`_. To understand the motivation for this change, read Michele Simionato's article
"Python 2.3 Method Resolution Order" <http://www.phyast.pitt.edu/~micheles/mro.html>
_, or read the thread on python-dev starting with the message at https://mail.python.org/pipermail/python-dev/2002-October/029035.html. Samuele Pedroni first pointed out the problem and also implemented the fix by coding the @@ -1306,7 +1306,7 @@ complete list of changes, or look throug partially sorted order such that, for every index k,heap[k] <=[](#l59.16) heap[2*k+1]
andheap[k] <= heap[2*k+2]
. This makes it quick to remove the smallest item, and inserting a new item while maintaining the heap property is
- O(lg n). (See http://www.nist.gov/dads/HTML/priorityque.html for more
- O(lg n). (See https://xlinux.nist.gov/dads//HTML/priorityque.html for more
information about the priority queue data structure.)
The :mod:
heapq
module provides :func:heappush
and :func:heappop
functions @@ -1949,7 +1949,7 @@ The RPM spec files, found in the :file:` source distribution, were updated for 2.3. (Contributed by Sean Reifschneider.) Other new platforms now supported by Python include AtheOS -(http://www.atheos.cx/), GNU/Hurd, and OpenVMS. +(http://atheos.cx/), GNU/Hurd, and OpenVMS. .. ======================================================================
--- a/Doc/whatsnew/2.4.rst +++ b/Doc/whatsnew/2.4.rst @@ -337,7 +337,7 @@ returned. wrote patches implementing function decorators, but the one that was actually checked in was patch #979728, written by Mark Russell.
- https://wiki.python.org/moin/PythonDecoratorLibrary[](#l60.8) This Wiki page contains several examples of decorators.
.. ====================================================================== @@ -687,7 +687,7 @@ includes a quick-start tutorial and a re The article uses Fortran code to illustrate many of the problems that floating- point inaccuracy can cause.
- http://speleotrove.com/decimal/[](#l60.17)
A description of a decimal-based representation. This representation is being
proposed as a standard, and underlies the new Python decimal type. Much of this
material was written by Mike Cowlishaw, designer of the Rexx language.
@@ -756,7 +756,7 @@ API that perform ASCII-only conversions,
:c:type:
double
to an ASCII string.
The code for these functions came from the GLib library
-(http://library.gnome.org/devel/glib/stable/), whose developers kindly
+(https://developer.gnome.org/glib/stable/), whose developers kindly
relicensed the relevant functions and donated them to the Python Software
Foundation. The :mod:locale
module can now change the numeric locale,
letting extensions such as GTK+ produce the correct results.
--- a/Doc/whatsnew/2.5.rst
+++ b/Doc/whatsnew/2.5.rst
@@ -330,7 +330,7 @@ statement, only the from ... import
:pep:328
- Imports: Multi-Line and Absolute/Relative
PEP written by Aahz; implemented by Thomas Wouters.
- https://pylib.readthedocs.org/[](#l61.8)
The py library by Holger Krekel, which contains the :mod:
py.std
package.
.. ======================================================================
@@ -547,7 +547,7 @@ exhausted.
Earlier versions of these features were proposed in :pep:288
by Raymond
Hettinger and :pep:325
by Samuele Pedroni.
- https://en.wikipedia.org/wiki/Coroutine[](#l61.17) The Wikipedia entry for coroutines. http://www.sidhe.org/~dan/blog/archives/000178.html[](#l61.20) @@ -2088,7 +2088,7 @@ Changes to Python's build process and to provided the results of their examination of the Python source code. The analysis found about 60 bugs that were quickly fixed. Many of the bugs were refcounting problems, often occurring in error-handling code. See
- http://scan.coverity.com for the statistics.
- https://scan.coverity.com for the statistics.
- The largest change to the C API came from :pep:
353
, which modifies the interpreter to use a :c:type:Py_ssize_t
type definition instead of
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -153,8 +153,8 @@ The infrastructure committee of the Pyth
therefore posted a call for issue trackers, asking volunteers to set
up different products and import some of the bugs and patches from
SourceForge. Four different trackers were examined: Jira[](#l62.6) -<http://www.atlassian.com/software/jira/>
,
-Launchpad <http://www.launchpad.net>
,
+https://www.atlassian.com/software/jira/__,[](#l62.9) +
Launchpad https://www.launchpad.net__,[](#l62.10)
Roundup http://roundup.sourceforge.net/__, and[](#l62.11)
Trac http://trac.edgewall.org/`__.
The committee eventually settled on Jira
@@ -217,7 +217,7 @@ the time required to finish the job.
During the 2.6 development cycle, Georg Brandl put a lot of effort
into building a new toolchain for processing the documentation. The
resulting package is called Sphinx, and is available from
-http://sphinx.pocoo.org/.[](#l62.18)
+http://sphinx-doc.org/.[](#l62.19)
Sphinx concentrates on HTML output, producing attractively styled and
modern HTML; printed output is still supported through conversion to
@@ -1796,7 +1796,7 @@ changes, or look through the Subversion
- The :mod:
bsddb
module also has a new maintainer, Jesús Cea Avión, and the package is now available as a standalone package. The web page for the package is `www.jcea.es/programacion/pybsddb.htm[](#l62.26)
- https://www.jcea.es/programacion/pybsddb.htm
__.[](#l62.28) The plan is to remove the package from the standard library[](#l62.29) in Python 3.0, because its pace of releases is much more frequent than[](#l62.30) Python's.[](#l62.31) @@ -1926,7 +1926,7 @@ changes, or look through the Subversion [](#l62.32) the left to six places. (Contributed by Skip Montanaro; :issue:
1158`.)
the General Decimal Specification <http://www2.hursley.ibm.com/decimal/decarith.html>
__. New features
the General Decimal Specification <http://speleotrove.com/decimal/decarith.html>
__. New features include some methods for some basic mathematical functions such as :meth:exp
and :meth:log10
::
--- a/Doc/whatsnew/2.7.rst +++ b/Doc/whatsnew/2.7.rst @@ -1029,7 +1029,7 @@ changes, or look through the Subversion
the pybsddb package <https://www.jcea.es/programacion/pybsddb.htm>
__. 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 @@ -1513,7 +1513,7 @@ changes, or look through the Subversion (Contributed by Kristján Valur Jónsson; :issue:6192
and :issue:6267
.)
- version 2.6.0 of the
pysqlite package <http://code.google.com/p/pysqlite/>
__. Version 2.6.0 includes a number of bugfixes, and adds
- version 2.6.0 of the
pysqlite package <https://github.com/ghaering/pysqlite>
__. Version 2.6.0 includes a number of bugfixes, and adds the ability to load SQLite extensions from shared libraries. Call theenable_load_extension(True)
method to enable extensions, and then call :meth:~sqlite3.Connection.load_extension
to load a particular shared library.
--- a/Doc/whatsnew/3.0.rst +++ b/Doc/whatsnew/3.0.rst @@ -565,7 +565,7 @@ review: core standard library has proved over time to be a particular burden for the core developers due to testing instability and Berkeley DB's release schedule. However, the package is alive and well,
- externally maintained at http://www.jcea.es/programacion/pybsddb.htm.[](#l64.7)
- externally maintained at https://www.jcea.es/programacion/pybsddb.htm.[](#l64.8)
- Some modules were renamed because their old name disobeyed
:pep:
0008
, or for various other reasons. Here's the list:
--- a/Doc/whatsnew/3.2.rst +++ b/Doc/whatsnew/3.2.rst @@ -845,9 +845,9 @@ collections
- The :class:
collections.Counter
class now has two forms of in-place subtraction, the existing -= operator for `saturating subtraction
- http://en.wikipedia.org/wiki/Saturation_arithmetic`_ and the new
- https://en.wikipedia.org/wiki/Saturation_arithmetic
_ and the new[](#l65.8) :meth:
~collections.Counter.subtract` method for regular subtraction. The
- former is suitable for
multisets <https://en.wikipedia.org/wiki/Multiset>
which only have positive counts, and the latter is more suitable for use cases that allow negative counts: @@ -906,7 +906,7 @@ with multiple preconditions does not run complete. Barriers can work with an arbitrary number of threads. This is a generalization -of aRendezvous <http://en.wikipedia.org/wiki/Synchronous_rendezvous>
which +of aRendezvous <https://en.wikipedia.org/wiki/Synchronous_rendezvous>
_ which is defined for only two threads. Implemented as a two-phase cyclic barrier, :class:~threading.Barrier
objects @@ -1043,7 +1043,7 @@ of nearly equal quantities: 0.013765762467652909 The :func:~math.erf
function computes a probability integral orGaussian[](#l65.27) -error function <http://en.wikipedia.org/wiki/Error_function>
_. The +error function https://en.wikipedia.org/wiki/Error_function_. The[](#l65.29) complementary error function, :func:
~math.erfc`, is1 - erf(x)
:erf(1.0/sqrt(2.0)) # portion of normal distribution within 1 standard deviation @@ -1054,7 +1054,7 @@ 0.31731050786291404 1.0 The :func:
~math.gamma
function is a continuous extension of the factorial -function. See http://en.wikipedia.org/wiki/Gamma_function for details. Because +function. See https://en.wikipedia.org/wiki/Gamma_function for details. Because the function is related to factorials, it grows large even for small values of x, so there is also a :func:~math.lgamma
function for computing the natural logarithm of the gamma function: @@ -2180,7 +2180,7 @@ urllib.parse A number of usability improvements were made for the :mod:urllib.parse
module. The :func:~urllib.parse.urlparse
function now supportsIPv6[](#l65.45) -<http://en.wikipedia.org/wiki/IPv6>
_ addresses as described in :rfc:2732
: +https://en.wikipedia.org/wiki/IPv6_ addresses as described in :rfc:
2732:[](#l65.47) [](#l65.48) import urllib.parse[](#l65.49) urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/')[](#l65.50) @@ -2328,7 +2328,7 @@ A number of small performance enhancemen[](#l65.51) (Contributed by Alexandre Vassalotti, Antoine Pitrou[](#l65.52) and the Unladen Swallow team in :issue:
9410and :issue:
3873.)[](#l65.53) [](#l65.54) -* The
Timsort algorithm http://en.wikipedia.org/wiki/Timsort_ used in[](#l65.55) +* The
Timsort algorithm https://en.wikipedia.org/wiki/Timsort_ used in[](#l65.56) :meth:
list.sortand :func:
sortednow runs faster and uses less memory[](#l65.57) when called with a :term:
key function. Previously, every element of[](#l65.58) a list was wrapped with a temporary object that remembered the key value[](#l65.59) @@ -2380,7 +2380,7 @@ Unicode[](#l65.60) [](#l65.61) Python has been updated to
Unicode 6.0.0 http://unicode.org/versions/Unicode6.0.0/_. The update to the standard adds[](#l65.63) -over 2,000 new characters including
emoji http://en.wikipedia.org/wiki/Emoji_[](#l65.64) +over 2,000 new characters including
emoji https://en.wikipedia.org/wiki/Emoji_[](#l65.65) symbols which are important for mobile phones.[](#l65.66) [](#l65.67) In addition, the updated standard has altered the character properties for two[](#l65.68) @@ -2432,7 +2432,7 @@ The documentation continues to be improv[](#l65.69) **Source code** :source:
Lib/functools.py`. (Contributed by Raymond Hettinger; see
- The docs now contain more examples and recipes. In particular, :mod:
re
module has an extensive section, :ref:re-examples
. Likewise, the @@ -2468,7 +2468,7 @@ Code Repository =============== In addition to the existing Subversion code repository at http://svn.python.org[](#l65.81) -there is now aMercurial <http://mercurial.selenic.com/>
_ repository at +there is now aMercurial <https://www.mercurial-scm.org/>
_ repository at https://hg.python.org/\ . After the 3.2 release, there are plans to switch to Mercurial as the primary @@ -2478,7 +2478,7 @@ members of the community to create and s To learn to use the new version control system, see thetutorial by Joel[](#l65.89) Spolsky <http://hginit.com>
_ or theGuide to Mercurial Workflows[](#l65.90) -<http://mercurial.selenic.com/guide>
. +https://www.mercurial-scm.org/guide`. Build and C API Changes
--- a/Doc/whatsnew/3.3.rst +++ b/Doc/whatsnew/3.3.rst @@ -1884,13 +1884,13 @@ socket Heiko Wundram)
- (https://en.wikipedia.org/wiki/Socketcan), on Linux
- (https://lwn.net/Articles/253425).[](#l66.10)
(Contributed by Matthias Fuchs, updated by Tiago Gonçalves in :issue:
10141
.)
- (https://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and https://oss.oracle.com/projects/rds/).[](#l66.17)
--- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -144,7 +144,7 @@ Security improvements: all of the parent's inheritable handles, only the necessary ones.
- A new :func:
hashlib.pbkdf2_hmac
function provides the `PKCS#5 password-based key derivation function 2
- :ref:
TLSv1.1 and TLSv1.2 support <whatsnew-tls-11-12>
for :mod:ssl
. - :ref:
Retrieving certificates from the Windows system cert store support[](#l67.10) <whatsnew34-win-cert-store>
for :mod:ssl
. @@ -902,7 +902,7 @@ hashlib A new :func:hashlib.pbkdf2_hmac
function provides thePKCS#5 password-based key derivation function 2[](#l67.15) -<http://en.wikipedia.org/wiki/PBKDF2>
_. (Contributed by Christian +https://en.wikipedia.org/wiki/PBKDF2_. (Contributed by Christian[](#l67.17) Heimes in :issue:
18582.)[](#l67.18) [](#l67.19) The :attr:
~hashlib.hash.nameattribute of :mod:
hashlibhash objects is now[](#l67.20) @@ -1917,8 +1917,8 @@ Other Build and C API Changes[](#l67.21) :issue:
18596`.) - The Windows build now uses `Address Space Layout Randomization
- http://en.wikipedia.org/wiki/ASLR
_ and
Data Execution Prevention - http://en.wikipedia.org/wiki/Data_Execution_Prevention`_. (Contributed by
- https://en.wikipedia.org/wiki/Address_space_layout_randomization
_ and
Data Execution Prevention - https://en.wikipedia.org/wiki/Data_Execution_Prevention
_. (Contributed by[](#l67.28) Christian Heimes in :issue:
16632`.)
--- a/Doc/whatsnew/3.5.rst
+++ b/Doc/whatsnew/3.5.rst
@@ -2169,7 +2169,7 @@ for details.)
The :c:member:PyTypeObject.tp_finalize
slot is now part of the stable ABI.
Windows builds now require Microsoft Visual C++ 14.0, which
-is available as part of Visual Studio 2015 <http://www.visualstudio.com>
.
+is available as part of Visual Studio 2015 <https://www.visualstudio.com/>
.
Extension modules now include a platform information tag in their filename on
some platforms (the tag is optional, and CPython will import extensions without
--- a/Misc/NEWS +++ b/Misc/NEWS @@ -7411,7 +7411,7 @@ Library
- Issue #16245: Fix the value of a few entities in html.entities.html5.
-- Issue #16301: Fix the localhost verification in urllib/request.py for file://
+- Issue #16301: Fix the localhost verification in urllib/request.py for
file://
urls. - Issue #16250: Fix the invocations of URLError which had misplaced filename