document processor specifically written for the Python documentation.
.. _reStructuredText: https://docutils.sourceforge.io/rst.html
-.. _Sphinx: http://sphinx-doc.org/
+.. _Sphinx: https://www.sphinx-doc.org/
.. In the online version of these documents, you can submit comments and suggest
changes directly on the documentation pages.
also available at https://docs.python.org/3/download.html.
The documentation is written in reStructuredText and processed by `the Sphinx
-documentation tool <http://sphinx-doc.org/>`__. The reStructuredText source for
+documentation tool <https://www.sphinx-doc.org/>`__. The reStructuredText source for
the documentation is part of the Python source distribution.
---------------------------------------------
The Python project's infrastructure is located all over the world and is managed
-by the Python Infrastructure Team. Details `here <http://infra.psf.io>`__.
+by the Python Infrastructure Team. Details `here <https://infra.psf.io>`__.
Why is it called Python?
The :mod:`pydoc` module can create HTML from the doc strings in your Python
source code. An alternative for creating API documentation purely from
docstrings is `epydoc <http://epydoc.sourceforge.net/>`_. `Sphinx
-<http://sphinx-doc.org>`_ can also include docstring content.
+<https://www.sphinx-doc.org>`_ can also include docstring content.
How do I get a single keypress at a time?
A = [[None] * w for i in range(h)]
Or, you can use an extension that provides a matrix datatype; `NumPy
-<http://www.numpy.org/>`_ is the best known.
+<https://numpy.org/>`_ is the best known.
How do I apply a method to a sequence of objects?
Some good alternative discussions of Python's Unicode support are:
-* `Processing Text Files in Python 3 <http://python-notes.curiousefficiency.org/en/latest/python3/text_file_processing.html>`_, by Nick Coghlan.
+* `Processing Text Files in Python 3 <https://python-notes.curiousefficiency.org/en/latest/python3/text_file_processing.html>`_, by Nick Coghlan.
* `Pragmatic Unicode <https://nedbatchelder.com/text/unipain.html>`_, a PyCon 2012 presentation by Ned Batchelder.
The :class:`str` type is described in the Python library reference at
.. seealso::
* `Sorted Collections
- <http://www.grantjenks.com/docs/sortedcollections/>`_ is a high performance
+ <https://grantjenks.com/docs/sortedcollections/>`_ is a high performance
module that uses *bisect* to managed sorted collections of data.
* The `SortedCollection recipe
.. seealso::
* IBM's General Decimal Arithmetic Specification, `The General Decimal Arithmetic
- Specification <http://speleotrove.com/decimal/decarith.html>`_.
+ Specification <https://speleotrove.com/decimal/decarith.html>`_.
.. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
.. seealso::
- `nmh - Message Handling System <http://www.nongnu.org/nmh/>`_
+ `nmh - Message Handling System <https://www.nongnu.org/nmh/>`_
Home page of :program:`nmh`, an updated version of the original :program:`mh`.
`MH & nmh: Email for Users & Programmers <https://rand-mh.sourceforge.io/book/>`_
The following example demonstrates a practical use of the :class:`SharedMemory`
-class with `NumPy arrays <https://www.numpy.org/>`_, accessing the
+class with `NumPy arrays <https://numpy.org/>`_, accessing the
same ``numpy.ndarray`` from two distinct Python shells:
.. doctest::
^^^^^^^^^^^^^^^^^^^^^^^^
There are fundamental differences between the pickle protocols and
-`JSON (JavaScript Object Notation) <http://json.org>`_:
+`JSON (JavaScript Object Notation) <https://json.org>`_:
* JSON is a text serialization format (it outputs unicode text, although
most of the time it is then encoded to ``utf-8``), while pickle is
including simulation, sampling, shuffling, and cross-validation.
`Economics Simulation
- <http://nbviewer.jupyter.org/url/norvig.com/ipython/Economics.ipynb>`_
+ <https://nbviewer.jupyter.org/url/norvig.com/ipython/Economics.ipynb>`_
a simulation of a marketplace by
`Peter Norvig <http://norvig.com/bio.html>`_ that shows effective
use of many of the tools and distributions provided by this module
(gauss, uniform, sample, betavariate, choice, triangular, and randrange).
`A Concrete Introduction to Probability (using Python)
- <http://nbviewer.jupyter.org/url/norvig.com/ipython/Probability.ipynb>`_
+ <https://nbviewer.jupyter.org/url/norvig.com/ipython/Probability.ipynb>`_
a tutorial by `Peter Norvig <http://norvig.com/bio.html>`_ covering
the basics of probability theory, how to write simulations, and
how to perform data analysis using Python.
Rather than having users constantly writing and debugging code to save
complicated data types to files, Python allows you to use the popular data
interchange format called `JSON (JavaScript Object Notation)
-<http://json.org>`_. The standard module called :mod:`json` can take Python
+<https://json.org>`_. The standard module called :mod:`json` can take Python
data hierarchies, and convert them to string representations; this process is
called :dfn:`serializing`. Reconstructing the data from the string representation
is called :dfn:`deserializing`. Between serializing and deserializing, the
During the 2.6 development cycle, Georg Brandl put a lot of effort
into building a new toolchain for processing the documentation. The
resulting package is called Sphinx, and is available from
-http://sphinx-doc.org/.
+https://www.sphinx-doc.org/.
Sphinx concentrates on HTML output, producing attractively styled and
modern HTML; printed output is still supported through conversion to
`Documenting Python <https://devguide.python.org/documenting/>`__
Describes how to write for Python's documentation.
- `Sphinx <http://sphinx-doc.org/>`__
+ `Sphinx <https://www.sphinx-doc.org/>`__
Documentation and code for the Sphinx toolchain.
`Docutils <https://docutils.sourceforge.io>`__
the left to six places. (Contributed by Skip Montanaro; :issue:`1158`.)
* The :mod:`decimal` module was updated to version 1.66 of
- `the General Decimal Specification <http://speleotrove.com/decimal/decarith.html>`__. New features
+ `the General Decimal Specification <https://speleotrove.com/decimal/decarith.html>`__. New features
include some methods for some basic mathematical functions such as
:meth:`exp` and :meth:`log10`::
* The :mod:`json` module now has a C extension to substantially improve
its performance. In addition, the API was modified so that json works
only with :class:`str`, not with :class:`bytes`. That change makes the
- module closely match the `JSON specification <http://json.org/>`_
+ module closely match the `JSON specification <https://json.org/>`_
which is defined in terms of Unicode.
(Contributed by Bob Ippolito and converted to Py3.1 by Antoine Pitrou
Actual implementation of these macros may differ depending on the
dynamic analysis tool being used.
- See http://code.google.com/p/data-race-test/ for more information.
+ See https://code.google.com/p/data-race-test/ for more information.
This file supports the following dynamic analysis tools:
- None (DYNAMIC_ANNOTATIONS_ENABLED is not defined or zero).
of the mutex's critical sections individually using the annotations above.
This annotation makes sense only for hybrid race detectors. For pure
happens-before detectors this is a no-op. For more details see
- http://code.google.com/p/data-race-test/wiki/PureHappensBeforeVsHybrid . */
+ https://code.google.com/p/data-race-test/wiki/PureHappensBeforeVsHybrid . */
#define _Py_ANNOTATE_PURE_HAPPENS_BEFORE_MUTEX(mu) \
AnnotateMutexIsUsedAsCondVar(__FILE__, __LINE__, mu)
-r"""JSON (JavaScript Object Notation) <http://json.org> is a subset of
+r"""JSON (JavaScript Object Notation) <https://json.org> is a subset of
JavaScript syntax (ECMA-262 3rd edition) used as a lightweight data
interchange format.
class JSONDecoder(object):
- """Simple JSON <http://json.org> decoder
+ """Simple JSON <https://json.org> decoder
Performs the following translations in decoding by default:
c_encode_basestring_ascii or py_encode_basestring_ascii)
class JSONEncoder(object):
- """Extensible JSON <http://json.org> encoder for Python data structures.
+ """Extensible JSON <https://json.org> encoder for Python data structures.
Supports the following objects and types by default:
self.assertRaises(IndexError, self.ipv6_scoped_network.__getitem__, 1 << 64)
def testGetitem(self):
- # http://code.google.com/p/ipaddr-py/issues/detail?id=15
+ # https://code.google.com/p/ipaddr-py/issues/detail?id=15
addr = ipaddress.IPv4Network('172.31.255.128/255.255.255.240')
self.assertEqual(28, addr.prefixlen)
addr_list = list(addr)
# 2007-10-05
JSONDOCS = [
- # http://json.org/JSON_checker/test/fail1.json
+ # https://json.org/JSON_checker/test/fail1.json
'"A JSON payload should be an object or array, not a string."',
- # http://json.org/JSON_checker/test/fail2.json
+ # https://json.org/JSON_checker/test/fail2.json
'["Unclosed array"',
- # http://json.org/JSON_checker/test/fail3.json
+ # https://json.org/JSON_checker/test/fail3.json
'{unquoted_key: "keys must be quoted"}',
- # http://json.org/JSON_checker/test/fail4.json
+ # https://json.org/JSON_checker/test/fail4.json
'["extra comma",]',
- # http://json.org/JSON_checker/test/fail5.json
+ # https://json.org/JSON_checker/test/fail5.json
'["double extra comma",,]',
- # http://json.org/JSON_checker/test/fail6.json
+ # https://json.org/JSON_checker/test/fail6.json
'[ , "<-- missing value"]',
- # http://json.org/JSON_checker/test/fail7.json
+ # https://json.org/JSON_checker/test/fail7.json
'["Comma after the close"],',
- # http://json.org/JSON_checker/test/fail8.json
+ # https://json.org/JSON_checker/test/fail8.json
'["Extra close"]]',
- # http://json.org/JSON_checker/test/fail9.json
+ # https://json.org/JSON_checker/test/fail9.json
'{"Extra comma": true,}',
- # http://json.org/JSON_checker/test/fail10.json
+ # https://json.org/JSON_checker/test/fail10.json
'{"Extra value after close": true} "misplaced quoted value"',
- # http://json.org/JSON_checker/test/fail11.json
+ # https://json.org/JSON_checker/test/fail11.json
'{"Illegal expression": 1 + 2}',
- # http://json.org/JSON_checker/test/fail12.json
+ # https://json.org/JSON_checker/test/fail12.json
'{"Illegal invocation": alert()}',
- # http://json.org/JSON_checker/test/fail13.json
+ # https://json.org/JSON_checker/test/fail13.json
'{"Numbers cannot have leading zeroes": 013}',
- # http://json.org/JSON_checker/test/fail14.json
+ # https://json.org/JSON_checker/test/fail14.json
'{"Numbers cannot be hex": 0x14}',
- # http://json.org/JSON_checker/test/fail15.json
+ # https://json.org/JSON_checker/test/fail15.json
'["Illegal backslash escape: \\x15"]',
- # http://json.org/JSON_checker/test/fail16.json
+ # https://json.org/JSON_checker/test/fail16.json
'[\\naked]',
- # http://json.org/JSON_checker/test/fail17.json
+ # https://json.org/JSON_checker/test/fail17.json
'["Illegal backslash escape: \\017"]',
- # http://json.org/JSON_checker/test/fail18.json
+ # https://json.org/JSON_checker/test/fail18.json
'[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]',
- # http://json.org/JSON_checker/test/fail19.json
+ # https://json.org/JSON_checker/test/fail19.json
'{"Missing colon" null}',
- # http://json.org/JSON_checker/test/fail20.json
+ # https://json.org/JSON_checker/test/fail20.json
'{"Double colon":: null}',
- # http://json.org/JSON_checker/test/fail21.json
+ # https://json.org/JSON_checker/test/fail21.json
'{"Comma instead of colon", null}',
- # http://json.org/JSON_checker/test/fail22.json
+ # https://json.org/JSON_checker/test/fail22.json
'["Colon instead of comma": false]',
- # http://json.org/JSON_checker/test/fail23.json
+ # https://json.org/JSON_checker/test/fail23.json
'["Bad value", truth]',
- # http://json.org/JSON_checker/test/fail24.json
+ # https://json.org/JSON_checker/test/fail24.json
"['single quote']",
- # http://json.org/JSON_checker/test/fail25.json
+ # https://json.org/JSON_checker/test/fail25.json
'["\ttab\tcharacter\tin\tstring\t"]',
- # http://json.org/JSON_checker/test/fail26.json
+ # https://json.org/JSON_checker/test/fail26.json
'["tab\\ character\\ in\\ string\\ "]',
- # http://json.org/JSON_checker/test/fail27.json
+ # https://json.org/JSON_checker/test/fail27.json
'["line\nbreak"]',
- # http://json.org/JSON_checker/test/fail28.json
+ # https://json.org/JSON_checker/test/fail28.json
'["line\\\nbreak"]',
- # http://json.org/JSON_checker/test/fail29.json
+ # https://json.org/JSON_checker/test/fail29.json
'[0e]',
- # http://json.org/JSON_checker/test/fail30.json
+ # https://json.org/JSON_checker/test/fail30.json
'[0e+]',
- # http://json.org/JSON_checker/test/fail31.json
+ # https://json.org/JSON_checker/test/fail31.json
'[0e+-1]',
- # http://json.org/JSON_checker/test/fail32.json
+ # https://json.org/JSON_checker/test/fail32.json
'{"Comma instead if closing brace": true,',
- # http://json.org/JSON_checker/test/fail33.json
+ # https://json.org/JSON_checker/test/fail33.json
'["mismatch"}',
- # http://code.google.com/p/simplejson/issues/detail?id=3
+ # https://code.google.com/archive/p/simplejson/issues/3
'["A\u001FZ control characters in string"]',
]
from test.test_json import PyTest, CTest
-# from http://json.org/JSON_checker/test/pass1.json
+# from https://json.org/JSON_checker/test/pass1.json
JSON = r'''
[
"JSON Test Pattern pass1",
from test.test_json import PyTest, CTest
-# from http://json.org/JSON_checker/test/pass2.json
+# from https://json.org/JSON_checker/test/pass2.json
JSON = r'''
[[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]]
'''
from test.test_json import PyTest, CTest
-# from http://json.org/JSON_checker/test/pass3.json
+# from https://json.org/JSON_checker/test/pass3.json
JSON = r'''
{
"JSON Test Pattern pass3": {
# (c) 2005 Ian Bicking and contributors; written for Paste (http://pythonpaste.org)
-# Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
-# Also licenced under the Apache License, 2.0: http://opensource.org/licenses/apache2.0.php
+# Licensed under the MIT license: https://opensource.org/licenses/mit-license.php
+# Also licenced under the Apache License, 2.0: https://opensource.org/licenses/apache2.0.php
# Licensed to PSF under a Contributor Agreement
"""
Middleware to check for obedience to the WSGI specification.