mirror of
https://github.com/python/cpython.git
synced 2025-07-24 03:35:53 +00:00
merge with 3.5
This commit is contained in:
commit
3902d62c4e
69 changed files with 252 additions and 262 deletions
|
@ -35,7 +35,7 @@ Key terms
|
||||||
repository of open source licensed packages made available for use by
|
repository of open source licensed packages made available for use by
|
||||||
other Python users
|
other Python users
|
||||||
* the `Python Packaging Authority
|
* the `Python Packaging Authority
|
||||||
<https://packaging.python.org/en/latest/future.html>`__ are the group of
|
<https://www.pypa.io/>`__ are the group of
|
||||||
developers and documentation authors responsible for the maintenance and
|
developers and documentation authors responsible for the maintenance and
|
||||||
evolution of the standard packaging tools and the associated metadata and
|
evolution of the standard packaging tools and the associated metadata and
|
||||||
file format standards. They maintain a variety of tools, documentation
|
file format standards. They maintain a variety of tools, documentation
|
||||||
|
@ -62,7 +62,7 @@ Key terms
|
||||||
locally.
|
locally.
|
||||||
|
|
||||||
.. _setuptools: https://setuptools.pypa.io/en/latest/setuptools.html
|
.. _setuptools: https://setuptools.pypa.io/en/latest/setuptools.html
|
||||||
.. _wheel: http://wheel.readthedocs.org
|
.. _wheel: https://wheel.readthedocs.org
|
||||||
|
|
||||||
Open source licensing and collaboration
|
Open source licensing and collaboration
|
||||||
=======================================
|
=======================================
|
||||||
|
@ -111,7 +111,7 @@ by invoking the ``pip`` module at the command line::
|
||||||
The Python Packaging User Guide includes more details on the `currently
|
The Python Packaging User Guide includes more details on the `currently
|
||||||
recommended tools`_.
|
recommended tools`_.
|
||||||
|
|
||||||
.. _currently recommended tools: https://packaging.python.org/en/latest/current.html#packaging-tool-recommendations
|
.. _currently recommended tools: https://packaging.python.org/en/latest/current/#packaging-tool-recommendations
|
||||||
|
|
||||||
Reading the guide
|
Reading the guide
|
||||||
=================
|
=================
|
||||||
|
@ -124,11 +124,11 @@ involved in creating a project:
|
||||||
* `Uploading the project to the Python Packaging Index`_
|
* `Uploading the project to the Python Packaging Index`_
|
||||||
|
|
||||||
.. _Project structure: \
|
.. _Project structure: \
|
||||||
https://packaging.python.org/en/latest/distributing.html#creating-your-own-project
|
https://packaging.python.org/en/latest/distributing/
|
||||||
.. _Building and packaging the project: \
|
.. _Building and packaging the project: \
|
||||||
https://packaging.python.org/en/latest/distributing.html#packaging-your-project
|
https://packaging.python.org/en/latest/distributing/#packaging-your-project
|
||||||
.. _Uploading the project to the Python Packaging Index: \
|
.. _Uploading the project to the Python Packaging Index: \
|
||||||
https://packaging.python.org/en/latest/distributing.html#uploading-your-project-to-pypi
|
https://packaging.python.org/en/latest/distributing/#uploading-your-project-to-pypi
|
||||||
|
|
||||||
|
|
||||||
How do I...?
|
How do I...?
|
||||||
|
@ -160,11 +160,11 @@ Python Packaging User Guide for more information and recommendations.
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`Python Packaging User Guide: Binary Extensions
|
`Python Packaging User Guide: Binary Extensions
|
||||||
<https://packaging.python.org/en/latest/extensions.html>`__
|
<https://packaging.python.org/en/latest/extensions>`__
|
||||||
|
|
||||||
.. other topics:
|
.. other topics:
|
||||||
|
|
||||||
Once the Development & Deployment part of PPUG is fleshed out, some of
|
Once the Development & Deployment part of PPUG is fleshed out, some of
|
||||||
those sections should be linked from new questions here (most notably,
|
those sections should be linked from new questions here (most notably,
|
||||||
we should have a question about avoiding depending on PyPI that links to
|
we should have a question about avoiding depending on PyPI that links to
|
||||||
https://packaging.python.org/en/latest/deployment.html#pypi-mirrors-and-caches)
|
https://packaging.python.org/en/latest/mirrors/)
|
||||||
|
|
|
@ -1822,7 +1822,7 @@ Subclasses of :class:`Command` must define the following methods.
|
||||||
|
|
||||||
Builds a `Windows Installer`_ (.msi) binary package.
|
Builds a `Windows Installer`_ (.msi) binary package.
|
||||||
|
|
||||||
.. _Windows Installer: http://msdn.microsoft.com/en-us/library/cc185688(VS.85).aspx
|
.. _Windows Installer: https://msdn.microsoft.com/en-us/library/cc185688(VS.85).aspx
|
||||||
|
|
||||||
In most cases, the ``bdist_msi`` installer is a better choice than the
|
In most cases, the ``bdist_msi`` installer is a better choice than the
|
||||||
``bdist_wininst`` installer, because it provides better support for
|
``bdist_wininst`` installer, because it provides better support for
|
||||||
|
|
|
@ -27,7 +27,7 @@ your system setup; details are given in later chapters.
|
||||||
avoid writing C extensions and preserve portability to other implementations.
|
avoid writing C extensions and preserve portability to other implementations.
|
||||||
For example, if your use case is calling C library functions or system calls,
|
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
|
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
|
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
|
portable between implementations of Python than writing and compiling a C
|
||||||
extension module.
|
extension module.
|
||||||
|
|
|
@ -32,7 +32,7 @@ approaches to creating C and C++ extensions for Python.
|
||||||
|
|
||||||
.. seealso::
|
.. 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
|
The Python Packaging User Guide not only covers several available
|
||||||
tools that simplify the creation of binary extensions, but also
|
tools that simplify the creation of binary extensions, but also
|
||||||
discusses the various reasons why creating an extension module may be
|
discusses the various reasons why creating an extension module may be
|
||||||
|
|
|
@ -370,7 +370,7 @@ Practical answer:
|
||||||
|
|
||||||
`Cython <http://cython.org/>`_ and `Pyrex <http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/>`_
|
`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
|
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.
|
intermingle Python and C code in various ways to increase performance.
|
||||||
`Nuitka <http://www.nuitka.net/>`_ is an up-and-coming compiler of Python
|
`Nuitka <http://www.nuitka.net/>`_ is an up-and-coming compiler of Python
|
||||||
into C++ code, aiming to support the full Python language.
|
into C++ code, aiming to support the full Python language.
|
||||||
|
|
|
@ -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
|
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
|
currently exists, you can try wrapping the library's data types and functions
|
||||||
with a tool such as `SWIG <http://www.swig.org>`_. `SIP
|
with a tool such as `SWIG <http://www.swig.org>`_. `SIP
|
||||||
<http://www.riverbankcomputing.co.uk/software/sip/intro>`__, `CXX
|
<https://riverbankcomputing.com/software/sip/intro>`__, `CXX
|
||||||
<http://cxx.sourceforge.net/>`_ `Boost
|
<http://cxx.sourceforge.net/>`_ `Boost
|
||||||
<http://www.boost.org/libs/python/doc/index.html>`_, or `Weave
|
<http://www.boost.org/libs/python/doc/index.html>`_, or `Weave
|
||||||
<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.
|
alternatives for wrapping C++ libraries.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -159,7 +159,7 @@ How do I obtain a copy of the Python source?
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
|
|
||||||
The latest Python source distribution is always available from python.org, at
|
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.
|
via anonymous Mercurial access at https://hg.python.org/cpython.
|
||||||
|
|
||||||
The source distribution is a gzipped tar file containing the complete C source,
|
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/community/lists/.
|
||||||
How do I get a beta test version of Python?
|
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
|
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
|
newsgroups and on the Python home page at https://www.python.org/; an RSS feed of
|
||||||
news is available.
|
news is available.
|
||||||
|
@ -273,7 +273,7 @@ The Python project's infrastructure is located all over the world.
|
||||||
`www.python.org <https://www.python.org>`_ is graciously hosted by `Rackspace
|
`www.python.org <https://www.python.org>`_ is graciously hosted by `Rackspace
|
||||||
<http://www.rackspace.com>`_, with CDN caching provided by `Fastly
|
<http://www.rackspace.com>`_, with CDN caching provided by `Fastly
|
||||||
<https://www.fastly.com>`_. `Upfront Systems
|
<https://www.fastly.com>`_. `Upfront Systems
|
||||||
<http://www.upfrontsystems.co.za>`_ hosts `bugs.python.org
|
<http://www.upfrontsystems.co.za/>`_ hosts `bugs.python.org
|
||||||
<https://bugs.python.org>`_. Many other Python services like `the Wiki
|
<https://bugs.python.org>`_. Many other Python services like `the Wiki
|
||||||
<https://wiki.python.org>`_ are hosted by `Oregon State
|
<https://wiki.python.org>`_ are hosted by `Oregon State
|
||||||
University Open Source Lab <https://osuosl.org>`_.
|
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
|
When he began implementing Python, Guido van Rossum was also reading the
|
||||||
published scripts from `"Monty Python's Flying Circus"
|
published scripts from `"Monty Python's Flying Circus"
|
||||||
<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
|
||||||
thought he needed a name that was short, unique, and slightly mysterious, so he
|
thought he needed a name that was short, unique, and slightly mysterious, so he
|
||||||
decided to call the language Python.
|
decided to call the language Python.
|
||||||
|
|
||||||
|
@ -313,7 +313,7 @@ guaranteed that interfaces will remain the same throughout a series of bugfix
|
||||||
releases.
|
releases.
|
||||||
|
|
||||||
The latest stable releases can always be found on the `Python download page
|
The latest stable releases can always be found on the `Python download page
|
||||||
<https://www.python.org/download/>`_. There are two recommended production-ready
|
<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
|
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
|
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
|
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
|
High-profile Python projects include `the Mailman mailing list manager
|
||||||
<http://www.list.org>`_ and `the Zope application server
|
<http://www.list.org>`_ and `the Zope application server
|
||||||
<http://www.zope.org>`_. Several Linux distributions, most notably `Red Hat
|
<http://www.zope.org>`_. Several Linux distributions, most notably `Red Hat
|
||||||
<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
|
system administration software in Python. Companies that use Python internally
|
||||||
include Google, Yahoo, and Lucasfilm Ltd.
|
include Google, Yahoo, and Lucasfilm Ltd.
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ Tkinter
|
||||||
Standard builds of Python include an object-oriented interface to the Tcl/Tk
|
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
|
widget set, called :ref:`tkinter <Tkinter>`. This is probably the easiest to
|
||||||
install (since it comes included with most
|
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
|
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
|
`Tcl/Tk home page <http://www.tcl.tk>`_. Tcl/Tk is fully portable to the
|
||||||
Mac OS X, Windows, and Unix platforms.
|
Mac OS X, Windows, and Unix platforms.
|
||||||
|
@ -58,19 +58,19 @@ Qt
|
||||||
---
|
---
|
||||||
|
|
||||||
There are bindings available for the Qt toolkit (using either `PyQt
|
There are bindings available for the Qt toolkit (using either `PyQt
|
||||||
<http://www.riverbankcomputing.co.uk/software/pyqt/intro>`_ or `PySide
|
<https://riverbankcomputing.com/software/pyqt/intro>`_ or `PySide
|
||||||
<http://www.pyside.org/>`_) and for KDE (`PyKDE <https://techbase.kde.org/Development/Languages/Python>`__).
|
<https://wiki.qt.io/PySide>`_) and for KDE (`PyKDE <https://techbase.kde.org/Development/Languages/Python>`__).
|
||||||
PyQt is currently more mature than PySide, but you must buy a PyQt license from
|
PyQt is currently more mature than PySide, but you must buy a PyQt license from
|
||||||
`Riverbank Computing <http://www.riverbankcomputing.co.uk/software/pyqt/license>`_
|
`Riverbank Computing <https://www.riverbankcomputing.com/commercial/license-faq>`_
|
||||||
if you want to write proprietary applications. PySide is free for all applications.
|
if you want to write proprietary applications. PySide is free for all applications.
|
||||||
|
|
||||||
Qt 4.5 upwards is licensed under the LGPL license; also, commercial licenses
|
Qt 4.5 upwards is licensed under the LGPL license; also, commercial licenses
|
||||||
are available from `The Qt Company <http://www.qt.io/licensing/>`_.
|
are available from `The Qt Company <https://www.qt.io/licensing/>`_.
|
||||||
|
|
||||||
Gtk+
|
Gtk+
|
||||||
----
|
----
|
||||||
|
|
||||||
The `GObject introspection bindings <https://live.gnome.org/PyGObject>`_
|
The `GObject introspection bindings <https://wiki.gnome.org/Projects/PyGObject>`_
|
||||||
for Python allow you to write GTK+ 3 applications. There is also a
|
for Python allow you to write GTK+ 3 applications. There is also a
|
||||||
`Python GTK+ 3 Tutorial <http://python-gtk-3-tutorial.readthedocs.org/en/latest/>`_.
|
`Python GTK+ 3 Tutorial <http://python-gtk-3-tutorial.readthedocs.org/en/latest/>`_.
|
||||||
|
|
||||||
|
|
|
@ -619,7 +619,7 @@ For Win32, POSIX (Linux, BSD, etc.), Jython:
|
||||||
|
|
||||||
For Unix, see a Usenet post by Mitch Chapman:
|
For Unix, see a Usenet post by Mitch Chapman:
|
||||||
|
|
||||||
http://groups.google.com/groups?selm=34A04430.CF9@ohioee.com
|
https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com
|
||||||
|
|
||||||
|
|
||||||
Why doesn't closing sys.stdout (stdin, stderr) really close it?
|
Why doesn't closing sys.stdout (stdin, stderr) really close it?
|
||||||
|
|
|
@ -63,7 +63,7 @@ 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
|
warns about code complexity and style. You can get PyChecker from
|
||||||
http://pychecker.sourceforge.net/.
|
http://pychecker.sourceforge.net/.
|
||||||
|
|
||||||
`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
|
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
|
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
|
PyChecker performs, Pylint offers some additional features such as checking line
|
||||||
|
|
|
@ -545,7 +545,7 @@ learn more about submitting patches to Python.
|
||||||
a lengthy tutorial for C programmers.
|
a lengthy tutorial for C programmers.
|
||||||
* `The ncurses man page <http://linux.die.net/man/3/ncurses>`_
|
* `The ncurses man page <http://linux.die.net/man/3/ncurses>`_
|
||||||
* `The ncurses FAQ <http://invisible-island.net/ncurses/ncurses.faq.html>`_
|
* `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.
|
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>`_:
|
* `"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
|
video of a PyCon CA 2012 talk demonstrating some applications written using
|
||||||
|
|
|
@ -332,7 +332,7 @@ substring.
|
||||||
|
|
||||||
List comprehensions and generator expressions (short form: "listcomps" and
|
List comprehensions and generator expressions (short form: "listcomps" and
|
||||||
"genexps") are a concise notation for such operations, borrowed from the
|
"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::
|
all the whitespace from a stream of strings with the following code::
|
||||||
|
|
||||||
line_list = [' line 1\n', 'line 2 \n', ...]
|
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
|
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
|
before returning; instead tuples are constructed and returned only if they're
|
||||||
requested. (The technical term for this behaviour is `lazy evaluation
|
requested. (The technical term for this behaviour is `lazy evaluation
|
||||||
<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
|
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
|
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
|
**Structure and Interpretation of Computer Programs**, by Harold Abelson and
|
||||||
Gerald Jay Sussman with Julie Sussman. Full text at
|
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
|
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
|
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
|
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
|
http://www.defmacro.org/ramblings/fp.html: A general introduction to functional
|
||||||
programming that uses Java examples and has a lengthy historical introduction.
|
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.
|
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
|
Python-specific
|
||||||
---------------
|
---------------
|
||||||
|
|
|
@ -1316,7 +1316,7 @@ An example dictionary-based configuration
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
Below is an example of a logging configuration dictionary - it's taken from
|
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::
|
This dictionary is passed to :func:`~config.dictConfig` to put the configuration into effect::
|
||||||
|
|
||||||
LOGGING = {
|
LOGGING = {
|
||||||
|
|
|
@ -310,7 +310,7 @@ favourite beverage and carry on.
|
||||||
If your logging needs are simple, then use the above examples to incorporate
|
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
|
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
|
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.
|
should receive help before too long.
|
||||||
|
|
||||||
Still here? You can carry on reading the next few sections, which provide a
|
Still here? You can carry on reading the next few sections, which provide a
|
||||||
|
|
|
@ -127,7 +127,7 @@ Sort Stability and Complex Sorts
|
||||||
================================
|
================================
|
||||||
|
|
||||||
Sorts are guaranteed to be `stable
|
Sorts are guaranteed to be `stable
|
||||||
<http://en.wikipedia.org/wiki/Sorting_algorithm#Stability>`_\. That means that
|
<https://en.wikipedia.org/wiki/Sorting_algorithm#Stability>`_\. That means that
|
||||||
when multiple records have the same key, their original order is preserved.
|
when multiple records have the same key, their original order is preserved.
|
||||||
|
|
||||||
>>> data = [('red', 1), ('blue', 1), ('red', 2), ('blue', 2)]
|
>>> data = [('red', 1), ('blue', 1), ('red', 2), ('blue', 2)]
|
||||||
|
@ -145,7 +145,7 @@ ascending *age*, do the *age* sort first and then sort again using *grade*:
|
||||||
>>> sorted(s, key=attrgetter('grade'), reverse=True) # now sort on primary key, descending
|
>>> sorted(s, key=attrgetter('grade'), reverse=True) # now sort on primary key, descending
|
||||||
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
|
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
|
||||||
|
|
||||||
The `Timsort <http://en.wikipedia.org/wiki/Timsort>`_ algorithm used in Python
|
The `Timsort <https://en.wikipedia.org/wiki/Timsort>`_ algorithm used in Python
|
||||||
does multiple sorts efficiently because it can take advantage of any ordering
|
does multiple sorts efficiently because it can take advantage of any ordering
|
||||||
already present in a dataset.
|
already present in a dataset.
|
||||||
|
|
||||||
|
@ -184,7 +184,7 @@ decorated list, but including it gives two benefits:
|
||||||
directly.
|
directly.
|
||||||
|
|
||||||
Another name for this idiom is
|
Another name for this idiom is
|
||||||
`Schwartzian transform <http://en.wikipedia.org/wiki/Schwartzian_transform>`_\,
|
`Schwartzian transform <https://en.wikipedia.org/wiki/Schwartzian_transform>`_\,
|
||||||
after Randal L. Schwartz, who popularized it among Perl programmers.
|
after Randal L. Schwartz, who popularized it among Perl programmers.
|
||||||
|
|
||||||
Now that Python sorting provides key-functions, this technique is not often needed.
|
Now that Python sorting provides key-functions, this technique is not often needed.
|
||||||
|
|
|
@ -73,7 +73,7 @@ revision of Unicode.
|
||||||
precise historical details aren't necessary for understanding how to
|
precise historical details aren't necessary for understanding how to
|
||||||
use Unicode effectively, but if you're curious, consult the Unicode
|
use Unicode effectively, but if you're curious, consult the Unicode
|
||||||
consortium site listed in the References or
|
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.)
|
for more information.)
|
||||||
|
|
||||||
|
|
||||||
|
@ -223,8 +223,8 @@ If this introduction didn't make things clear to you, you should try
|
||||||
reading this alternate article before continuing.
|
reading this alternate article before continuing.
|
||||||
|
|
||||||
Wikipedia entries are often helpful; see the entries for "`character encoding
|
Wikipedia entries are often helpful; see the entries for "`character encoding
|
||||||
<http://en.wikipedia.org/wiki/Character_encoding>`_" and `UTF-8
|
<https://en.wikipedia.org/wiki/Character_encoding>`_" and `UTF-8
|
||||||
<http://en.wikipedia.org/wiki/UTF-8>`_, for example.
|
<https://en.wikipedia.org/wiki/UTF-8>`_, for example.
|
||||||
|
|
||||||
|
|
||||||
Python's Unicode Support
|
Python's Unicode Support
|
||||||
|
|
|
@ -267,7 +267,7 @@ Setting up FastCGI
|
||||||
Each web server requires a specific module.
|
Each web server requires a specific module.
|
||||||
|
|
||||||
* Apache has both `mod_fastcgi <http://www.fastcgi.com/drupal/>`_ and `mod_fcgid
|
* Apache has both `mod_fastcgi <http://www.fastcgi.com/drupal/>`_ and `mod_fcgid
|
||||||
<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
|
||||||
has some licensing issues, which is why it is sometimes considered non-free.
|
has some licensing issues, which is why it is sometimes considered non-free.
|
||||||
``mod_fcgid`` is a smaller, compatible alternative. One of these modules needs
|
``mod_fcgid`` is a smaller, compatible alternative. One of these modules needs
|
||||||
to be loaded by Apache.
|
to be loaded by Apache.
|
||||||
|
@ -277,7 +277,7 @@ Each web server requires a specific module.
|
||||||
`SCGI module <http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModSCGI>`_.
|
`SCGI module <http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModSCGI>`_.
|
||||||
|
|
||||||
* `nginx <http://nginx.org/>`_ also supports `FastCGI
|
* `nginx <http://nginx.org/>`_ also supports `FastCGI
|
||||||
<http://wiki.nginx.org/NginxSimplePythonFCGI>`_.
|
<https://www.nginx.com/resources/wiki/start/topics/examples/simplepythonfcgi/>`_.
|
||||||
|
|
||||||
Once you have installed and configured the module, you can test it with the
|
Once you have installed and configured the module, you can test it with the
|
||||||
following WSGI-application::
|
following WSGI-application::
|
||||||
|
@ -307,8 +307,8 @@ FastCGI access.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
There is some documentation on `setting up Django with FastCGI
|
There is some documentation on `setting up Django with WSGI
|
||||||
<https://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/>`_, most of
|
<https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/>`_, most of
|
||||||
which can be reused for other WSGI-compliant frameworks and libraries.
|
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
|
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.
|
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
|
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
|
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
|
available. For example, instead of writing your own session management (HTTP
|
||||||
is a stateless protocol, so to associate multiple HTTP requests with a single
|
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
|
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
|
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
|
mod_python is called a *WSGI server*. One of these servers is ``flup``, which
|
||||||
supports FastCGI and SCGI, as well as `AJP
|
supports FastCGI and SCGI, as well as `AJP
|
||||||
<http://en.wikipedia.org/wiki/Apache_JServ_Protocol>`_. Some of these servers
|
<https://en.wikipedia.org/wiki/Apache_JServ_Protocol>`_. Some of these servers
|
||||||
are written in Python, as ``flup`` is, but there also exist others which are
|
are written in Python, as ``flup`` is, but there also exist others which are
|
||||||
written in C and can be used as drop-in replacements.
|
written in C and can be used as drop-in replacements.
|
||||||
|
|
||||||
|
@ -390,8 +390,8 @@ compared with other web technologies.
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
A good overview of WSGI-related code can be found in the `WSGI homepage
|
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
|
<https://wsgi.readthedocs.org/>`_, 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/en/latest/servers.html>`_ which can be used by *any* application
|
||||||
supporting WSGI.
|
supporting WSGI.
|
||||||
|
|
||||||
You might be interested in some WSGI-supporting modules already contained in
|
You might be interested in some WSGI-supporting modules already contained in
|
||||||
|
@ -408,7 +408,7 @@ an application that's been around for a while, which was written in
|
||||||
Python without using WSGI.
|
Python without using WSGI.
|
||||||
|
|
||||||
One of the most widely used wiki software packages is `MoinMoin
|
One of the most widely used wiki software packages is `MoinMoin
|
||||||
<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
|
||||||
three years. Older versions needed separate code to run on CGI, mod_python,
|
three years. Older versions needed separate code to run on CGI, mod_python,
|
||||||
FastCGI and standalone.
|
FastCGI and standalone.
|
||||||
|
|
||||||
|
@ -460,7 +460,7 @@ maintainable web sites.
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
The English Wikipedia has an article about the `Model-View-Controller pattern
|
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.
|
list of web frameworks for various programming languages.
|
||||||
|
|
||||||
|
|
||||||
|
@ -543,10 +543,10 @@ module, and which uses only one file. It has no other dependencies. For
|
||||||
smaller sites SQLite is just enough.
|
smaller sites SQLite is just enough.
|
||||||
|
|
||||||
Relational databases are *queried* using a language called `SQL
|
Relational databases are *queried* using a language called `SQL
|
||||||
<http://en.wikipedia.org/wiki/SQL>`_. Python programmers in general do not
|
<https://en.wikipedia.org/wiki/SQL>`_. Python programmers in general do not
|
||||||
like SQL too much, as they prefer to work with objects. It is possible to save
|
like SQL too much, as they prefer to work with objects. It is possible to save
|
||||||
Python objects into a database using a technology called `ORM
|
Python objects into a database using a technology called `ORM
|
||||||
<http://en.wikipedia.org/wiki/Object-relational_mapping>`_ (Object Relational
|
<https://en.wikipedia.org/wiki/Object-relational_mapping>`_ (Object Relational
|
||||||
Mapping). ORM translates all object-oriented access into SQL code under the
|
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
|
hood, so the developer does not need to think about it. Most `frameworks`_ use
|
||||||
ORMs, and it works quite well.
|
ORMs, and it works quite well.
|
||||||
|
@ -579,13 +579,13 @@ alternate storage mechanism.
|
||||||
helps with choosing a method for saving data
|
helps with choosing a method for saving data
|
||||||
|
|
||||||
* `SQLAlchemy <http://www.sqlalchemy.org/>`_, the most powerful OR-Mapper
|
* `SQLAlchemy <http://www.sqlalchemy.org/>`_, the most powerful OR-Mapper
|
||||||
for Python, and `Elixir <http://elixir.ematia.de/>`_, which makes
|
for Python, and `Elixir <https://pypi.python.org/pypi/Elixir>`_, which makes
|
||||||
SQLAlchemy easier to use
|
SQLAlchemy easier to use
|
||||||
|
|
||||||
* `SQLObject <http://www.sqlobject.org/>`_, another popular OR-Mapper
|
* `SQLObject <http://www.sqlobject.org/>`_, another popular OR-Mapper
|
||||||
|
|
||||||
* `ZODB <https://launchpad.net/zodb>`_ and `Durus
|
* `ZODB <https://launchpad.net/zodb>`_ and `Durus
|
||||||
<http://www.mems-exchange.org/software/durus/>`_, two object oriented
|
<https://www.mems-exchange.org/software/>`_, two object oriented
|
||||||
databases
|
databases
|
||||||
|
|
||||||
|
|
||||||
|
@ -671,10 +671,10 @@ experience. TurboGears gives the user flexibility in choosing components. For
|
||||||
example the ORM and template engine can be changed to use packages different
|
example the ORM and template engine can be changed to use packages different
|
||||||
from those used by default.
|
from those used by default.
|
||||||
|
|
||||||
The documentation can be found in the `TurboGears wiki
|
The documentation can be found in the `TurboGears documentation
|
||||||
<http://docs.turbogears.org/>`_, where links to screencasts can be found.
|
<https://turbogears.readthedocs.org/>`_, where links to screencasts can be found.
|
||||||
TurboGears has also an active user community which can respond to most related
|
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.
|
published, which is a good starting point.
|
||||||
|
|
||||||
The newest version of TurboGears, version 2.0, moves even further in direction
|
The newest version of TurboGears, version 2.0, moves even further in direction
|
||||||
|
|
|
@ -48,7 +48,7 @@ Key terms
|
||||||
repository of open source licensed packages made available for use by
|
repository of open source licensed packages made available for use by
|
||||||
other Python users
|
other Python users
|
||||||
* the `Python Packaging Authority
|
* the `Python Packaging Authority
|
||||||
<https://packaging.python.org/en/latest/future.html>`__ are the group of
|
<https://www.pypa.io/en/latest/>`__ are the group of
|
||||||
developers and documentation authors responsible for the maintenance and
|
developers and documentation authors responsible for the maintenance and
|
||||||
evolution of the standard packaging tools and the associated metadata and
|
evolution of the standard packaging tools and the associated metadata and
|
||||||
file format standards. They maintain a variety of tools, documentation
|
file format standards. They maintain a variety of tools, documentation
|
||||||
|
@ -106,7 +106,7 @@ into an active virtual environment uses the commands shown above.
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`Python Packaging User Guide: Installing Python Distribution Packages
|
`Python Packaging User Guide: Installing Python Distribution Packages
|
||||||
<https://packaging.python.org/en/latest/installing.html#installing-python-distribution-packages>`__
|
<https://packaging.python.org/en/latest/installing/>`__
|
||||||
|
|
||||||
|
|
||||||
How do I ...?
|
How do I ...?
|
||||||
|
@ -123,8 +123,8 @@ User Guide.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`Python Packaging User Guide: Setup for Installing Distribution Packages
|
`Python Packaging User Guide: Requirements for Installing Packages
|
||||||
<https://packaging.python.org/en/latest/installing.html#setup-for-installing-distribution-packages>`__
|
<https://packaging.python.org/en/latest/installing/#requirements-for-installing-packages>`__
|
||||||
|
|
||||||
|
|
||||||
.. installing-per-user-installation:
|
.. installing-per-user-installation:
|
||||||
|
@ -143,13 +143,13 @@ A number of scientific Python packages have complex binary dependencies, and
|
||||||
aren't currently easy to install using ``pip`` directly. At this point in
|
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
|
time, it will often be easier for users to install these packages by
|
||||||
`other means
|
`other means
|
||||||
<https://packaging.python.org/en/latest/science.html>`__
|
<https://packaging.python.org/en/latest/science/>`__
|
||||||
rather than attempting to install them with ``pip``.
|
rather than attempting to install them with ``pip``.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`Python Packaging User Guide: Installing Scientific Packages
|
`Python Packaging User Guide: Installing Scientific Packages
|
||||||
<https://packaging.python.org/en/latest/science.html>`__
|
<https://packaging.python.org/en/latest/science/>`__
|
||||||
|
|
||||||
|
|
||||||
... work with multiple versions of Python installed in parallel?
|
... 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
|
Once the Development & Deployment part of PPUG is fleshed out, some of
|
||||||
those sections should be linked from new questions here (most notably,
|
those sections should be linked from new questions here (most notably,
|
||||||
we should have a question about avoiding depending on PyPI that links to
|
we should have a question about avoiding depending on PyPI that links to
|
||||||
https://packaging.python.org/en/latest/deployment.html#pypi-mirrors-and-caches)
|
https://packaging.python.org/en/latest/mirrors/)
|
||||||
|
|
||||||
|
|
||||||
Common installation issues
|
Common installation issues
|
||||||
|
@ -212,11 +212,11 @@ as users are more regularly able to install pre-built extensions rather
|
||||||
than needing to build them themselves.
|
than needing to build them themselves.
|
||||||
|
|
||||||
Some of the solutions for installing `scientific software
|
Some of the solutions for installing `scientific software
|
||||||
<https://packaging.python.org/en/latest/science.html>`__
|
<https://packaging.python.org/en/latest/science/>`__
|
||||||
that is not yet available as pre-built ``wheel`` files may also help with
|
that is not yet available as pre-built ``wheel`` files may also help with
|
||||||
obtaining other binary extensions without needing to build them locally.
|
obtaining other binary extensions without needing to build them locally.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`Python Packaging User Guide: Binary Extensions
|
`Python Packaging User Guide: Binary Extensions
|
||||||
<https://packaging.python.org/en/latest/extensions.html>`__
|
<https://packaging.python.org/en/latest/extensions/>`__
|
||||||
|
|
|
@ -41,7 +41,7 @@ asyncio currently provides two implementations of event loops:
|
||||||
|
|
||||||
On Windows, only sockets are supported (ex: pipes are not supported):
|
On Windows, only sockets are supported (ex: pipes are not supported):
|
||||||
see the `MSDN documentation of select
|
see the `MSDN documentation of select
|
||||||
<http://msdn.microsoft.com/en-us/library/windows/desktop/ms740141%28v=vs.85%29.aspx>`_.
|
<https://msdn.microsoft.com/en-us/library/windows/desktop/ms740141%28v=vs.85%29.aspx>`_.
|
||||||
|
|
||||||
.. class:: ProactorEventLoop
|
.. class:: ProactorEventLoop
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ asyncio currently provides two implementations of event loops:
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`MSDN documentation on I/O Completion Ports
|
`MSDN documentation on I/O Completion Ports
|
||||||
<http://msdn.microsoft.com/en-us/library/windows/desktop/aa365198%28v=vs.85%29.aspx>`_.
|
<https://msdn.microsoft.com/en-us/library/windows/desktop/aa365198%28v=vs.85%29.aspx>`_.
|
||||||
|
|
||||||
Example to use a :class:`ProactorEventLoop` on Windows::
|
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 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
|
The best resolution is 0.5 msec. The resolution depends on the hardware
|
||||||
(availability of `HPET
|
(availability of `HPET
|
||||||
<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
|
||||||
configuration. See :ref:`asyncio delayed calls <asyncio-delayed-calls>`.
|
configuration. See :ref:`asyncio delayed calls <asyncio-delayed-calls>`.
|
||||||
|
|
||||||
.. versionchanged:: 3.5
|
.. versionchanged:: 3.5
|
||||||
|
|
|
@ -51,7 +51,7 @@ Create a subprocess: high-level API using Process
|
||||||
|
|
||||||
It is the application's responsibility to ensure that all whitespace and
|
It is the application's responsibility to ensure that all whitespace and
|
||||||
metacharacters are quoted appropriately to avoid `shell injection
|
metacharacters are quoted appropriately to avoid `shell injection
|
||||||
<http://en.wikipedia.org/wiki/Shell_injection#Shell_injection>`_
|
<https://en.wikipedia.org/wiki/Shell_injection#Shell_injection>`_
|
||||||
vulnerabilities. The :func:`shlex.quote` function can be used to properly
|
vulnerabilities. The :func:`shlex.quote` function can be used to properly
|
||||||
escape whitespace and shell metacharacters in strings that are going to be
|
escape whitespace and shell metacharacters in strings that are going to be
|
||||||
used to construct shell commands.
|
used to construct shell commands.
|
||||||
|
@ -134,7 +134,7 @@ Run subprocesses asynchronously using the :mod:`subprocess` module.
|
||||||
|
|
||||||
It is the application's responsibility to ensure that all whitespace and
|
It is the application's responsibility to ensure that all whitespace and
|
||||||
metacharacters are quoted appropriately to avoid `shell injection
|
metacharacters are quoted appropriately to avoid `shell injection
|
||||||
<http://en.wikipedia.org/wiki/Shell_injection#Shell_injection>`_
|
<https://en.wikipedia.org/wiki/Shell_injection#Shell_injection>`_
|
||||||
vulnerabilities. The :func:`shlex.quote` function can be used to properly
|
vulnerabilities. The :func:`shlex.quote` function can be used to properly
|
||||||
escape whitespace and shell metacharacters in strings that are going to be
|
escape whitespace and shell metacharacters in strings that are going to be
|
||||||
used to construct shell commands.
|
used to construct shell commands.
|
||||||
|
|
|
@ -374,12 +374,12 @@ or subtracting from an empty counter.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
* `Bag class <http://www.gnu.org/software/smalltalk/manual-base/html_node/Bag.html>`_
|
* `Bag class <https://www.gnu.org/software/smalltalk/manual-base/html_node/Bag.html>`_
|
||||||
in Smalltalk.
|
in Smalltalk.
|
||||||
|
|
||||||
* Wikipedia entry for `Multisets <http://en.wikipedia.org/wiki/Multiset>`_.
|
* Wikipedia entry for `Multisets <https://en.wikipedia.org/wiki/Multiset>`_.
|
||||||
|
|
||||||
* `C++ multisets <http://www.demo2s.com/Tutorial/Cpp/0380__set-multiset/Catalog0380__set-multiset.htm>`_
|
* `C++ multisets <http://www.java2s.com/Tutorial/Cpp/0380__set-multiset/Catalog0380__set-multiset.htm>`_
|
||||||
tutorial with examples.
|
tutorial with examples.
|
||||||
|
|
||||||
* For mathematical operations on multisets and their use cases, see
|
* For mathematical operations on multisets and their use cases, see
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
:mod:`dbm` is a generic interface to variants of the DBM database ---
|
: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
|
: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
|
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.
|
the Oracle Berkeley DB.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -109,9 +109,6 @@ reset them before monitoring a calculation.
|
||||||
* IBM's General Decimal Arithmetic Specification, `The General Decimal Arithmetic
|
* IBM's General Decimal Arithmetic Specification, `The General Decimal Arithmetic
|
||||||
Specification <http://speleotrove.com/decimal/decarith.html>`_.
|
Specification <http://speleotrove.com/decimal/decarith.html>`_.
|
||||||
|
|
||||||
* IEEE standard 854-1987, `Unofficial IEEE 854 Text
|
|
||||||
<http://754r.ucbtest.org/standards/854.pdf>`_.
|
|
||||||
|
|
||||||
.. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
.. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ Here are the public methods of the :class:`Generator` class, imported from the
|
||||||
followed by a space at the beginning of the line. This is the only guaranteed
|
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
|
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
|
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 to ``False`` if you are not
|
defaults to ``True``, but you might want to set this to ``False`` if you are not
|
||||||
writing Unix mailbox format files.
|
writing Unix mailbox format files.
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ formatted string representation of a message object. For more detail, see
|
||||||
i.e. ``From`` followed by a space at the beginning of the line. This is the
|
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
|
only guaranteed portable way to avoid having such lines be mistaken for a
|
||||||
Unix mailbox format envelope header separator (see `WHY THE CONTENT-LENGTH
|
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 to
|
*mangle_from_* defaults to ``True``, but you might want to set this to
|
||||||
``False`` if you are not writing Unix mailbox format files.
|
``False`` if you are not writing Unix mailbox format files.
|
||||||
|
|
||||||
|
|
|
@ -1418,7 +1418,7 @@ are always available. They are listed here in alphabetical order.
|
||||||
|
|
||||||
For practical suggestions on how to design cooperative classes using
|
For practical suggestions on how to design cooperative classes using
|
||||||
:func:`super`, see `guide to using super()
|
:func:`super`, see `guide to using super()
|
||||||
<http://rhettinger.wordpress.com/2011/05/26/super-considered-super/>`_.
|
<https://rhettinger.wordpress.com/2011/05/26/super-considered-super/>`_.
|
||||||
|
|
||||||
|
|
||||||
.. _func-tuple:
|
.. _func-tuple:
|
||||||
|
|
|
@ -73,7 +73,7 @@ The :mod:`functools` module defines the following functions:
|
||||||
bypassing the cache, or for rewrapping the function with a different cache.
|
bypassing the cache, or for rewrapping the function with a different cache.
|
||||||
|
|
||||||
An `LRU (least recently used) cache
|
An `LRU (least recently used) cache
|
||||||
<http://en.wikipedia.org/wiki/Cache_algorithms#Examples>`_ works
|
<https://en.wikipedia.org/wiki/Cache_algorithms#Examples>`_ works
|
||||||
best when the most recent calls are the best predictors of upcoming calls (for
|
best when the most recent calls are the best predictors of upcoming calls (for
|
||||||
example, the most popular articles on a news server tend to change each day).
|
example, the most popular articles on a news server tend to change each day).
|
||||||
The cache's size limit assures that the cache does not grow without bound on
|
The cache's size limit assures that the cache does not grow without bound on
|
||||||
|
@ -99,9 +99,9 @@ The :mod:`functools` module defines the following functions:
|
||||||
CacheInfo(hits=3, misses=8, maxsize=32, currsize=8)
|
CacheInfo(hits=3, misses=8, maxsize=32, currsize=8)
|
||||||
|
|
||||||
Example of efficiently computing
|
Example of efficiently computing
|
||||||
`Fibonacci numbers <http://en.wikipedia.org/wiki/Fibonacci_number>`_
|
`Fibonacci numbers <https://en.wikipedia.org/wiki/Fibonacci_number>`_
|
||||||
using a cache to implement a
|
using a cache to implement a
|
||||||
`dynamic programming <http://en.wikipedia.org/wiki/Dynamic_programming>`_
|
`dynamic programming <https://en.wikipedia.org/wiki/Dynamic_programming>`_
|
||||||
technique::
|
technique::
|
||||||
|
|
||||||
@lru_cache(maxsize=None)
|
@lru_cache(maxsize=None)
|
||||||
|
|
|
@ -132,7 +132,7 @@ the iterable into an actual heap.
|
||||||
Basic Examples
|
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
|
pushing all values onto a heap and then popping off the smallest values one at a
|
||||||
time::
|
time::
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ Heap elements can be tuples. This is useful for assigning comparison values
|
||||||
Priority Queue Implementation Notes
|
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:
|
for a heap, and it presents several implementation challenges:
|
||||||
|
|
||||||
* Sort stability: how do you get two tasks with equal priorities to be returned
|
* Sort stability: how do you get two tasks with equal priorities to be returned
|
||||||
|
|
|
@ -21,7 +21,7 @@ HTTPS protocols. It is normally not used directly --- the module
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
The `Requests package <http://requests.readthedocs.org/>`_
|
The `Requests package <https://requests.readthedocs.org/>`_
|
||||||
is recommended for a higher-level http client interface.
|
is recommended for a higher-level http client interface.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
|
@ -117,7 +117,7 @@ loops that truncate the stream.
|
||||||
:func:`min` for a running minimum, :func:`max` for a running maximum, or
|
:func:`min` for a running minimum, :func:`max` for a running maximum, or
|
||||||
:func:`operator.mul` for a running product. Amortization tables can be
|
:func:`operator.mul` for a running product. Amortization tables can be
|
||||||
built by accumulating interest and applying payments. First-order
|
built by accumulating interest and applying payments. First-order
|
||||||
`recurrence relations <http://en.wikipedia.org/wiki/Recurrence_relation>`_
|
`recurrence relations <https://en.wikipedia.org/wiki/Recurrence_relation>`_
|
||||||
can be modeled by supplying the initial value in the iterable and using only
|
can be modeled by supplying the initial value in the iterable and using only
|
||||||
the accumulated total in *func* argument::
|
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))
|
>>> list(accumulate(cashflows, lambda bal, pmt: bal*1.05 + pmt))
|
||||||
[1000, 960.0, 918.0, 873.9000000000001, 827.5950000000001]
|
[1000, 960.0, 918.0, 873.9000000000001, 827.5950000000001]
|
||||||
|
|
||||||
# Chaotic recurrence relation http://en.wikipedia.org/wiki/Logistic_map
|
# Chaotic recurrence relation https://en.wikipedia.org/wiki/Logistic_map
|
||||||
>>> logistic_map = lambda x, _: r * x * (1 - x)
|
>>> logistic_map = lambda x, _: r * x * (1 - x)
|
||||||
>>> r = 3.8
|
>>> r = 3.8
|
||||||
>>> x0 = 0.4
|
>>> x0 = 0.4
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
:rfc:`7159` (which obsoletes :rfc:`4627`) and by
|
:rfc:`7159` (which obsoletes :rfc:`4627`) and by
|
||||||
`ECMA-404 <http://www.ecma-international.org/publications/standards/Ecma-404.htm>`_,
|
`ECMA-404 <http://www.ecma-international.org/publications/standards/Ecma-404.htm>`_,
|
||||||
is a lightweight data interchange format inspired by
|
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]_ ).
|
(although it is not a strict subset of JavaScript [#rfc-errata]_ ).
|
||||||
|
|
||||||
:mod:`json` exposes an API familiar to users of the standard library
|
:mod:`json` exposes an API familiar to users of the standard library
|
||||||
|
|
|
@ -1246,7 +1246,7 @@ with the :mod:`warnings` module.
|
||||||
The proposal which described this feature for inclusion in the Python standard
|
The proposal which described this feature for inclusion in the Python standard
|
||||||
library.
|
library.
|
||||||
|
|
||||||
`Original Python logging package <http://www.red-dove.com/python_logging.html>`_
|
`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
|
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
|
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
|
and 2.2.x, which do not include the :mod:`logging` package in the standard
|
||||||
|
|
|
@ -484,7 +484,7 @@ Supported mailbox formats are Maildir, mbox, MH, Babyl, and MMDF.
|
||||||
`mbox man page from tin <http://www.tin.org/bin/man.cgi?section=5&topic=mbox>`_
|
`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.
|
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.
|
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>`_
|
`"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, mbox, MH, Babyl, and MMDF.
|
||||||
`mmdf man page from tin <http://www.tin.org/bin/man.cgi?section=5&topic=mmdf>`_
|
`mmdf 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.
|
A specification of MMDF format from the documentation of tin, a newsreader.
|
||||||
|
|
||||||
`MMDF <http://en.wikipedia.org/wiki/MMDF>`_
|
`MMDF <https://en.wikipedia.org/wiki/MMDF>`_
|
||||||
A Wikipedia article describing the Multichannel Memorandum Distribution
|
A Wikipedia article describing the Multichannel Memorandum Distribution
|
||||||
Facility.
|
Facility.
|
||||||
|
|
||||||
|
|
|
@ -97,7 +97,7 @@ Number-theoretic and representation functions
|
||||||
|
|
||||||
For further discussion and two alternative approaches, see the `ASPN cookbook
|
For further discussion and two alternative approaches, see the `ASPN cookbook
|
||||||
recipes for accurate floating point summation
|
recipes for accurate floating point summation
|
||||||
<http://code.activestate.com/recipes/393090/>`_\.
|
<https://code.activestate.com/recipes/393090/>`_\.
|
||||||
|
|
||||||
|
|
||||||
.. function:: gcd(a, b)
|
.. 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``
|
Return ``e**x - 1``. For small floats *x*, the subtraction in ``exp(x) - 1``
|
||||||
can result in a `significant loss of precision
|
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::
|
function provides a way to compute this quantity to full precision::
|
||||||
|
|
||||||
>>> from math import exp, expm1
|
>>> from math import exp, expm1
|
||||||
|
@ -332,7 +332,7 @@ Angular conversion
|
||||||
Hyperbolic functions
|
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
|
are analogs of trigonometric functions that are based on hyperbolas
|
||||||
instead of circles.
|
instead of circles.
|
||||||
|
|
||||||
|
@ -371,12 +371,12 @@ Special functions
|
||||||
|
|
||||||
.. function:: erf(x)
|
.. function:: erf(x)
|
||||||
|
|
||||||
Return the `error function <http://en.wikipedia.org/wiki/Error_function>`_ at
|
Return the `error function <https://en.wikipedia.org/wiki/Error_function>`_ at
|
||||||
*x*.
|
*x*.
|
||||||
|
|
||||||
The :func:`erf` function can be used to compute traditional statistical
|
The :func:`erf` function can be used to compute traditional statistical
|
||||||
functions such as the `cumulative standard normal distribution
|
functions such as the `cumulative standard normal distribution
|
||||||
<http://en.wikipedia.org/wiki/Normal_distribution#Cumulative_distribution_function>`_::
|
<https://en.wikipedia.org/wiki/Normal_distribution#Cumulative_distribution_function>`_::
|
||||||
|
|
||||||
def phi(x):
|
def phi(x):
|
||||||
'Cumulative distribution function for the standard normal distribution'
|
'Cumulative distribution function for the standard normal distribution'
|
||||||
|
@ -388,17 +388,17 @@ Special functions
|
||||||
.. function:: erfc(x)
|
.. function:: erfc(x)
|
||||||
|
|
||||||
Return the complementary error function at *x*. The `complementary error
|
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
|
||||||
``1.0 - erf(x)``. It is used for large values of *x* where a subtraction
|
``1.0 - erf(x)``. It is used for large values of *x* where a subtraction
|
||||||
from one would cause a `loss of significance
|
from one would cause a `loss of significance
|
||||||
<http://en.wikipedia.org/wiki/Loss_of_significance>`_\.
|
<https://en.wikipedia.org/wiki/Loss_of_significance>`_\.
|
||||||
|
|
||||||
.. versionadded:: 3.2
|
.. versionadded:: 3.2
|
||||||
|
|
||||||
|
|
||||||
.. function:: gamma(x)
|
.. function:: gamma(x)
|
||||||
|
|
||||||
Return the `Gamma function <http://en.wikipedia.org/wiki/Gamma_function>`_ at
|
Return the `Gamma function <https://en.wikipedia.org/wiki/Gamma_function>`_ at
|
||||||
*x*.
|
*x*.
|
||||||
|
|
||||||
.. versionadded:: 3.2
|
.. versionadded:: 3.2
|
||||||
|
|
|
@ -120,9 +120,9 @@ structures.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`FCICreateFile <http://msdn.microsoft.com/library?url=/library/en-us/devnotes/winprog/fcicreate.asp>`_
|
`FCICreateFile <https://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>`_
|
`UuidCreate <https://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>`_
|
`UuidToString <https://msdn.microsoft.com/library?url=/library/en-us/rpc/rpc/uuidtostring.asp>`_
|
||||||
|
|
||||||
.. _database-objects:
|
.. _database-objects:
|
||||||
|
|
||||||
|
@ -151,9 +151,9 @@ Database Objects
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`MSIDatabaseOpenView <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msidatabaseopenview.asp>`_
|
`MSIDatabaseOpenView <https://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>`_
|
`MSIDatabaseCommit <https://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>`_
|
`MSIGetSummaryInformation <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msigetsummaryinformation.asp>`_
|
||||||
|
|
||||||
.. _view-objects:
|
.. _view-objects:
|
||||||
|
|
||||||
|
@ -199,11 +199,11 @@ View Objects
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`MsiViewExecute <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewexecute.asp>`_
|
`MsiViewExecute <https://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>`_
|
`MSIViewGetColumnInfo <https://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>`_
|
`MsiViewFetch <https://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>`_
|
`MsiViewModify <https://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>`_
|
`MsiViewClose <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msiviewclose.asp>`_
|
||||||
|
|
||||||
.. _summary-objects:
|
.. _summary-objects:
|
||||||
|
|
||||||
|
@ -243,10 +243,10 @@ Summary Information Objects
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`MsiSummaryInfoGetProperty <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msisummaryinfogetproperty.asp>`_
|
`MsiSummaryInfoGetProperty <https://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>`_
|
`MsiSummaryInfoGetPropertyCount <https://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>`_
|
`MsiSummaryInfoSetProperty <https://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>`_
|
`MsiSummaryInfoPersist <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msisummaryinfopersist.asp>`_
|
||||||
|
|
||||||
.. _record-objects:
|
.. _record-objects:
|
||||||
|
|
||||||
|
@ -297,11 +297,11 @@ Record Objects
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`MsiRecordGetFieldCount <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordgetfieldcount.asp>`_
|
`MsiRecordGetFieldCount <https://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>`_
|
`MsiRecordSetString <https://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>`_
|
`MsiRecordSetStream <https://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>`_
|
`MsiRecordSetInteger <https://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>`_
|
`MsiRecordClear <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/msirecordclear.asp>`_
|
||||||
|
|
||||||
.. _msi-errors:
|
.. _msi-errors:
|
||||||
|
|
||||||
|
@ -393,10 +393,10 @@ Directory Objects
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`Directory Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/directory_table.asp>`_
|
`Directory Table <https://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>`_
|
`File Table <https://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>`_
|
`Component Table <https://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>`_
|
`FeatureComponents Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/featurecomponents_table.asp>`_
|
||||||
|
|
||||||
.. _features:
|
.. _features:
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ Features
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`Feature Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/feature_table.asp>`_
|
`Feature Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/feature_table.asp>`_
|
||||||
|
|
||||||
.. _msi-gui:
|
.. _msi-gui:
|
||||||
|
|
||||||
|
@ -516,13 +516,13 @@ for installing Python packages.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`Dialog Table <http://msdn.microsoft.com/library?url=/library/en-us/msi/setup/dialog_table.asp>`_
|
`Dialog Table <https://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 Table <https://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>`_
|
`Control Types <https://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>`_
|
`ControlCondition Table <https://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>`_
|
`ControlEvent Table <https://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>`_
|
`EventMapping Table <https://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>`_
|
`RadioButton Table <https://msdn.microsoft.com/library?url=/library/en-us/msi/setup/radiobutton_table.asp>`_
|
||||||
|
|
||||||
.. _msi-tables:
|
.. _msi-tables:
|
||||||
|
|
||||||
|
|
|
@ -894,7 +894,7 @@ The following constants are options for the *flags* parameter to the
|
||||||
:func:`~os.open` function. They can be combined using the bitwise OR operator
|
: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
|
``|``. 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
|
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
|
.. data:: O_RDONLY
|
||||||
|
@ -1922,9 +1922,9 @@ features:
|
||||||
and
|
and
|
||||||
`readdir() <http://pubs.opengroup.org/onlinepubs/009695399/functions/readdir_r.html>`_
|
`readdir() <http://pubs.opengroup.org/onlinepubs/009695399/functions/readdir_r.html>`_
|
||||||
functions. On Windows, it uses the Win32
|
functions. On Windows, it uses the Win32
|
||||||
`FindFirstFileW <http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx>`_
|
`FindFirstFileW <https://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx>`_
|
||||||
and
|
and
|
||||||
`FindNextFileW <http://msdn.microsoft.com/en-us/library/windows/desktop/aa364428(v=vs.85).aspx>`_
|
`FindNextFileW <https://msdn.microsoft.com/en-us/library/windows/desktop/aa364428(v=vs.85).aspx>`_
|
||||||
functions.
|
functions.
|
||||||
|
|
||||||
.. versionadded:: 3.5
|
.. versionadded:: 3.5
|
||||||
|
|
|
@ -8,33 +8,33 @@ available for Python:
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`PyGObject <https://live.gnome.org/PyGObject>`_
|
`PyGObject <https://wiki.gnome.org/Projects/PyGObject>`_
|
||||||
provides introspection bindings for C libraries using
|
provides introspection bindings for C libraries using
|
||||||
`GObject <https://developer.gnome.org/gobject/stable/>`_. One of
|
`GObject <https://developer.gnome.org/gobject/stable/>`_. One of
|
||||||
these libraries is the `GTK+ 3 <http://www.gtk.org/>`_ widget set.
|
these libraries is the `GTK+ 3 <http://www.gtk.org/>`_ widget set.
|
||||||
GTK+ comes with many more widgets than Tkinter provides. An online
|
GTK+ comes with many more widgets than Tkinter provides. An online
|
||||||
`Python GTK+ 3 Tutorial <http://python-gtk-3-tutorial.readthedocs.org/en/latest/>`_
|
`Python GTK+ 3 Tutorial <https://python-gtk-3-tutorial.readthedocs.org/en/latest/>`_
|
||||||
is available.
|
is available.
|
||||||
|
|
||||||
`PyGTK <http://www.pygtk.org/>`_ provides bindings for an older version
|
`PyGTK <http://www.pygtk.org/>`_ provides bindings for an older version
|
||||||
of the library, GTK+ 2. It provides an object oriented interface that
|
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
|
is slightly higher level than the C one. There are also bindings to
|
||||||
`GNOME <http://www.gnome.org>`_. An online `tutorial
|
`GNOME <https://www.gnome.org/>`_. An online `tutorial
|
||||||
<http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available.
|
<http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available.
|
||||||
|
|
||||||
`PyQt <http://www.riverbankcomputing.co.uk/software/pyqt/intro>`_
|
`PyQt <https://riverbankcomputing.com/software/pyqt/intro>`_
|
||||||
PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an
|
PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an
|
||||||
extensive C++ GUI application development framework that is
|
extensive C++ GUI application development framework that is
|
||||||
available for Unix, Windows and Mac OS X. :program:`sip` is a tool
|
available for Unix, Windows and Mac OS X. :program:`sip` is a tool
|
||||||
for generating bindings for C++ libraries as Python classes, and
|
for generating bindings for C++ libraries as Python classes, and
|
||||||
is specifically designed for Python. The *PyQt3* bindings have a
|
is specifically designed for Python. The *PyQt3* bindings have a
|
||||||
book, `GUI Programming with Python: QT Edition
|
book, `GUI Programming with Python: QT Edition
|
||||||
<http://www.commandprompt.com/community/pyqt/>`_ by Boudewijn
|
<https://www.commandprompt.com/community/pyqt/>`_ by Boudewijn
|
||||||
Rempt. The *PyQt4* bindings also have a book, `Rapid GUI Programming
|
Rempt. The *PyQt4* bindings also have a book, `Rapid GUI Programming
|
||||||
with Python and Qt <http://www.qtrac.eu/pyqtbook.html>`_, by Mark
|
with Python and Qt <http://www.qtrac.eu/pyqtbook.html>`_, by Mark
|
||||||
Summerfield.
|
Summerfield.
|
||||||
|
|
||||||
`PySide <http://qt-project.org/wiki/PySide>`_
|
`PySide <https://wiki.qt.io/PySide>`_
|
||||||
is a newer binding to the Qt toolkit, provided by Nokia.
|
is a newer binding to the Qt toolkit, provided by Nokia.
|
||||||
Compared to PyQt, its licensing scheme is friendlier to non-open source
|
Compared to PyQt, its licensing scheme is friendlier to non-open source
|
||||||
applications.
|
applications.
|
||||||
|
@ -50,7 +50,7 @@ available for Python:
|
||||||
low-level device context drawing, drag and drop, system clipboard access,
|
low-level device context drawing, drag and drop, system clipboard access,
|
||||||
an XML-based resource format and more, including an ever growing library
|
an XML-based resource format and more, including an ever growing library
|
||||||
of user-contributed modules. wxPython has a book, `wxPython in Action
|
of user-contributed modules. wxPython has a book, `wxPython in Action
|
||||||
<http://www.manning.com/rappin/>`_, by Noel Rappin and
|
<https://www.manning.com/books/wxpython-in-action>`_, by Noel Rappin and
|
||||||
Robin Dunn.
|
Robin Dunn.
|
||||||
|
|
||||||
PyGTK, PyQt, and wxPython, all have a modern look and feel and more
|
PyGTK, PyQt, and wxPython, all have a modern look and feel and more
|
||||||
|
|
|
@ -267,7 +267,7 @@ Alternative Generator:
|
||||||
|
|
||||||
|
|
||||||
`Complementary-Multiply-with-Carry recipe
|
`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
|
random number generator with a long period and comparatively simple update
|
||||||
operations.
|
operations.
|
||||||
|
|
||||||
|
|
|
@ -1389,7 +1389,7 @@ functionally identical:
|
||||||
Writing a Tokenizer
|
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
|
analyzes a string to categorize groups of characters. This is a useful first
|
||||||
step in writing a compiler or interpreter.
|
step in writing a compiler or interpreter.
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ Two additional methods are supported:
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`Persistent dictionary recipe <http://code.activestate.com/recipes/576642/>`_
|
`Persistent dictionary recipe <https://code.activestate.com/recipes/576642/>`_
|
||||||
with widely supported storage formats and having the speed of native
|
with widely supported storage formats and having the speed of native
|
||||||
dictionaries.
|
dictionaries.
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ Restrictions
|
||||||
A subclass of :class:`Shelf` which exposes :meth:`first`, :meth:`!next`,
|
A subclass of :class:`Shelf` which exposes :meth:`first`, :meth:`!next`,
|
||||||
:meth:`previous`, :meth:`last` and :meth:`set_location` which are available
|
:meth:`previous`, :meth:`last` and :meth:`set_location` which are available
|
||||||
in the third-party :mod:`bsddb` module from `pybsddb
|
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
|
||||||
modules. The *dict* object passed to the constructor must support those
|
modules. The *dict* object passed to the constructor must support those
|
||||||
methods. This is generally accomplished by calling one of
|
methods. This is generally accomplished by calling one of
|
||||||
:func:`bsddb.hashopen`, :func:`bsddb.btopen` or :func:`bsddb.rnopen`. The
|
:func:`bsddb.hashopen`, :func:`bsddb.btopen` or :func:`bsddb.rnopen`. The
|
||||||
|
|
|
@ -983,7 +983,7 @@ to sockets.
|
||||||
|
|
||||||
The :meth:`ioctl` method is a limited interface to the WSAIoctl system
|
The :meth:`ioctl` method is a limited interface to the WSAIoctl system
|
||||||
interface. Please refer to the `Win32 documentation
|
interface. Please refer to the `Win32 documentation
|
||||||
<http://msdn.microsoft.com/en-us/library/ms741621%28VS.85%29.aspx>`_ for more
|
<https://msdn.microsoft.com/en-us/library/ms741621%28VS.85%29.aspx>`_ for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
On other platforms, the generic :func:`fcntl.fcntl` and :func:`fcntl.ioctl`
|
On other platforms, the generic :func:`fcntl.fcntl` and :func:`fcntl.ioctl`
|
||||||
|
|
|
@ -206,7 +206,7 @@ instead.
|
||||||
|
|
||||||
The *ciphers* parameter sets the available ciphers for this SSL object.
|
The *ciphers* parameter sets the available ciphers for this SSL object.
|
||||||
It should be a string in the `OpenSSL cipher list format
|
It should be a string in the `OpenSSL cipher list format
|
||||||
<http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT>`_.
|
<http://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT>`_.
|
||||||
|
|
||||||
The parameter ``do_handshake_on_connect`` specifies whether to do the SSL
|
The parameter ``do_handshake_on_connect`` specifies whether to do the SSL
|
||||||
handshake automatically after doing a :meth:`socket.connect`, or whether the
|
handshake automatically after doing a :meth:`socket.connect`, or whether the
|
||||||
|
@ -296,7 +296,7 @@ Random generation
|
||||||
|
|
||||||
Read the Wikipedia article, `Cryptographically secure pseudorandom number
|
Read the Wikipedia article, `Cryptographically secure pseudorandom number
|
||||||
generator (CSPRNG)
|
generator (CSPRNG)
|
||||||
<http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator>`_,
|
<https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator>`_,
|
||||||
to get the requirements of a cryptographically generator.
|
to get the requirements of a cryptographically generator.
|
||||||
|
|
||||||
.. versionadded:: 3.3
|
.. versionadded:: 3.3
|
||||||
|
@ -721,7 +721,7 @@ Constants
|
||||||
|
|
||||||
Whether the OpenSSL library has built-in support for *Next Protocol
|
Whether the OpenSSL library has built-in support for *Next Protocol
|
||||||
Negotiation* as described in the `NPN draft specification
|
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,
|
||||||
you can use the :meth:`SSLContext.set_npn_protocols` method to advertise
|
you can use the :meth:`SSLContext.set_npn_protocols` method to advertise
|
||||||
which protocols you want to support.
|
which protocols you want to support.
|
||||||
|
|
||||||
|
@ -1212,7 +1212,7 @@ to speed up repeated connections from the same clients.
|
||||||
|
|
||||||
Set the available ciphers for sockets created with this context.
|
Set the available ciphers for sockets created with this context.
|
||||||
It should be a string in the `OpenSSL cipher list format
|
It should be a string in the `OpenSSL cipher list format
|
||||||
<http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT>`_.
|
<http://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT>`_.
|
||||||
If no cipher can be selected (because compile-time options or other
|
If no cipher can be selected (because compile-time options or other
|
||||||
configuration forbids use of all the specified ciphers), an
|
configuration forbids use of all the specified ciphers), an
|
||||||
:class:`SSLError` will be raised.
|
:class:`SSLError` will be raised.
|
||||||
|
@ -1241,7 +1241,7 @@ to speed up repeated connections from the same clients.
|
||||||
handshake. It should be a list of strings, like ``['http/1.1', 'spdy/2']``,
|
handshake. It should be a list of strings, like ``['http/1.1', 'spdy/2']``,
|
||||||
ordered by preference. The selection of a protocol will happen during the
|
ordered by preference. The selection of a protocol will happen during the
|
||||||
handshake, and will play out according to the `NPN draft specification
|
handshake, and will play out according to the `NPN draft specification
|
||||||
<http://tools.ietf.org/html/draft-agl-tls-nextprotoneg>`_. After a
|
<https://tools.ietf.org/html/draft-agl-tls-nextprotoneg>`_. After a
|
||||||
successful handshake, the :meth:`SSLSocket.selected_npn_protocol` method will
|
successful handshake, the :meth:`SSLSocket.selected_npn_protocol` method will
|
||||||
return the agreed-upon protocol.
|
return the agreed-upon protocol.
|
||||||
|
|
||||||
|
@ -2019,7 +2019,7 @@ enabled when negotiating a SSL session is possible through the
|
||||||
:meth:`SSLContext.set_ciphers` method. Starting from Python 3.2.3, the
|
:meth:`SSLContext.set_ciphers` method. Starting from Python 3.2.3, the
|
||||||
ssl module disables certain weak ciphers by default, but you may want
|
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
|
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
|
If you want to check which ciphers are enabled by a given cipher list, use the
|
||||||
``openssl ciphers`` command on your system.
|
``openssl ciphers`` command on your system.
|
||||||
|
|
||||||
|
@ -2040,25 +2040,25 @@ successful call of :func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` or
|
||||||
Class :class:`socket.socket`
|
Class :class:`socket.socket`
|
||||||
Documentation of underlying :mod:`socket` class
|
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
|
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
|
Steve Kent
|
||||||
|
|
||||||
`RFC 1750: Randomness Recommendations for Security <http://www.ietf.org/rfc/rfc1750>`_
|
`RFC 1750: Randomness Recommendations for Security <https://www.ietf.org/rfc/rfc1750>`_
|
||||||
D. Eastlake et. al.
|
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.
|
Housley et. al.
|
||||||
|
|
||||||
`RFC 4366: Transport Layer Security (TLS) Extensions <http://www.ietf.org/rfc/rfc4366>`_
|
`RFC 4366: Transport Layer Security (TLS) Extensions <https://www.ietf.org/rfc/rfc4366>`_
|
||||||
Blake-Wilson et. al.
|
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.
|
T. Dierks et. al.
|
||||||
|
|
||||||
`RFC 6066: Transport Layer Security (TLS) Extensions <http://tools.ietf.org/html/rfc6066>`_
|
`RFC 6066: Transport Layer Security (TLS) Extensions <https://tools.ietf.org/html/rfc6066>`_
|
||||||
D. Eastlake
|
D. Eastlake
|
||||||
|
|
||||||
`IANA TLS: Transport Layer Security (TLS) Parameters <http://www.iana.org/assignments/tls-parameters/tls-parameters.xml>`_
|
`IANA TLS: Transport Layer Security (TLS) Parameters <http://www.iana.org/assignments/tls-parameters/tls-parameters.xml>`_
|
||||||
|
|
|
@ -403,7 +403,7 @@ See the \*BSD or Mac OS systems man page :manpage:`chflags(2)` for more informat
|
||||||
On Windows, the following file attribute constants are available for use when
|
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`.
|
testing bits in the ``st_file_attributes`` member returned by :func:`os.stat`.
|
||||||
See the `Windows API documentation
|
See the `Windows API documentation
|
||||||
<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.
|
for more detail on the meaning of these constants.
|
||||||
|
|
||||||
.. data:: FILE_ATTRIBUTE_ARCHIVE
|
.. data:: FILE_ATTRIBUTE_ARCHIVE
|
||||||
|
|
|
@ -475,7 +475,7 @@ functions.
|
||||||
execute. On Windows, in order to run a `side-by-side assembly`_ the
|
execute. On Windows, in order to run a `side-by-side assembly`_ the
|
||||||
specified *env* **must** include a valid :envvar:`SystemRoot`.
|
specified *env* **must** include a valid :envvar:`SystemRoot`.
|
||||||
|
|
||||||
.. _side-by-side assembly: http://en.wikipedia.org/wiki/Side-by-Side_Assembly
|
.. _side-by-side assembly: https://en.wikipedia.org/wiki/Side-by-Side_Assembly
|
||||||
|
|
||||||
If *universal_newlines* is ``True``, the file objects *stdin*, *stdout*
|
If *universal_newlines* is ``True``, the file objects *stdin*, *stdout*
|
||||||
and *stderr* are opened as text streams in universal newlines mode, as
|
and *stderr* are opened as text streams in universal newlines mode, as
|
||||||
|
@ -536,7 +536,7 @@ including shell metacharacters, can safely be passed to child processes.
|
||||||
If the shell is invoked explicitly, via ``shell=True``, it is the application's
|
If the shell is invoked explicitly, via ``shell=True``, it is the application's
|
||||||
responsibility to ensure that all whitespace and metacharacters are
|
responsibility to ensure that all whitespace and metacharacters are
|
||||||
quoted appropriately to avoid
|
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.
|
vulnerabilities.
|
||||||
|
|
||||||
When using ``shell=True``, the :func:`shlex.quote` function can be
|
When using ``shell=True``, the :func:`shlex.quote` function can be
|
||||||
|
@ -721,7 +721,7 @@ on Windows.
|
||||||
.. class:: STARTUPINFO()
|
.. class:: STARTUPINFO()
|
||||||
|
|
||||||
Partial support of the Windows
|
Partial support of the Windows
|
||||||
`STARTUPINFO <http://msdn.microsoft.com/en-us/library/ms686331(v=vs.85).aspx>`__
|
`STARTUPINFO <https://msdn.microsoft.com/en-us/library/ms686331(v=vs.85).aspx>`__
|
||||||
structure is used for :class:`Popen` creation.
|
structure is used for :class:`Popen` creation.
|
||||||
|
|
||||||
.. attribute:: dwFlags
|
.. attribute:: dwFlags
|
||||||
|
@ -757,7 +757,7 @@ on Windows.
|
||||||
If :attr:`dwFlags` specifies :data:`STARTF_USESHOWWINDOW`, this attribute
|
If :attr:`dwFlags` specifies :data:`STARTF_USESHOWWINDOW`, this attribute
|
||||||
can be any of the values that can be specified in the ``nCmdShow``
|
can be any of the values that can be specified in the ``nCmdShow``
|
||||||
parameter for the
|
parameter for the
|
||||||
`ShowWindow <http://msdn.microsoft.com/en-us/library/ms633548(v=vs.85).aspx>`__
|
`ShowWindow <https://msdn.microsoft.com/en-us/library/ms633548(v=vs.85).aspx>`__
|
||||||
function, except for ``SW_SHOWDEFAULT``. Otherwise, this attribute is
|
function, except for ``SW_SHOWDEFAULT``. Otherwise, this attribute is
|
||||||
ignored.
|
ignored.
|
||||||
|
|
||||||
|
|
|
@ -661,7 +661,7 @@ The :mod:`test.support` module defines the following classes:
|
||||||
are expected to crash a subprocess.
|
are expected to crash a subprocess.
|
||||||
|
|
||||||
On Windows, it disables Windows Error Reporting dialogs using
|
On Windows, it disables Windows Error Reporting dialogs using
|
||||||
`SetErrorMode <http://msdn.microsoft.com/en-us/library/windows/desktop/ms680621.aspx>`_.
|
`SetErrorMode <https://msdn.microsoft.com/en-us/library/windows/desktop/ms680621.aspx>`_.
|
||||||
|
|
||||||
On UNIX, :func:`resource.setrlimit` is used to set
|
On UNIX, :func:`resource.setrlimit` is used to set
|
||||||
:attr:`resource.RLIMIT_CORE`'s soft limit to 0 to prevent coredump file
|
:attr:`resource.RLIMIT_CORE`'s soft limit to 0 to prevent coredump file
|
||||||
|
|
|
@ -31,13 +31,13 @@ this should open a window demonstrating a simple Tk interface.
|
||||||
`Tcl/Tk manual <http://www.tcl.tk/man/tcl8.5/>`_
|
`Tcl/Tk manual <http://www.tcl.tk/man/tcl8.5/>`_
|
||||||
Official manual for the latest tcl/tk version.
|
Official manual for the latest tcl/tk version.
|
||||||
|
|
||||||
`Programming Python <http://www.rmi.net/~lutz/about-pp4e.html>`_
|
`Programming Python <http://learning-python.com/books/about-pp4e.html>`_
|
||||||
Book by Mark Lutz, has excellent coverage of Tkinter.
|
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/>`_
|
`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.
|
Book by Mark Rozerman about building attractive and modern graphical user interfaces with Python and Tkinter.
|
||||||
|
|
||||||
`Python and Tkinter Programming <http://www.manning.com/grayson/>`_
|
`Python and Tkinter Programming <https://www.manning.com/books/python-and-tkinter-programming>`_
|
||||||
The book by John Grayson (ISBN 1-884777-81-3).
|
The book by John Grayson (ISBN 1-884777-81-3).
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -549,7 +549,7 @@ Calls to the date constructor are recorded in the ``mock_date`` attributes
|
||||||
|
|
||||||
An alternative way of dealing with mocking dates, or other builtin classes,
|
An alternative way of dealing with mocking dates, or other builtin classes,
|
||||||
is discussed in `this blog entry
|
is discussed in `this blog entry
|
||||||
<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/>`_.
|
||||||
|
|
||||||
|
|
||||||
Mocking a Generator Method
|
Mocking a Generator Method
|
||||||
|
@ -1251,7 +1251,7 @@ With a bit of tweaking you could have the comparison function raise the
|
||||||
:exc:`AssertionError` directly and provide a more useful failure message.
|
:exc:`AssertionError` directly and provide a more useful failure message.
|
||||||
|
|
||||||
As of version 1.5, the Python testing library `PyHamcrest
|
As of version 1.5, the Python testing library `PyHamcrest
|
||||||
<https://pypi.python.org/pypi/PyHamcrest>`_ provides similar functionality,
|
<https://pyhamcrest.readthedocs.org/>`_ provides similar functionality,
|
||||||
that may be useful here, in the form of its equality matcher
|
that may be useful here, in the form of its equality matcher
|
||||||
(`hamcrest.library.integration.match_equality
|
(`hamcrest.library.integration.match_equality
|
||||||
<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>`_).
|
||||||
|
|
|
@ -14,7 +14,7 @@ authentication, redirections, cookies and more.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
The `Requests package <http://requests.readthedocs.org/>`_
|
The `Requests package <https://requests.readthedocs.org/>`_
|
||||||
is recommended for a higher-level http client interface.
|
is recommended for a higher-level http client interface.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ This module offers the following functions:
|
||||||
The :func:`DeleteKeyEx` function is implemented with the RegDeleteKeyEx
|
The :func:`DeleteKeyEx` function is implemented with the RegDeleteKeyEx
|
||||||
Windows API function, which is specific to 64-bit versions of Windows.
|
Windows API function, which is specific to 64-bit versions of Windows.
|
||||||
See the `RegDeleteKeyEx documentation
|
See the `RegDeleteKeyEx documentation
|
||||||
<http://msdn.microsoft.com/en-us/library/ms724847%28VS.85%29.aspx>`__.
|
<https://msdn.microsoft.com/en-us/library/ms724847%28VS.85%29.aspx>`__.
|
||||||
|
|
||||||
*key* is an already open key, or one of the predefined
|
*key* is an already open key, or one of the predefined
|
||||||
:ref:`HKEY_* constants <hkey-constants>`.
|
:ref:`HKEY_* constants <hkey-constants>`.
|
||||||
|
@ -268,7 +268,7 @@ This module offers the following functions:
|
||||||
A call to :func:`LoadKey` fails if the calling process does not have the
|
A call to :func:`LoadKey` fails if the calling process does not have the
|
||||||
:const:`SE_RESTORE_PRIVILEGE` privilege. Note that privileges are different
|
:const:`SE_RESTORE_PRIVILEGE` privilege. Note that privileges are different
|
||||||
from permissions -- see the `RegLoadKey documentation
|
from permissions -- see the `RegLoadKey documentation
|
||||||
<http://msdn.microsoft.com/en-us/library/ms724889%28v=VS.85%29.aspx>`__ for
|
<https://msdn.microsoft.com/en-us/library/ms724889%28v=VS.85%29.aspx>`__ for
|
||||||
more details.
|
more details.
|
||||||
|
|
||||||
If *key* is a handle returned by :func:`ConnectRegistry`, then the path
|
If *key* is a handle returned by :func:`ConnectRegistry`, then the path
|
||||||
|
@ -383,7 +383,7 @@ This module offers the following functions:
|
||||||
possess the :const:`SeBackupPrivilege` security privilege. Note that
|
possess the :const:`SeBackupPrivilege` security privilege. Note that
|
||||||
privileges are different than permissions -- see the
|
privileges are different than permissions -- see the
|
||||||
`Conflicts Between User Rights and Permissions documentation
|
`Conflicts Between User Rights and Permissions documentation
|
||||||
<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>`__
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
This function passes NULL for *security_attributes* to the API.
|
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
|
For more information, see `Registry Key Security and Access
|
||||||
<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>`__.
|
||||||
|
|
||||||
.. data:: KEY_ALL_ACCESS
|
.. data:: KEY_ALL_ACCESS
|
||||||
|
|
||||||
|
@ -602,7 +602,7 @@ For more information, see `Registry Key Security and Access
|
||||||
***************
|
***************
|
||||||
|
|
||||||
For more information, see `Accessing an Alternate Registry View
|
For more information, see `Accessing an Alternate Registry View
|
||||||
<http://msdn.microsoft.com/en-us/library/aa384129(v=VS.85).aspx>`__.
|
<https://msdn.microsoft.com/en-us/library/aa384129(v=VS.85).aspx>`__.
|
||||||
|
|
||||||
.. data:: KEY_WOW64_64KEY
|
.. data:: KEY_WOW64_64KEY
|
||||||
|
|
||||||
|
@ -621,7 +621,7 @@ Value Types
|
||||||
+++++++++++
|
+++++++++++
|
||||||
|
|
||||||
For more information, see `Registry Value Types
|
For more information, see `Registry Value Types
|
||||||
<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
|
.. data:: REG_BINARY
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,8 @@ for implementing WSGI servers, a demo HTTP server that serves WSGI applications,
|
||||||
and a validation tool that checks WSGI servers and applications for conformance
|
and a validation tool that checks WSGI servers and applications for conformance
|
||||||
to the WSGI specification (:pep:`3333`).
|
to the WSGI specification (:pep:`3333`).
|
||||||
|
|
||||||
See http://www.wsgi.org for more information about WSGI, and links to tutorials
|
See https://wsgi.readthedocs.org/ for more information about WSGI, and links to
|
||||||
and other resources.
|
tutorials and other resources.
|
||||||
|
|
||||||
.. XXX If you're just trying to write a web application...
|
.. XXX If you're just trying to write a web application...
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ kind sax etree minidom pulldom xmlrpc
|
||||||
billion laughs **Yes** **Yes** **Yes** **Yes** **Yes**
|
billion laughs **Yes** **Yes** **Yes** **Yes** **Yes**
|
||||||
quadratic blowup **Yes** **Yes** **Yes** **Yes** **Yes**
|
quadratic blowup **Yes** **Yes** **Yes** **Yes** **Yes**
|
||||||
external entity expansion **Yes** No (1) No (2) **Yes** No (3)
|
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**
|
decompression bomb No No No No **Yes**
|
||||||
========================= ======== ========= ========= ======== =========
|
========================= ======== ========= ========= ======== =========
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ external entity expansion
|
||||||
also point to external resources or local files. The XML
|
also point to external resources or local files. The XML
|
||||||
parser accesses the resource and embeds the content into the XML document.
|
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
|
Some XML libraries like Python's :mod:`xml.dom.pulldom` retrieve document type
|
||||||
definitions from remote or local locations. The feature has similar
|
definitions from remote or local locations. The feature has similar
|
||||||
implications as the external entity expansion issue.
|
implications as the external entity expansion issue.
|
||||||
|
@ -128,6 +128,6 @@ Python because they break backward compatibility.
|
||||||
|
|
||||||
.. _defusedxml: https://pypi.python.org/pypi/defusedxml/
|
.. _defusedxml: https://pypi.python.org/pypi/defusedxml/
|
||||||
.. _defusedexpat: https://pypi.python.org/pypi/defusedexpat/
|
.. _defusedexpat: https://pypi.python.org/pypi/defusedexpat/
|
||||||
.. _Billion Laughs: http://en.wikipedia.org/wiki/Billion_laughs
|
.. _Billion Laughs: https://en.wikipedia.org/wiki/Billion_laughs
|
||||||
.. _ZIP bomb: http://en.wikipedia.org/wiki/Zip_bomb
|
.. _ZIP bomb: https://en.wikipedia.org/wiki/Zip_bomb
|
||||||
.. _DTD: http://en.wikipedia.org/wiki/Document_Type_Definition
|
.. _DTD: https://en.wikipedia.org/wiki/Document_type_definition
|
||||||
|
|
|
@ -142,7 +142,7 @@ between conformable Python objects and XML on the wire.
|
||||||
`XML-RPC Introspection <http://xmlrpc-c.sourceforge.net/introspection.html>`_
|
`XML-RPC Introspection <http://xmlrpc-c.sourceforge.net/introspection.html>`_
|
||||||
Describes the XML-RPC protocol extension for introspection.
|
Describes the XML-RPC protocol extension for introspection.
|
||||||
|
|
||||||
`XML-RPC Specification <http://www.xmlrpc.com/spec>`_
|
`XML-RPC Specification <http://xmlrpc.scripting.com/spec.html>`_
|
||||||
The official specification.
|
The official specification.
|
||||||
|
|
||||||
`Unofficial XML-RPC Errata <http://effbot.org/zone/xmlrpc-errata.htm>`_
|
`Unofficial XML-RPC Errata <http://effbot.org/zone/xmlrpc-errata.htm>`_
|
||||||
|
|
|
@ -13,8 +13,7 @@
|
||||||
The ZIP file format is a common archive and compression standard. This module
|
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
|
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
|
advanced use of this module will require an understanding of the format, as
|
||||||
defined in `PKZIP Application Note
|
defined in `PKZIP Application Note`_.
|
||||||
<http://www.pkware.com/documents/casestudies/APPNOTE.TXT>`_.
|
|
||||||
|
|
||||||
This module does not currently handle multi-disk ZIP files.
|
This module does not currently handle multi-disk ZIP files.
|
||||||
It can handle ZIP files that use the ZIP64 extensions
|
It can handle ZIP files that use the ZIP64 extensions
|
||||||
|
@ -115,7 +114,7 @@ The module defines the following items:
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`PKZIP Application Note <http://www.pkware.com/documents/casestudies/APPNOTE.TXT>`_
|
`PKZIP Application Note`_
|
||||||
Documentation on the ZIP file format by Phil Katz, the creator of the format and
|
Documentation on the ZIP file format by Phil Katz, the creator of the format and
|
||||||
algorithms used.
|
algorithms used.
|
||||||
|
|
||||||
|
@ -527,8 +526,7 @@ Instances have the following attributes:
|
||||||
|
|
||||||
.. attribute:: ZipInfo.extra
|
.. attribute:: ZipInfo.extra
|
||||||
|
|
||||||
Expansion field data. The `PKZIP Application Note
|
Expansion field data. The `PKZIP Application Note`_ contains
|
||||||
<http://www.pkware.com/documents/casestudies/APPNOTE.TXT>`_ contains
|
|
||||||
some comments on the internal structure of the data contained in this string.
|
some comments on the internal structure of the data contained in this string.
|
||||||
|
|
||||||
|
|
||||||
|
@ -591,10 +589,5 @@ Instances have the following attributes:
|
||||||
|
|
||||||
Size of the uncompressed file.
|
Size of the uncompressed file.
|
||||||
|
|
||||||
There is one method:
|
|
||||||
|
|
||||||
.. method:: ZipInfo.is_dir()
|
.. _PKZIP Application Note: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
|
||||||
|
|
||||||
Return ``True`` if the ZipInfo represents a directory.
|
|
||||||
|
|
||||||
.. versionadded:: 3.6
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ ZIP archives with an archive comment are currently not supported.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
`PKZIP Application Note <http://www.pkware.com/documents/casestudies/APPNOTE.TXT>`_
|
`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
|
Documentation on the ZIP file format by Phil Katz, the creator of the format and
|
||||||
algorithms used.
|
algorithms used.
|
||||||
|
|
||||||
|
|
|
@ -153,7 +153,7 @@ Mac OS X. Packages and documentation are available from http://www.wxpython.org.
|
||||||
|
|
||||||
*PyQt* is another popular cross-platform GUI toolkit that runs natively on Mac
|
*PyQt* is another popular cross-platform GUI toolkit that runs natively on Mac
|
||||||
OS X. More information can be found at
|
OS X. More information can be found at
|
||||||
http://www.riverbankcomputing.co.uk/software/pyqt/intro.
|
https://riverbankcomputing.com/software/pyqt/intro.
|
||||||
|
|
||||||
|
|
||||||
Distributing Python Applications on the Mac
|
Distributing Python Applications on the Mac
|
||||||
|
|
|
@ -26,11 +26,11 @@ following links:
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
http://www.debian.org/doc/manuals/maint-guide/first.en.html
|
https://www.debian.org/doc/manuals/maint-guide/first.en.html
|
||||||
for Debian users
|
for Debian users
|
||||||
http://en.opensuse.org/Portal:Packaging
|
https://en.opensuse.org/Portal:Packaging
|
||||||
for OpenSuse users
|
for OpenSuse users
|
||||||
http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-creating-rpms.html
|
https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-creating-rpms.html
|
||||||
for Fedora users
|
for Fedora users
|
||||||
http://www.slackbook.org/html/package-management-making-packages.html
|
http://www.slackbook.org/html/package-management-making-packages.html
|
||||||
for Slackware users
|
for Slackware users
|
||||||
|
@ -65,7 +65,7 @@ Building Python
|
||||||
===============
|
===============
|
||||||
|
|
||||||
If you want to compile CPython yourself, first thing you should do is get the
|
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
|
latest release's source or just grab a fresh `clone
|
||||||
<https://docs.python.org/devguide/setup.html#getting-the-source-code>`_. (If you want
|
<https://docs.python.org/devguide/setup.html#getting-the-source-code>`_. (If you want
|
||||||
to contribute patches, you will need a clone.)
|
to contribute patches, you will need a clone.)
|
||||||
|
|
|
@ -251,12 +251,12 @@ Check :pep:`11` for details on all unsupported platforms.
|
||||||
release/python>`_, `Maintainer releases
|
release/python>`_, `Maintainer releases
|
||||||
<http://www.tishler.net/jason/software/python/>`_)
|
<http://www.tishler.net/jason/software/python/>`_)
|
||||||
|
|
||||||
See `Python for Windows <https://www.python.org/download/windows/>`_
|
See `Python for Windows <https://www.python.org/downloads/windows/>`_
|
||||||
for detailed information about platforms with pre-compiled installers.
|
for detailed information about platforms with pre-compiled installers.
|
||||||
|
|
||||||
.. seealso::
|
.. 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!""
|
"7 Minutes to "Hello World!""
|
||||||
by Richard Dooling, 2006
|
by Richard Dooling, 2006
|
||||||
|
|
||||||
|
@ -279,10 +279,10 @@ Besides the standard CPython distribution, there are modified packages including
|
||||||
additional functionality. The following is a list of popular versions and their
|
additional functionality. The following is a list of popular versions and their
|
||||||
key features:
|
key features:
|
||||||
|
|
||||||
`ActivePython <http://www.activestate.com/activepython/>`_
|
`ActivePython <https://www.activestate.com/activepython/>`_
|
||||||
Installer with multi-platform compatibility, documentation, PyWin32
|
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
|
Popular scientific modules (such as numpy, scipy and pandas) and the
|
||||||
``conda`` package manager.
|
``conda`` package manager.
|
||||||
|
|
||||||
|
@ -352,16 +352,16 @@ System variables, you need non-restricted access to your machine
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
http://support.microsoft.com/kb/100843
|
https://support.microsoft.com/kb/100843
|
||||||
Environment variables in Windows NT
|
Environment variables in Windows NT
|
||||||
|
|
||||||
http://technet.microsoft.com/en-us/library/cc754250.aspx
|
https://technet.microsoft.com/en-us/library/cc754250.aspx
|
||||||
The SET command, for temporarily modifying environment variables
|
The SET command, for temporarily modifying environment variables
|
||||||
|
|
||||||
http://technet.microsoft.com/en-us/library/cc755104.aspx
|
https://technet.microsoft.com/en-us/library/cc755104.aspx
|
||||||
The SETX command, for permanently modifying environment variables
|
The SETX command, for permanently modifying environment variables
|
||||||
|
|
||||||
http://support.microsoft.com/kb/310519
|
https://support.microsoft.com/kb/310519
|
||||||
How To Manage Environment Variables in Windows XP
|
How To Manage Environment Variables in Windows XP
|
||||||
|
|
||||||
http://www.chem.gla.ac.uk/~louis/software/faq/q1.html
|
http://www.chem.gla.ac.uk/~louis/software/faq/q1.html
|
||||||
|
@ -781,18 +781,18 @@ The Windows-specific standard modules are documented in
|
||||||
PyWin32
|
PyWin32
|
||||||
-------
|
-------
|
||||||
|
|
||||||
The `PyWin32 <http://python.net/crew/mhammond/win32/>`_ module by Mark Hammond
|
The `PyWin32 <https://pypi.python.org/pypi/pywin32>`_ module by Mark Hammond
|
||||||
is a collection of modules for advanced Windows-specific support. This includes
|
is a collection of modules for advanced Windows-specific support. This includes
|
||||||
utilities for:
|
utilities for:
|
||||||
|
|
||||||
* `Component Object Model <http://www.microsoft.com/com/>`_ (COM)
|
* `Component Object Model <https://www.microsoft.com/com/>`_ (COM)
|
||||||
* Win32 API calls
|
* Win32 API calls
|
||||||
* Registry
|
* Registry
|
||||||
* Event log
|
* 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
|
user interfaces
|
||||||
|
|
||||||
`PythonWin <http://web.archive.org/web/20060524042422/
|
`PythonWin <https://web.archive.org/web/20060524042422/
|
||||||
https://www.python.org/windows/pythonwin/>`_ is a sample MFC application
|
https://www.python.org/windows/pythonwin/>`_ is a sample MFC application
|
||||||
shipped with PyWin32. It is an embeddable IDE with a built-in debugger.
|
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
|
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 `checkout
|
latest release's source or just grab a fresh `checkout
|
||||||
<https://docs.python.org/devguide/setup.html#getting-the-source-code>`_.
|
<https://docs.python.org/devguide/setup.html#getting-the-source-code>`_.
|
||||||
|
|
||||||
|
@ -874,7 +874,7 @@ dependants, such as Idle), pip and the Python documentation are not included.
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
The embedded distribution does not include the `Microsoft C Runtime
|
The embedded distribution does not include the `Microsoft C Runtime
|
||||||
<http://www.microsoft.com/en-us/download/details.aspx?id=48145>`_ and it is
|
<https://www.microsoft.com/en-us/download/details.aspx?id=48145>`_ and it is
|
||||||
the responsibility of the application installer to provide this. The
|
the responsibility of the application installer to provide this. The
|
||||||
runtime may have already been installed on a user's system previously or
|
runtime may have already been installed on a user's system previously or
|
||||||
automatically via Windows Update, and can be detected by finding
|
automatically via Windows Update, and can be detected by finding
|
||||||
|
|
|
@ -130,7 +130,7 @@ Guidelines":
|
||||||
Read the rest of PEP 1 for the details of the PEP editorial process, style, and
|
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
|
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
|
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
|
from PEP 201, "Lockstep Iteration", to PEP 225, "Elementwise/Objectwise
|
||||||
Operators".
|
Operators".
|
||||||
|
|
||||||
|
@ -337,7 +337,7 @@ comprehension below is a syntax error, while the second one is correct::
|
||||||
[ (x,y) for x in seq1 for y in seq2]
|
[ (x,y) for x in seq1 for y in seq2]
|
||||||
|
|
||||||
The idea of list comprehensions originally comes from the functional programming
|
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
|
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
|
was then discussed for a seemingly endless time on the python-dev mailing list
|
||||||
and kept up-to-date by Skip Montanaro.
|
and kept up-to-date by Skip Montanaro.
|
||||||
|
|
|
@ -562,7 +562,7 @@ You can start creating packages containing :file:`PKG-INFO` even if you're not
|
||||||
using Python 2.1, since a new release of the Distutils will be made for users of
|
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
|
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
|
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/.
|
available from the Distutils SIG at https://www.python.org/community/sigs/current/distutils-sig/.
|
||||||
|
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
|
@ -1080,9 +1080,9 @@ Here are all of the changes that Python 2.3 makes to the core Python language.
|
||||||
hierarchy. Classic classes are unaffected by this change. Python 2.2
|
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
|
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
|
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
|
understand the motivation for this change, read Michele Simionato's article
|
||||||
`"Python 2.3 Method Resolution Order" <https://www.python.org/2.3/mro.html>`_, or
|
`"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
|
read the thread on python-dev starting with the message at
|
||||||
https://mail.python.org/pipermail/python-dev/2002-October/029035.html. Samuele
|
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
|
Pedroni first pointed out the problem and also implemented the fix by coding the
|
||||||
|
@ -1306,7 +1306,7 @@ complete list of changes, or look through the CVS logs for all the details.
|
||||||
partially sorted order such that, for every index *k*, ``heap[k] <=
|
partially sorted order such that, for every index *k*, ``heap[k] <=
|
||||||
heap[2*k+1]`` and ``heap[k] <= heap[2*k+2]``. This makes it quick to remove the
|
heap[2*k+1]`` and ``heap[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
|
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.)
|
information about the priority queue data structure.)
|
||||||
|
|
||||||
The :mod:`heapq` module provides :func:`heappush` and :func:`heappop` functions
|
The :mod:`heapq` module provides :func:`heappush` and :func:`heappop` functions
|
||||||
|
@ -1949,7 +1949,7 @@ The RPM spec files, found in the :file:`Misc/RPM/` directory in the Python
|
||||||
source distribution, were updated for 2.3. (Contributed by Sean Reifschneider.)
|
source distribution, were updated for 2.3. (Contributed by Sean Reifschneider.)
|
||||||
|
|
||||||
Other new platforms now supported by Python include AtheOS
|
Other new platforms now supported by Python include AtheOS
|
||||||
(http://www.atheos.cx/), GNU/Hurd, and OpenVMS.
|
(http://atheos.cx/), GNU/Hurd, and OpenVMS.
|
||||||
|
|
||||||
.. ======================================================================
|
.. ======================================================================
|
||||||
|
|
||||||
|
|
|
@ -337,7 +337,7 @@ returned.
|
||||||
wrote patches implementing function decorators, but the one that was actually
|
wrote patches implementing function decorators, but the one that was actually
|
||||||
checked in was patch #979728, written by Mark Russell.
|
checked in was patch #979728, written by Mark Russell.
|
||||||
|
|
||||||
https://www.python.org/moin/PythonDecoratorLibrary
|
https://wiki.python.org/moin/PythonDecoratorLibrary
|
||||||
This Wiki page contains several examples of decorators.
|
This Wiki page contains several examples of decorators.
|
||||||
|
|
||||||
.. ======================================================================
|
.. ======================================================================
|
||||||
|
@ -687,7 +687,7 @@ includes a quick-start tutorial and a reference.
|
||||||
The article uses Fortran code to illustrate many of the problems that floating-
|
The article uses Fortran code to illustrate many of the problems that floating-
|
||||||
point inaccuracy can cause.
|
point inaccuracy can cause.
|
||||||
|
|
||||||
http://www2.hursley.ibm.com/decimal/
|
http://speleotrove.com/decimal/
|
||||||
A description of a decimal-based representation. This representation is being
|
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
|
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.
|
material was written by Mike Cowlishaw, designer of the Rexx language.
|
||||||
|
@ -756,7 +756,7 @@ API that perform ASCII-only conversions, ignoring the locale setting:
|
||||||
:c:type:`double` to an ASCII string.
|
:c:type:`double` to an ASCII string.
|
||||||
|
|
||||||
The code for these functions came from the GLib library
|
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
|
relicensed the relevant functions and donated them to the Python Software
|
||||||
Foundation. The :mod:`locale` module can now change the numeric locale,
|
Foundation. The :mod:`locale` module can now change the numeric locale,
|
||||||
letting extensions such as GTK+ produce the correct results.
|
letting extensions such as GTK+ produce the correct results.
|
||||||
|
|
|
@ -330,7 +330,7 @@ statement, only the ``from ... import`` form.
|
||||||
:pep:`328` - Imports: Multi-Line and Absolute/Relative
|
:pep:`328` - Imports: Multi-Line and Absolute/Relative
|
||||||
PEP written by Aahz; implemented by Thomas Wouters.
|
PEP written by Aahz; implemented by Thomas Wouters.
|
||||||
|
|
||||||
http://codespeak.net/py/current/doc/index.html
|
https://pylib.readthedocs.org/
|
||||||
The py library by Holger Krekel, which contains the :mod:`py.std` package.
|
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
|
Earlier versions of these features were proposed in :pep:`288` by Raymond
|
||||||
Hettinger and :pep:`325` by Samuele Pedroni.
|
Hettinger and :pep:`325` by Samuele Pedroni.
|
||||||
|
|
||||||
http://en.wikipedia.org/wiki/Coroutine
|
https://en.wikipedia.org/wiki/Coroutine
|
||||||
The Wikipedia entry for coroutines.
|
The Wikipedia entry for coroutines.
|
||||||
|
|
||||||
http://www.sidhe.org/~dan/blog/archives/000178.html
|
http://www.sidhe.org/~dan/blog/archives/000178.html
|
||||||
|
@ -2088,7 +2088,7 @@ Changes to Python's build process and to the C API include:
|
||||||
provided the results of their examination of the Python source code. The
|
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
|
analysis found about 60 bugs that were quickly fixed. Many of the bugs were
|
||||||
refcounting problems, often occurring in error-handling code. See
|
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
|
* 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
|
interpreter to use a :c:type:`Py_ssize_t` type definition instead of
|
||||||
|
|
|
@ -153,8 +153,8 @@ The infrastructure committee of the Python Software Foundation
|
||||||
therefore posted a call for issue trackers, asking volunteers to set
|
therefore posted a call for issue trackers, asking volunteers to set
|
||||||
up different products and import some of the bugs and patches from
|
up different products and import some of the bugs and patches from
|
||||||
SourceForge. Four different trackers were examined: `Jira
|
SourceForge. Four different trackers were examined: `Jira
|
||||||
<http://www.atlassian.com/software/jira/>`__,
|
<https://www.atlassian.com/software/jira/>`__,
|
||||||
`Launchpad <http://www.launchpad.net>`__,
|
`Launchpad <https://www.launchpad.net>`__,
|
||||||
`Roundup <http://roundup.sourceforge.net/>`__, and
|
`Roundup <http://roundup.sourceforge.net/>`__, and
|
||||||
`Trac <http://trac.edgewall.org/>`__.
|
`Trac <http://trac.edgewall.org/>`__.
|
||||||
The committee eventually settled on Jira
|
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
|
During the 2.6 development cycle, Georg Brandl put a lot of effort
|
||||||
into building a new toolchain for processing the documentation. The
|
into building a new toolchain for processing the documentation. The
|
||||||
resulting package is called Sphinx, and is available from
|
resulting package is called Sphinx, and is available from
|
||||||
http://sphinx.pocoo.org/.
|
http://sphinx-doc.org/.
|
||||||
|
|
||||||
Sphinx concentrates on HTML output, producing attractively styled and
|
Sphinx concentrates on HTML output, producing attractively styled and
|
||||||
modern HTML; printed output is still supported through conversion to
|
modern HTML; printed output is still supported through conversion to
|
||||||
|
@ -1796,7 +1796,7 @@ changes, or look through the Subversion logs for all the details.
|
||||||
* The :mod:`bsddb` module also has a new maintainer, Jesús Cea Avión, and the package
|
* 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
|
is now available as a standalone package. The web page for the package is
|
||||||
`www.jcea.es/programacion/pybsddb.htm
|
`www.jcea.es/programacion/pybsddb.htm
|
||||||
<http://www.jcea.es/programacion/pybsddb.htm>`__.
|
<https://www.jcea.es/programacion/pybsddb.htm>`__.
|
||||||
The plan is to remove the package from the standard library
|
The plan is to remove the package from the standard library
|
||||||
in Python 3.0, because its pace of releases is much more frequent than
|
in Python 3.0, because its pace of releases is much more frequent than
|
||||||
Python's.
|
Python's.
|
||||||
|
@ -1926,7 +1926,7 @@ changes, or look through the Subversion logs for all the details.
|
||||||
the left to six places. (Contributed by Skip Montanaro; :issue:`1158`.)
|
the left to six places. (Contributed by Skip Montanaro; :issue:`1158`.)
|
||||||
|
|
||||||
* The :mod:`decimal` module was updated to version 1.66 of
|
* The :mod:`decimal` module was updated to version 1.66 of
|
||||||
`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
|
include some methods for some basic mathematical functions such as
|
||||||
:meth:`exp` and :meth:`log10`::
|
:meth:`exp` and :meth:`log10`::
|
||||||
|
|
||||||
|
|
|
@ -1029,7 +1029,7 @@ changes, or look through the Subversion logs for all the details.
|
||||||
|
|
||||||
* Updated module: the :mod:`bsddb` module has been updated from 4.7.2devel9
|
* Updated module: the :mod:`bsddb` module has been updated from 4.7.2devel9
|
||||||
to version 4.8.4 of
|
to version 4.8.4 of
|
||||||
`the pybsddb package <http://www.jcea.es/programacion/pybsddb.htm>`__.
|
`the pybsddb package <https://www.jcea.es/programacion/pybsddb.htm>`__.
|
||||||
The new version features better Python 3.x compatibility, various bug fixes,
|
The new version features better Python 3.x compatibility, various bug fixes,
|
||||||
and adds several new BerkeleyDB flags and methods.
|
and adds several new BerkeleyDB flags and methods.
|
||||||
(Updated by Jesús Cea Avión; :issue:`8156`. The pybsddb
|
(Updated by Jesús Cea Avión; :issue:`8156`. The pybsddb
|
||||||
|
@ -1513,7 +1513,7 @@ changes, or look through the Subversion logs for all the details.
|
||||||
(Contributed by Kristján Valur Jónsson; :issue:`6192` and :issue:`6267`.)
|
(Contributed by Kristján Valur Jónsson; :issue:`6192` and :issue:`6267`.)
|
||||||
|
|
||||||
* Updated module: the :mod:`sqlite3` module has been updated to
|
* Updated module: the :mod:`sqlite3` module has been updated to
|
||||||
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.
|
the ability to load SQLite extensions from shared libraries.
|
||||||
Call the ``enable_load_extension(True)`` method to enable extensions,
|
Call the ``enable_load_extension(True)`` method to enable extensions,
|
||||||
and then call :meth:`~sqlite3.Connection.load_extension` to load a particular shared library.
|
and then call :meth:`~sqlite3.Connection.load_extension` to load a particular shared library.
|
||||||
|
|
|
@ -565,7 +565,7 @@ review:
|
||||||
core standard library has proved over time to be a particular burden
|
core standard library has proved over time to be a particular burden
|
||||||
for the core developers due to testing instability and Berkeley DB's
|
for the core developers due to testing instability and Berkeley DB's
|
||||||
release schedule. However, the package is alive and well,
|
release schedule. However, the package is alive and well,
|
||||||
externally maintained at http://www.jcea.es/programacion/pybsddb.htm.
|
externally maintained at https://www.jcea.es/programacion/pybsddb.htm.
|
||||||
|
|
||||||
* Some modules were renamed because their old name disobeyed
|
* Some modules were renamed because their old name disobeyed
|
||||||
:pep:`0008`, or for various other reasons. Here's the list:
|
:pep:`0008`, or for various other reasons. Here's the list:
|
||||||
|
|
|
@ -845,9 +845,9 @@ collections
|
||||||
|
|
||||||
* The :class:`collections.Counter` class now has two forms of in-place
|
* The :class:`collections.Counter` class now has two forms of in-place
|
||||||
subtraction, the existing *-=* operator for `saturating subtraction
|
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
|
||||||
:meth:`~collections.Counter.subtract` method for regular subtraction. The
|
:meth:`~collections.Counter.subtract` method for regular subtraction. The
|
||||||
former is suitable for `multisets <http://en.wikipedia.org/wiki/Multiset>`_
|
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
|
which only have positive counts, and the latter is more suitable for use cases
|
||||||
that allow negative counts:
|
that allow negative counts:
|
||||||
|
|
||||||
|
@ -906,7 +906,7 @@ with multiple preconditions does not run until all of the predecessor tasks are
|
||||||
complete.
|
complete.
|
||||||
|
|
||||||
Barriers can work with an arbitrary number of threads. This is a generalization
|
Barriers can work with an arbitrary number of threads. This is a generalization
|
||||||
of a `Rendezvous <http://en.wikipedia.org/wiki/Synchronous_rendezvous>`_ which
|
of a `Rendezvous <https://en.wikipedia.org/wiki/Synchronous_rendezvous>`_ which
|
||||||
is defined for only two threads.
|
is defined for only two threads.
|
||||||
|
|
||||||
Implemented as a two-phase cyclic barrier, :class:`~threading.Barrier` objects
|
Implemented as a two-phase cyclic barrier, :class:`~threading.Barrier` objects
|
||||||
|
@ -1043,7 +1043,7 @@ of nearly equal quantities:
|
||||||
0.013765762467652909
|
0.013765762467652909
|
||||||
|
|
||||||
The :func:`~math.erf` function computes a probability integral or `Gaussian
|
The :func:`~math.erf` function computes a probability integral or `Gaussian
|
||||||
error function <http://en.wikipedia.org/wiki/Error_function>`_. The
|
error function <https://en.wikipedia.org/wiki/Error_function>`_. The
|
||||||
complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``:
|
complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``:
|
||||||
|
|
||||||
>>> erf(1.0/sqrt(2.0)) # portion of normal distribution within 1 standard deviation
|
>>> erf(1.0/sqrt(2.0)) # portion of normal distribution within 1 standard deviation
|
||||||
|
@ -1054,7 +1054,7 @@ complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``:
|
||||||
1.0
|
1.0
|
||||||
|
|
||||||
The :func:`~math.gamma` function is a continuous extension of the factorial
|
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
|
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
|
*x*, so there is also a :func:`~math.lgamma` function for computing the natural
|
||||||
logarithm of the gamma function:
|
logarithm of the gamma function:
|
||||||
|
@ -2180,7 +2180,7 @@ urllib.parse
|
||||||
A number of usability improvements were made for the :mod:`urllib.parse` module.
|
A number of usability improvements were made for the :mod:`urllib.parse` module.
|
||||||
|
|
||||||
The :func:`~urllib.parse.urlparse` function now supports `IPv6
|
The :func:`~urllib.parse.urlparse` function now supports `IPv6
|
||||||
<http://en.wikipedia.org/wiki/IPv6>`_ addresses as described in :rfc:`2732`:
|
<https://en.wikipedia.org/wiki/IPv6>`_ addresses as described in :rfc:`2732`:
|
||||||
|
|
||||||
>>> import urllib.parse
|
>>> import urllib.parse
|
||||||
>>> urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/')
|
>>> urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/')
|
||||||
|
@ -2328,7 +2328,7 @@ A number of small performance enhancements have been added:
|
||||||
(Contributed by Alexandre Vassalotti, Antoine Pitrou
|
(Contributed by Alexandre Vassalotti, Antoine Pitrou
|
||||||
and the Unladen Swallow team in :issue:`9410` and :issue:`3873`.)
|
and the Unladen Swallow team in :issue:`9410` and :issue:`3873`.)
|
||||||
|
|
||||||
* The `Timsort algorithm <http://en.wikipedia.org/wiki/Timsort>`_ used in
|
* The `Timsort algorithm <https://en.wikipedia.org/wiki/Timsort>`_ used in
|
||||||
:meth:`list.sort` and :func:`sorted` now runs faster and uses less memory
|
:meth:`list.sort` and :func:`sorted` now runs faster and uses less memory
|
||||||
when called with a :term:`key function`. Previously, every element of
|
when called with a :term:`key function`. Previously, every element of
|
||||||
a list was wrapped with a temporary object that remembered the key value
|
a list was wrapped with a temporary object that remembered the key value
|
||||||
|
@ -2380,7 +2380,7 @@ Unicode
|
||||||
|
|
||||||
Python has been updated to `Unicode 6.0.0
|
Python has been updated to `Unicode 6.0.0
|
||||||
<http://unicode.org/versions/Unicode6.0.0/>`_. The update to the standard adds
|
<http://unicode.org/versions/Unicode6.0.0/>`_. The update to the standard adds
|
||||||
over 2,000 new characters including `emoji <http://en.wikipedia.org/wiki/Emoji>`_
|
over 2,000 new characters including `emoji <https://en.wikipedia.org/wiki/Emoji>`_
|
||||||
symbols which are important for mobile phones.
|
symbols which are important for mobile phones.
|
||||||
|
|
||||||
In addition, the updated standard has altered the character properties for two
|
In addition, the updated standard has altered the character properties for two
|
||||||
|
@ -2432,7 +2432,7 @@ The documentation continues to be improved.
|
||||||
**Source code** :source:`Lib/functools.py`.
|
**Source code** :source:`Lib/functools.py`.
|
||||||
|
|
||||||
(Contributed by Raymond Hettinger; see
|
(Contributed by Raymond Hettinger; see
|
||||||
`rationale <http://rhettinger.wordpress.com/2011/01/28/open-your-source-more/>`_.)
|
`rationale <https://rhettinger.wordpress.com/2011/01/28/open-your-source-more/>`_.)
|
||||||
|
|
||||||
* The docs now contain more examples and recipes. In particular, :mod:`re`
|
* The docs now contain more examples and recipes. In particular, :mod:`re`
|
||||||
module has an extensive section, :ref:`re-examples`. Likewise, the
|
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
|
In addition to the existing Subversion code repository at http://svn.python.org
|
||||||
there is now a `Mercurial <http://mercurial.selenic.com/>`_ repository at
|
there is now a `Mercurial <https://www.mercurial-scm.org/>`_ repository at
|
||||||
https://hg.python.org/\ .
|
https://hg.python.org/\ .
|
||||||
|
|
||||||
After the 3.2 release, there are plans to switch to Mercurial as the primary
|
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 share external changesets. See
|
||||||
|
|
||||||
To learn to use the new version control system, see the `tutorial by Joel
|
To learn to use the new version control system, see the `tutorial by Joel
|
||||||
Spolsky <http://hginit.com>`_ or the `Guide to Mercurial Workflows
|
Spolsky <http://hginit.com>`_ or the `Guide to Mercurial Workflows
|
||||||
<http://mercurial.selenic.com/guide>`_.
|
<https://www.mercurial-scm.org/guide>`_.
|
||||||
|
|
||||||
|
|
||||||
Build and C API Changes
|
Build and C API Changes
|
||||||
|
|
|
@ -1884,13 +1884,13 @@ socket
|
||||||
Heiko Wundram)
|
Heiko Wundram)
|
||||||
|
|
||||||
* The :class:`~socket.socket` class now supports the PF_CAN protocol family
|
* The :class:`~socket.socket` class now supports the PF_CAN protocol family
|
||||||
(http://en.wikipedia.org/wiki/Socketcan), on Linux
|
(https://en.wikipedia.org/wiki/Socketcan), on Linux
|
||||||
(http://lwn.net/Articles/253425).
|
(https://lwn.net/Articles/253425).
|
||||||
|
|
||||||
(Contributed by Matthias Fuchs, updated by Tiago Gonçalves in :issue:`10141`.)
|
(Contributed by Matthias Fuchs, updated by Tiago Gonçalves in :issue:`10141`.)
|
||||||
|
|
||||||
* The :class:`~socket.socket` class now supports the PF_RDS protocol family
|
* The :class:`~socket.socket` class now supports the PF_RDS protocol family
|
||||||
(http://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and
|
(https://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and
|
||||||
https://oss.oracle.com/projects/rds/).
|
https://oss.oracle.com/projects/rds/).
|
||||||
|
|
||||||
* The :class:`~socket.socket` class now supports the ``PF_SYSTEM`` protocol
|
* The :class:`~socket.socket` class now supports the ``PF_SYSTEM`` protocol
|
||||||
|
|
|
@ -144,7 +144,7 @@ Security improvements:
|
||||||
all of the parent's inheritable handles, only the necessary ones.
|
all of the parent's inheritable handles, only the necessary ones.
|
||||||
* A new :func:`hashlib.pbkdf2_hmac` function provides
|
* A new :func:`hashlib.pbkdf2_hmac` function provides
|
||||||
the `PKCS#5 password-based key derivation function 2
|
the `PKCS#5 password-based key derivation function 2
|
||||||
<http://en.wikipedia.org/wiki/PBKDF2>`_.
|
<https://en.wikipedia.org/wiki/PBKDF2>`_.
|
||||||
* :ref:`TLSv1.1 and TLSv1.2 support <whatsnew-tls-11-12>` for :mod:`ssl`.
|
* :ref:`TLSv1.1 and TLSv1.2 support <whatsnew-tls-11-12>` for :mod:`ssl`.
|
||||||
* :ref:`Retrieving certificates from the Windows system cert store support
|
* :ref:`Retrieving certificates from the Windows system cert store support
|
||||||
<whatsnew34-win-cert-store>` for :mod:`ssl`.
|
<whatsnew34-win-cert-store>` for :mod:`ssl`.
|
||||||
|
@ -902,7 +902,7 @@ hashlib
|
||||||
|
|
||||||
A new :func:`hashlib.pbkdf2_hmac` function provides
|
A new :func:`hashlib.pbkdf2_hmac` function provides
|
||||||
the `PKCS#5 password-based key derivation function 2
|
the `PKCS#5 password-based key derivation function 2
|
||||||
<http://en.wikipedia.org/wiki/PBKDF2>`_. (Contributed by Christian
|
<https://en.wikipedia.org/wiki/PBKDF2>`_. (Contributed by Christian
|
||||||
Heimes in :issue:`18582`.)
|
Heimes in :issue:`18582`.)
|
||||||
|
|
||||||
The :attr:`~hashlib.hash.name` attribute of :mod:`hashlib` hash objects is now
|
The :attr:`~hashlib.hash.name` attribute of :mod:`hashlib` hash objects is now
|
||||||
|
@ -1917,8 +1917,8 @@ Other Build and C API Changes
|
||||||
:issue:`18596`.)
|
:issue:`18596`.)
|
||||||
|
|
||||||
* The Windows build now uses `Address Space Layout Randomization
|
* The Windows build now uses `Address Space Layout Randomization
|
||||||
<http://en.wikipedia.org/wiki/ASLR>`_ and `Data Execution Prevention
|
<https://en.wikipedia.org/wiki/Address_space_layout_randomization>`_ and `Data Execution Prevention
|
||||||
<http://en.wikipedia.org/wiki/Data_Execution_Prevention>`_. (Contributed by
|
<https://en.wikipedia.org/wiki/Data_Execution_Prevention>`_. (Contributed by
|
||||||
Christian Heimes in :issue:`16632`.)
|
Christian Heimes in :issue:`16632`.)
|
||||||
|
|
||||||
* New function :c:func:`PyObject_LengthHint` is the C API equivalent
|
* New function :c:func:`PyObject_LengthHint` is the C API equivalent
|
||||||
|
|
|
@ -2169,7 +2169,7 @@ for details.)
|
||||||
The :c:member:`PyTypeObject.tp_finalize` slot is now part of the stable ABI.
|
The :c:member:`PyTypeObject.tp_finalize` slot is now part of the stable ABI.
|
||||||
|
|
||||||
Windows builds now require Microsoft Visual C++ 14.0, which
|
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
|
Extension modules now include a platform information tag in their filename on
|
||||||
some platforms (the tag is optional, and CPython will import extensions without
|
some platforms (the tag is optional, and CPython will import extensions without
|
||||||
|
|
|
@ -7917,7 +7917,7 @@ Library
|
||||||
|
|
||||||
- Issue #16245: Fix the value of a few entities in html.entities.html5.
|
- 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.
|
urls.
|
||||||
|
|
||||||
- Issue #16250: Fix the invocations of URLError which had misplaced filename
|
- Issue #16250: Fix the invocations of URLError which had misplaced filename
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue