From 31f3cf52dcdc3dfcf5b23bdbe01ceddf714dc51b Mon Sep 17 00:00:00 2001
From: Carl Karsten
Date: Fri, 16 Jun 2017 17:15:26 -0500
Subject: [PATCH 001/348] update py27 to 36
---
docs/starting/install3/win.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/starting/install3/win.rst b/docs/starting/install3/win.rst
index 4a7aadd6f..6010b0b71 100644
--- a/docs/starting/install3/win.rst
+++ b/docs/starting/install3/win.rst
@@ -29,7 +29,7 @@ You can do this easily by running the following in ``powershell``:
.. code-block:: console
- [Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27\;C:\Python27\Scripts\", "User")
+ [Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python36\;C:\Python36\Scripts\", "User")
This is also an option during the installation process.
From 1446c90087173c60358c0c0b542f214959179664 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?=
Date: Wed, 21 Jun 2017 15:36:11 +0200
Subject: [PATCH 002/348] Update the Linux installation instructions to reflect
Fedora
* Fedora does not come with Python 2 pre-installed since Fedora 23
* RHEL with Python 2.4 is no longer supported (section removed)
* Added Fedora installation instructions for Python 3.6 as well
* Be carefull about /usr/bin/pip
---
docs/starting/install/linux.rst | 17 ++++++++---------
docs/starting/install3/linux.rst | 28 ++++++++++++++++++++++++++++
2 files changed, 36 insertions(+), 9 deletions(-)
diff --git a/docs/starting/install/linux.rst b/docs/starting/install/linux.rst
index c9b779b3d..a4258b658 100644
--- a/docs/starting/install/linux.rst
+++ b/docs/starting/install/linux.rst
@@ -3,23 +3,22 @@
Installing Python 2 on Linux
============================
-The latest versions of CentOS, Fedora, Redhat Enterprise (RHEL) and Ubuntu
+The latest versions of CentOS, Red Hat Enterprise Linux (RHEL) and Ubuntu
**come with Python 2.7 out of the box**.
To see which version of Python you have installed, open a command prompt and run
.. code-block:: console
- $ python --version
+ $ python2 --version
-Some older versions of RHEL and CentOS come with Python 2.4 which is
-unacceptable for modern Python development. Fortunately, there are
-`Extra Packages for Enterprise Linux`_ which include high
-quality additional packages based on their Fedora counterparts. This
-repository contains a Python 2.6 package specifically designed to install
-side-by-side with the system's Python 2.4 installation.
+However, with the growing popularity of Python 3, some distributions, such as
+Fedora, don't come with Python 2 pre-installed. You can install the ``python2``
+package with your distribution package manager:
-.. _Extra Packages for Enterprise Linux: http://fedoraproject.org/wiki/EPEL
+.. code-block:: console
+
+ $ sudo dnf install python2
You do not need to install or configure anything else to use Python. Having
said that, I would strongly recommend that you install the tools and libraries
diff --git a/docs/starting/install3/linux.rst b/docs/starting/install3/linux.rst
index f9171bcfc..0eda73f03 100644
--- a/docs/starting/install3/linux.rst
+++ b/docs/starting/install3/linux.rst
@@ -22,6 +22,23 @@ If you're using another version of Ubuntu (e.g. the latest LTS release), we reco
$ sudo apt-get update
$ sudo apt-get install python3.6
+If you are using other Linux distribution, chances are you already have Python 3
+pre-installed as well. If not, use your distribution's package manager.
+For example on Fedora, you would use `dnf`:
+
+.. code-block:: console
+
+ $ sudo dnf install python3
+
+Note that if the version of the ``python3`` package is not recent enough
+for you, there may be ways of installing more recent versions as well,
+depending on you distribution. For example installing the ``python36`` package
+on Fedora 25 to get Python 3.6. If you are a Fedora user, you might want
+to read about `multiple Python versions available in Fedora`_.
+
+.. _multiple Python versions available in Fedora: https://developer.fedoraproject.org/tech/languages/python/multiple-pythons.html
+
+
Working with Python 3
---------------------
@@ -59,6 +76,17 @@ To see if pip is installed, open a command prompt and run
To install pip, `follow the official pip installation guide `_ - this will automatically install the latest version of setuptools.
+Note that on some Linux distributions including Ubuntu and Fedora the ``pip``
+command is meant for Python 2, while the ``pip3`` command is meant for Python 3.
+
+.. code-block:: console
+
+ $ command -v pip3
+
+However, when using virtual environments (described bellow), you don't need to
+care about that.
+
+
Virtual Environments
--------------------
From 38ce99c783fd29fc9f5d5d4d3586166bd99e9c23 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?=
Date: Thu, 22 Jun 2017 18:21:39 +0200
Subject: [PATCH 003/348] Remove "Ubuntu" from a link to page about general
Linux
The page speaks about several Linux distros and it's not just
about Ubuntu
---
docs/starting/installation.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/starting/installation.rst b/docs/starting/installation.rst
index 36bf6898d..a21e1aec4 100644
--- a/docs/starting/installation.rst
+++ b/docs/starting/installation.rst
@@ -24,4 +24,4 @@ for development purposes, as well as setuptools, pip and virtualenv.
- :ref:`Python 2 on MacOS `.
- :ref:`Python 2 on Microsoft Windows `.
-- :ref:`Python 2 on Ubuntu Linux `.
+- :ref:`Python 2 on Linux `.
From 2b9d4696d0620e130a4fac72302372f35f7ce098 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Fri, 7 Jul 2017 15:28:09 -0400
Subject: [PATCH 004/348] ad
---
docs/_templates/sidebarintro.html | 2 +-
docs/_templates/sidebarlogo.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/_templates/sidebarintro.html b/docs/_templates/sidebarintro.html
index c00f996c6..8f3f7f302 100644
--- a/docs/_templates/sidebarintro.html
+++ b/docs/_templates/sidebarintro.html
@@ -26,7 +26,7 @@ Stay Informed
-
+
O'Reilly Book
diff --git a/docs/_templates/sidebarlogo.html b/docs/_templates/sidebarlogo.html
index c4b0ef71d..277a73753 100644
--- a/docs/_templates/sidebarlogo.html
+++ b/docs/_templates/sidebarlogo.html
@@ -23,7 +23,7 @@ Get Updates
-
+
O'Reilly Book
From 6b36563ca33e06f1ebefbad153bd38c7b9bac4b7 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Fri, 7 Jul 2017 15:36:52 -0400
Subject: [PATCH 005/348] no ad
---
docs/_templates/sidebarintro.html | 2 +-
docs/_templates/sidebarlogo.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/_templates/sidebarintro.html b/docs/_templates/sidebarintro.html
index 8f3f7f302..c00f996c6 100644
--- a/docs/_templates/sidebarintro.html
+++ b/docs/_templates/sidebarintro.html
@@ -26,7 +26,7 @@ Stay Informed
-
+
O'Reilly Book
diff --git a/docs/_templates/sidebarlogo.html b/docs/_templates/sidebarlogo.html
index 277a73753..c4b0ef71d 100644
--- a/docs/_templates/sidebarlogo.html
+++ b/docs/_templates/sidebarlogo.html
@@ -23,7 +23,7 @@ Get Updates
-
+
O'Reilly Book
From 79caf4f9c336af0bda58c312909b0e8b53d09c07 Mon Sep 17 00:00:00 2001
From: Marco Bakera
Date: Wed, 12 Jul 2017 08:35:32 +0200
Subject: [PATCH 006/348] fixing link to manual of PyInstaller.
---
docs/shipping/freezing.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/shipping/freezing.rst b/docs/shipping/freezing.rst
index cb01c9eea..41c23447c 100644
--- a/docs/shipping/freezing.rst
+++ b/docs/shipping/freezing.rst
@@ -147,7 +147,7 @@ PyInstaller
Prerequisite is to have installed :ref:`Python, Setuptools and pywin32 dependency on Windows `.
- `Most basic tutorial `_
-- `Manual `_
+- `Manual `_
OS X
From 4432d8202018dba838063b157a810e4668a8f478 Mon Sep 17 00:00:00 2001
From: Sharlak
Date: Sun, 30 Jul 2017 21:23:32 +0100
Subject: [PATCH 007/348] lengthened title underline appropriately
---
docs/starting/install3/win.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/starting/install3/win.rst b/docs/starting/install3/win.rst
index 6010b0b71..bb6c38f1a 100644
--- a/docs/starting/install3/win.rst
+++ b/docs/starting/install3/win.rst
@@ -1,7 +1,7 @@
.. _install3-windows:
Installing Python 3 on Windows
-============================
+==============================
First, download the `latest version `_
of Python 3.6 from the official website. If you want to be sure you are installing a fully
From d39c485d167cc4cf37813ca89ac6a2fdcd9972f3 Mon Sep 17 00:00:00 2001
From: Sharlak
Date: Sun, 30 Jul 2017 21:57:19 +0100
Subject: [PATCH 008/348] clarified module naming re: underscores
---
docs/writing/structure.rst | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/docs/writing/structure.rst b/docs/writing/structure.rst
index b33d6f64e..486004cbd 100644
--- a/docs/writing/structure.rst
+++ b/docs/writing/structure.rst
@@ -391,7 +391,17 @@ folder named :file:`my` which is not the case. There is an
dot notation should be used in the Python docs.
If you'd like you could name your module :file:`my_spam.py`, but even our
-friend the underscore should not be seen often in module names.
+friend the underscore should not be seen often in module names. However, using other
+characters (spaces or hyphens) in module names will prevent importing
+(- is the subtract operator), so try to keep module names short so there is
+no need to separate words. And, most of all, don't namespace with underscores, use submodules instead.
+
+.. code-block:: python
+
+ # OK
+ import library.plugin.foo
+ # not OK
+ import library.foo_plugin
Aside from some naming restrictions, nothing special is required for a Python
file to be a module, but you need to understand the import mechanism in order
From e0f8d9166c5c843e89894feb560d0128278bd2a4 Mon Sep 17 00:00:00 2001
From: wangbx
Date: Mon, 31 Jul 2017 23:31:26 +0800
Subject: [PATCH 009/348] correct wrong Mac OS X app bundles link
---
docs/shipping/freezing.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/shipping/freezing.rst b/docs/shipping/freezing.rst
index 41c23447c..aaf4cc908 100644
--- a/docs/shipping/freezing.rst
+++ b/docs/shipping/freezing.rst
@@ -202,7 +202,7 @@ To create a standalone windowed OS X application, use the :code:`--windowed` opt
This creates a :code:`script.app` in the :code:`dist` folder. Make sure to use GUI packages in your Python code, like `PyQt `_ or `PySide `_, to control the graphical parts of the app.
-There are several options in :code:`script.spec` related to Mac OS X app bundles `here `_. For example, to specify an icon for the app, use the :code:`icon=\path\to\icon.icns` option.
+There are several options in :code:`script.spec` related to Mac OS X app bundles `here `_. For example, to specify an icon for the app, use the :code:`icon=\path\to\icon.icns` option.
Linux
From 6776b2ff22987580ee59e655c64808e6ad5c4434 Mon Sep 17 00:00:00 2001
From: Harry Moreno
Date: Mon, 31 Jul 2017 17:01:06 -0400
Subject: [PATCH 010/348] Fix grammar
---
docs/writing/documentation.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/writing/documentation.rst b/docs/writing/documentation.rst
index bdd39e13e..a91b86b90 100644
--- a/docs/writing/documentation.rst
+++ b/docs/writing/documentation.rst
@@ -205,8 +205,8 @@ more information about a function, what it does, any exceptions it may raise,
what it returns, or relevant details about the parameters.
For more detailed documentation of code a popular style is the one used for the
-Numpy project, often called `Numpy style`_ docstrings. While it can take up a
-few more lines the previous example, it allows the developer to include a lot
+Numpy project, often called `Numpy style`_ docstrings. While it can take up more
+lines than the previous example, it allows the developer to include a lot
more information about a method, function, or class. ::
def random_number_generator(arg1, arg2):
From 7be51790e493a9836095705bcbb29ff9687d77c4 Mon Sep 17 00:00:00 2001
From: daegontaven
Date: Fri, 11 Aug 2017 01:46:24 -0400
Subject: [PATCH 011/348] Add version control ignores to gotchas
---
docs/writing/gotchas.rst | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/docs/writing/gotchas.rst b/docs/writing/gotchas.rst
index fcf143943..4c901d0ae 100644
--- a/docs/writing/gotchas.rst
+++ b/docs/writing/gotchas.rst
@@ -230,13 +230,27 @@ Here's nice trick for removing all of these files, if they already exist::
Run that from the root directory of your project, and all ``.pyc`` files
will suddenly vanish. Much better.
+Version Control Ignores
+~~~~~~~~~~~~~~~~~~~~~~~
+If you still need the ``.pyc`` files for performance reasons, you can always add them
+to the ignore files of your version control repositories. Popular version control
+systems have the ability to use wildcards defined in a file to apply special
+rules.
+An ignore file will make sure the matching files don't get checked into the repository.
+Git_ uses ``.gitignore`` while Mercurial_ uses ``.hgignore``.
+.. _Git: https://git-scm.com/
+.. _Mercurial: https://www.mercurial-scm.org/
+At the minimum your ignore files should looks like this.
+::
+ syntax:glob # This line is not needed for .gitignore files.
+ *.py[cod] # Will match .pyc, .pyo and .pyd files.
+ __pycache__/ # Exclude the whole folder
-
-
-
+You may wish to include more files and directories depending on your needs.
+The next time you commit to the repository, these files will not be included.
From ec5f791c695a5c205069f9c6c0fde6fe5e921ccd Mon Sep 17 00:00:00 2001
From: Vivek Joshy
Date: Fri, 11 Aug 2017 06:01:03 -0400
Subject: [PATCH 012/348] Correct typo
Change looks to look
---
docs/writing/gotchas.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/writing/gotchas.rst b/docs/writing/gotchas.rst
index 4c901d0ae..4a28085b3 100644
--- a/docs/writing/gotchas.rst
+++ b/docs/writing/gotchas.rst
@@ -244,7 +244,7 @@ Git_ uses ``.gitignore`` while Mercurial_ uses ``.hgignore``.
.. _Git: https://git-scm.com/
.. _Mercurial: https://www.mercurial-scm.org/
-At the minimum your ignore files should looks like this.
+At the minimum your ignore files should look like this.
::
From af75a6aad6bd7655662cabd6f8da35d30b7fd1a9 Mon Sep 17 00:00:00 2001
From: cclauss
Date: Thu, 17 Aug 2017 13:33:16 +0200
Subject: [PATCH 013/348] Changes in how homebrew installs Python on Mac OSX
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Homebrew no longer sets `pip`.
See 5 executable names in https://docs.brew.sh/Homebrew-and-Python.html
* `python` points to the macOS system Python (with no manual PATH modification)
* `python2` points to Homebrew’s Python 2.7.x (if installed)
* `python3` points to Homebrew’s Python 3.x (if installed)
* `pip2` points to Homebrew’s Python 2.7.x’s pip (if installed)
* `pip3` points to Homebrew’s Python 3.x’s pip (if installed)
---
docs/starting/install3/osx.rst | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/docs/starting/install3/osx.rst b/docs/starting/install3/osx.rst
index 8844f2e1f..14adc77e3 100644
--- a/docs/starting/install3/osx.rst
+++ b/docs/starting/install3/osx.rst
@@ -70,8 +70,7 @@ Pip
Homebrew installs ``pip3`` for you.
-``pip3`` is the alias for the Python 3 version of ``pip`` on systems with both
-the Homebrew'd Python 2 and 3 installed.
+``pip3`` is the alias to ``pip`` pointing to the Homebrew'd Python 3.
Working with Python 3
---------------------
@@ -84,18 +83,22 @@ version of Python 3 as well.
$ python
-will launch the Python 2 interpreter.
+will launch the system Python interpreter.
+
+.. code-block:: console
+
+ $ python2
+
+will launch the homebrew-installed Python 2 interpreter (if any).
.. code-block:: console
$ python3
-will launch the Python 3 interpreter.
+will launch the homebrew-installed Python 3 interpreter.
-``pip3`` and ``pip`` will both be available. If the Homebrew version of Python
-2 is not installed, they will be the same. If the Homebrew version of Python 2
-is installed then ``pip`` will point to Python 2 and ``pip3`` will point to
-Python 3.
+If the Homebrew version of Python 2 is installed then ``pip2`` will point to Python 2.
+If the Homebrew version of Python 3 is installed then ``pip3`` will point to Python 3.
Virtual Environments
From 2d1b231c4d61813ec28a2ea546cb76862f5ba40d Mon Sep 17 00:00:00 2001
From: cclauss
Date: Thu, 17 Aug 2017 13:44:46 +0200
Subject: [PATCH 014/348] Changes in how homebrew installs Python on Mac OSX
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Homebrew no longer sets pip.
See 5 executable names in https://docs.brew.sh/Homebrew-and-Python.html
python points to the macOS system Python (with no manual PATH modification)
python2 points to Homebrew’s Python 2.7.x (if installed)
python3 points to Homebrew’s Python 3.x (if installed)
pip2 points to Homebrew’s Python 2.7.x’s pip (if installed)
pip3 points to Homebrew’s Python 3.x’s pip (if installed)
---
docs/starting/install/osx.rst | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/docs/starting/install/osx.rst b/docs/starting/install/osx.rst
index 24eb27437..bd7733bf6 100644
--- a/docs/starting/install/osx.rst
+++ b/docs/starting/install/osx.rst
@@ -77,6 +77,15 @@ or Python 3:
This will take a minute or two.
+Homebrew names the executable ``python2`` so that you can still run the system Python via the executable ``python``.
+
+
+.. code-block:: console
+
+ $ python -V # system Python interpreter
+ $ python2 -V # Homebrew installed Python 2 interpreter
+ $ python3 -V # Homebrew installed Python 3 interpreter (if installed)
+
Setuptools & Pip
----------------
@@ -93,6 +102,12 @@ that is recommended over ``easy_install``. It is superior to ``easy_install``
in `several ways `_,
and is actively maintained.
+.. code-block:: console
+
+ $ pip2 -V # pip pointing to the Homebrew installed Python 2 interpreter
+ $ pip3 -V # pip pointing to the Homebrew installed Python 3 interpreter (if installed)
+
+
Virtual Environments
--------------------
From 6656c15227014a5bfce1f9cacd2a3b6673fcb373 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Sun, 20 Aug 2017 20:41:26 -0400
Subject: [PATCH 015/348] BTC
Signed-off-by: Kenneth Reitz
---
docs/_templates/sidebarintro.html | 1 +
docs/_templates/sidebarlogo.html | 1 +
2 files changed, 2 insertions(+)
diff --git a/docs/_templates/sidebarintro.html b/docs/_templates/sidebarintro.html
index c00f996c6..081692784 100644
--- a/docs/_templates/sidebarintro.html
+++ b/docs/_templates/sidebarintro.html
@@ -20,6 +20,7 @@ Stay Informed
Join Mailing List .
Say Thanks!
+BTC: 1Me2iXTJ91FYZhrGvaGaRDCBtnZ4KdxCug
diff --git a/docs/_templates/sidebarlogo.html b/docs/_templates/sidebarlogo.html
index c4b0ef71d..e3ebb9cc1 100644
--- a/docs/_templates/sidebarlogo.html
+++ b/docs/_templates/sidebarlogo.html
@@ -18,6 +18,7 @@ Get Updates
Say Thanks!
Join Mailing List .
+BTC: 1Me2iXTJ91FYZhrGvaGaRDCBtnZ4KdxCug
From 7a58e5c03ab1a21f07367937454c966505ca8af7 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 28 Aug 2017 02:10:33 -0400
Subject: [PATCH 016/348] =?UTF-8?q?python=203=20propganda=E2=84=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Kenneth Reitz
---
docs/_templates/hacks.html | 31 +++++++++++++++++++++++++++++++
docs/conf.py | 3 ++-
docs/index.rst | 2 ++
3 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/docs/_templates/hacks.html b/docs/_templates/hacks.html
index f7f7093d7..6e8541514 100644
--- a/docs/_templates/hacks.html
+++ b/docs/_templates/hacks.html
@@ -1,3 +1,34 @@
+
+
+ Python 3, the new best practice, is here to stay.
+ Python 2 will retire in only months!
+
+
+
+
+
+
+
Say Thanks!
Join Mailing List .
-BTC: 1Me2iXTJ91FYZhrGvaGaRDCBtnZ4KdxCug
From 6a8feb001c038db165809445b2ed1222cf2cdc28 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 18:25:47 -0400
Subject: [PATCH 019/348] Update virtualenvs.rst
---
docs/dev/virtualenvs.rst | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index 71307da50..3f2bb505e 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -1,7 +1,7 @@
.. _virtualenvironments-ref:
-Virtual Environments
-====================
+Pipenv & Virtual Environments
+=============================
A Virtual Environment is a tool to keep the dependencies required by different
projects in separate places, by creating virtual Python environments for them.
@@ -11,6 +11,22 @@ dilemma, and keeps your global site-packages directory clean and manageable.
For example, you can work on a project which requires Django 1.10 while also
maintaining a project which requires Django 1.8.
+
+Pipenv
+------
+
+**Pipenv** is a project that aims to bring the best of all packaging worlds to the Python world. It harnesses `Pipfile `_, `pip `_, and `virtualenv `_ into one single toolchain. It features very pretty terminal colors.
+
+It automatically creates and manages a virtualenv for your projects, as well as adds/removes packages from your ``Pipfile`` as you install/uninstall packages. The ``lock`` command generates a lockfile (``Pipfile.lock``).
+
+
+Install Pipenv with pip::
+
+ $ pip install pipenv
+ ✨🍰✨
+
+
+
virtualenv
----------
@@ -18,6 +34,8 @@ virtualenv
isolated Python environments. virtualenv creates a folder which contains all the
necessary executables to use the packages that a Python project would need.
+It can be used standalone, in place of Pipenv.
+
Install virtualenv via pip:
.. code-block:: console
From a554f0f645cbebe648bc7f36f53bcced4e11ad65 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 18:32:20 -0400
Subject: [PATCH 020/348] Update virtualenvs.rst
---
docs/dev/virtualenvs.rst | 182 ++++++++++++++++++++++++++++++++++++---
1 file changed, 168 insertions(+), 14 deletions(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index 3f2bb505e..5707637d0 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -3,33 +3,187 @@
Pipenv & Virtual Environments
=============================
-A Virtual Environment is a tool to keep the dependencies required by different
-projects in separate places, by creating virtual Python environments for them.
-It solves the "Project X depends on version 1.x but, Project Y needs 4.x"
-dilemma, and keeps your global site-packages directory clean and manageable.
+This tutorial walks you through installing and using Python packages. It will
+show you how to install and use the necessary tools and make strong
+recommendations on best practices. Keep in mind that Python is used for a great
+many different purposes, and precisely how you want to manage your dependencies
+may change based on how you decide to publish your software. The guidance
+presented here is most directly applicable to the development and deployment of
+network services (including web applications), but is also very well suited to
+managing development and testing environments for any kind of project.
-For example, you can work on a project which requires Django 1.10 while also
-maintaining a project which requires Django 1.8.
+.. Note:: This guide is written for Python 3, however, these instructions
+ should work fine on Python 2.7.
-Pipenv
-------
+Make sure you've got Python & pip
+---------------------------------
-**Pipenv** is a project that aims to bring the best of all packaging worlds to the Python world. It harnesses `Pipfile `_, `pip `_, and `virtualenv `_ into one single toolchain. It features very pretty terminal colors.
+Before you go any further, make sure you have Python and that it's avalable
+from your command line. You can check this by simply running:
-It automatically creates and manages a virtualenv for your projects, as well as adds/removes packages from your ``Pipfile`` as you install/uninstall packages. The ``lock`` command generates a lockfile (``Pipfile.lock``).
+.. code-block:: bash
+ python --version
-Install Pipenv with pip::
+You should get some output like ``3.6.2``. If you do not have Python, please
+install the latest 3.x version from `python.org`_ or refer to the
+`Installing Python`_ section of the Hitchhiker's Guide to Python.
- $ pip install pipenv
- ✨🍰✨
+.. Note:: If you're newcomer and you get an error like this:
+ .. code-block:: python
+ >>> python
+ Traceback (most recent call last):
+ File "", line 1, in
+ NameError: name 'python' is not defined
-virtualenv
+ It's because this command is intended to be run in a *shell* (also called
+ a *terminal* or *console*). See the Python for Beginners
+ `getting started tutorial`_ for an introduction to using your operating
+ system's shell and interacting with Python.
+
+Additionally, you'll need to make sure you have :ref:`pip` available. You can
+check this by running:
+
+.. code-block:: bash
+
+ pip --version
+
+If you installed Python from source, with an installer from `python.org`_, or
+via `Homebrew`_ you should already have pip. If you're on Linux and installed
+using your OS package manager, you may have to install pip separately, see
+:doc:`/guides/installing-using-linux-tools`.
+
+.. _getting started tutorial: https://opentechschool.github.io/python-beginners/en/getting_started.html#what-is-python-exactly
+.. _python.org: https://python.org
+.. _Homebrew: https://brew.sh
+.. _Installing Python: http://docs.python-guide.org/en/latest/starting/installation/
+
+
+Installing Pipenv
+-----------------
+
+:ref:`Pipenv` is a dependency manager for Python projects. If you're familiar
+with Node.js' `npm`_ or Ruby's `bundler`_, it is similar in spirit to those
+tools. While :ref:`pip` can install Python packages, Pipenv is recommended as
+it's a higher-level tool that simplifies dependency management for common use
+cases.
+
+Use ``pip`` to install Pipenv:
+
+.. code-block:: python
+
+ pip install --user pipenv
+
+
+.. Note:: This does a `user installation`_ to prevent breaking any system-wide
+ packages. If ``pipenv`` isn't available in your shell after installation,
+ you'll need to add the `user base`_'s ``bin`` directory to your ``PATH``.
+ You can find the user base by running ``python -m site`` which will print
+ site information including the user base. For example, on Linux this will
+ return ``USER_BASE: '~/.local'`` so you'll need to add ``~/.local/bin`` to
+ your ``PATH``. On Linux and macOS you can set your ``PATH`` permanently
+ by `modifying ~/.profile`_. On Windows you can set the user
+ ``PATH`` permanently in the `Control Panel`_.
+
+.. _npm: https://www.npmjs.com/
+.. _bundler: http://bundler.io/
+.. _user base: https://docs.python.org/3/library/site.html#site.USER_BASE
+.. _user installation: https://pip.pypa.io/en/stable/user_guide/#user-installs
+.. _modifying ~/.profile: https://stackoverflow.com/a/14638025
+.. _Control Panel: https://msdn.microsoft.com/en-us/library/windows/desktop/bb776899(v=vs.85).aspx
+
+Installing packages for your project
+------------------------------------
+
+Pipenv manages dependencies on a per-project basis. To install packages,
+change into your project's directory (or just an empty directory for this
+tutorial) and run:
+
+.. code-block:: bash
+
+ cd myproject
+ pipenv install requests
+
+Pipenv will install the excellent `Requests`_ library and create a ``Pipfile``
+for you in your project's directory. The :ref:`Pipfile` is used to track which
+dependencies your project needs in case you need to re-install them, such as
+when you share your project with others. You should get output similar to this
+(although the exact paths shown will vary):
+
+.. code-block:: text
+
+ Creating a Pipfile for this project...
+ Creating a virtualenv for this project...
+ Using base prefix '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6'
+ New python executable in ~/.local/share/virtualenvs/tmp-agwWamBd/bin/python3.6
+ Also creating executable in ~/.local/share/virtualenvs/tmp-agwWamBd/bin/python
+ Installing setuptools, pip, wheel...done.
+
+ Virtualenv location: ~/.local/share/virtualenvs/tmp-agwWamBd
+ Installing requests...
+ Collecting requests
+ Using cached requests-2.18.4-py2.py3-none-any.whl
+ Collecting idna<2.7,>=2.5 (from requests)
+ Using cached idna-2.6-py2.py3-none-any.whl
+ Collecting urllib3<1.23,>=1.21.1 (from requests)
+ Using cached urllib3-1.22-py2.py3-none-any.whl
+ Collecting chardet<3.1.0,>=3.0.2 (from requests)
+ Using cached chardet-3.0.4-py2.py3-none-any.whl
+ Collecting certifi>=2017.4.17 (from requests)
+ Using cached certifi-2017.7.27.1-py2.py3-none-any.whl
+ Installing collected packages: idna, urllib3, chardet, certifi, requests
+ Successfully installed certifi-2017.7.27.1 chardet-3.0.4 idna-2.6 requests-2.18.4 urllib3-1.22
+
+ Adding requests to Pipfile's [packages]...
+ P.S. You have excellent taste! ✨ 🍰 ✨
+
+.. _Requests: https://python-requests.org
+
+
+Using installed packages
+------------------------
+
+Now that Requests is installed you can create a simple ``main.py`` file to
+use it:
+
+.. code-block:: python
+
+ import requests
+
+ response = requests.get('https://httpbin.org/ip')
+
+ print('Your IP is {0}'.format(response.json['origin']))
+
+Then you can run this script using ``pipenv run``:
+
+.. code-block:: bash
+
+ pipenv run python main.py
+
+You should get output similar to this:
+
+.. code-block:: text
+
+ Your IP is 8.8.8.8
+
+Using ``pipenv run`` ensures that your installed packages are available to
+your script. It's also possible to spawn a new shell that ensures all commands
+have access to your installed packages with ``pipenv shell``.
+
+
+Next steps
----------
+Congratulations, you now know how to install and use Python packages! ✨ 🍰 ✨
+
+
+
+virtualenv
+==========
+
`virtualenv `_ is a tool to create
isolated Python environments. virtualenv creates a folder which contains all the
necessary executables to use the packages that a Python project would need.
From aee8a9f9cbb579716927273509311e66135abbf0 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 18:35:01 -0400
Subject: [PATCH 021/348] Update virtualenvs.rst
---
docs/dev/virtualenvs.rst | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index 5707637d0..ac7c95781 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -24,11 +24,11 @@ from your command line. You can check this by simply running:
.. code-block:: bash
- python --version
+ $ python --version
You should get some output like ``3.6.2``. If you do not have Python, please
install the latest 3.x version from `python.org`_ or refer to the
-`Installing Python`_ section of the Hitchhiker's Guide to Python.
+`Installing Python`_ section of this guide.
.. Note:: If you're newcomer and you get an error like this:
@@ -49,7 +49,7 @@ check this by running:
.. code-block:: bash
- pip --version
+ $ pip --version
If you installed Python from source, with an installer from `python.org`_, or
via `Homebrew`_ you should already have pip. If you're on Linux and installed
@@ -75,7 +75,7 @@ Use ``pip`` to install Pipenv:
.. code-block:: python
- pip install --user pipenv
+ $ pip install --user pipenv
.. Note:: This does a `user installation`_ to prevent breaking any system-wide
@@ -104,8 +104,8 @@ tutorial) and run:
.. code-block:: bash
- cd myproject
- pipenv install requests
+ $ cd myproject
+ $ pipenv install requests
Pipenv will install the excellent `Requests`_ library and create a ``Pipfile``
for you in your project's directory. The :ref:`Pipfile` is used to track which
@@ -161,7 +161,7 @@ Then you can run this script using ``pipenv run``:
.. code-block:: bash
- pipenv run python main.py
+ $ pipenv run python main.py
You should get output similar to this:
From 2ca6cdb5f16f828db82b7504f9273481839b5fbf Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 18:48:18 -0400
Subject: [PATCH 022/348] Update virtualenvs.rst
---
docs/dev/virtualenvs.rst | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index ac7c95781..f5fab17c6 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -3,8 +3,9 @@
Pipenv & Virtual Environments
=============================
-This tutorial walks you through installing and using Python packages. It will
-show you how to install and use the necessary tools and make strong
+This tutorial walks you through installing and using Python packages.
+
+It will show you how to install and use the necessary tools and make strong
recommendations on best practices. Keep in mind that Python is used for a great
many different purposes, and precisely how you want to manage your dependencies
may change based on how you decide to publish your software. The guidance
From 53c1c7db1e46d52c0659ac75e8ff067b55541ec3 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 18:53:00 -0400
Subject: [PATCH 023/348] Update virtualenvs.rst
---
docs/dev/virtualenvs.rst | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index f5fab17c6..981a1fd49 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -54,8 +54,7 @@ check this by running:
If you installed Python from source, with an installer from `python.org`_, or
via `Homebrew`_ you should already have pip. If you're on Linux and installed
-using your OS package manager, you may have to install pip separately, see
-:doc:`/guides/installing-using-linux-tools`.
+using your OS package manager, you may have to `install pip `_ separately.
.. _getting started tutorial: https://opentechschool.github.io/python-beginners/en/getting_started.html#what-is-python-exactly
.. _python.org: https://python.org
From 97ebece5f1be1a895f65bead01a9472db91f182c Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 18:55:26 -0400
Subject: [PATCH 024/348] Update installation.rst
---
docs/starting/installation.rst | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/docs/starting/installation.rst b/docs/starting/installation.rst
index a21e1aec4..e6ef24679 100644
--- a/docs/starting/installation.rst
+++ b/docs/starting/installation.rst
@@ -16,11 +16,18 @@ Installation Guides
These guides go over the proper installation of :ref:`Python `
for development purposes, as well as setuptools, pip and virtualenv.
+.. note:: The use of **Python 3** is *highly* preferred over Python 2. Consider upgrading your applications and infrastructure if you find yourself *still* using Python 2 in production today. If you are using Python 3, congratulations — you are indeed a person of excellent taste.
+ —*Kenneth Reitz*
+
+ Python 3 Installation Guides
+ ////////////////////////////
+
- :ref:`Python 3 on MacOS `.
- :ref:`Python 3 on Windows `.
- :ref:`Python 3 on Linux `.
---------------------------------
+Legacy Python 2 Installation Guides
+///////////////////////////////////
- :ref:`Python 2 on MacOS `.
- :ref:`Python 2 on Microsoft Windows `.
From fbf0d8b999aedf7d6819e5cc75b0cab825ef4606 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 18:56:16 -0400
Subject: [PATCH 025/348] Update which-python.rst
---
docs/starting/which-python.rst | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/docs/starting/which-python.rst b/docs/starting/which-python.rst
index 2d2868e29..ed6c2d71d 100644
--- a/docs/starting/which-python.rst
+++ b/docs/starting/which-python.rst
@@ -21,6 +21,10 @@ The basic gist of the state of things is as follows:
Recommendations
~~~~~~~~~~~~~~~
+
+.. note:: The use of **Python 3** is *highly* preferred over Python 2. Consider upgrading your applications and infrastructure if you find yourself *still* using Python 2 in production today. If you are using Python 3, congratulations — you are indeed a person of excellent taste.
+ —*Kenneth Reitz*
+
I'll be blunt:
- Use Python 3 for new Python applications.
From eeff404a42ff411b7df3a65f9681199a5e688a3b Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 18:56:59 -0400
Subject: [PATCH 026/348] Update which-python.rst
---
docs/starting/which-python.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/starting/which-python.rst b/docs/starting/which-python.rst
index ed6c2d71d..b6894ec07 100644
--- a/docs/starting/which-python.rst
+++ b/docs/starting/which-python.rst
@@ -1,5 +1,5 @@
-Picking an Interpreter
-======================
+Picking an Python Interpreter (3 vs. 2)
+=======================================
.. _which-python:
From eab357e58d11148569a1834153042787be4fecec Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 18:58:43 -0400
Subject: [PATCH 027/348] Update installation.rst
---
docs/starting/installation.rst | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/docs/starting/installation.rst b/docs/starting/installation.rst
index e6ef24679..5555bf446 100644
--- a/docs/starting/installation.rst
+++ b/docs/starting/installation.rst
@@ -10,15 +10,16 @@ applications for real-world use. In particular, you should always install
Setuptools, Pip, and Virtualenv — they make it much easier for you to use
other third-party Python libraries.
+.. note:: The use of **Python 3** is *highly* preferred over Python 2. Consider upgrading your applications and infrastructure if you find yourself *still* using Python 2 in production today. If you are using Python 3, congratulations — you are indeed a person of excellent taste.
+ —*Kenneth Reitz*
+
+
Installation Guides
-------------------
These guides go over the proper installation of :ref:`Python `
for development purposes, as well as setuptools, pip and virtualenv.
-.. note:: The use of **Python 3** is *highly* preferred over Python 2. Consider upgrading your applications and infrastructure if you find yourself *still* using Python 2 in production today. If you are using Python 3, congratulations — you are indeed a person of excellent taste.
- —*Kenneth Reitz*
-
Python 3 Installation Guides
////////////////////////////
From c8035432b58d247740003e993442471e47293cf5 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 19:02:49 -0400
Subject: [PATCH 028/348] Update linux.rst
---
docs/starting/install3/linux.rst | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/docs/starting/install3/linux.rst b/docs/starting/install3/linux.rst
index 0eda73f03..1d089b16e 100644
--- a/docs/starting/install3/linux.rst
+++ b/docs/starting/install3/linux.rst
@@ -87,8 +87,10 @@ However, when using virtual environments (described bellow), you don't need to
care about that.
-Virtual Environments
---------------------
+Pipenv & Virtual Environments
+-----------------------------
+
+The next step it to install Pipenv, so you can install dependencies and manage virtual environments.
A Virtual Environment is a tool to keep the dependencies required by different projects
in separate places, by creating virtual Python environments for them. It solves the
@@ -98,11 +100,7 @@ your global site-packages directory clean and manageable.
For example, you can work on a project which requires Django 1.10 while also
maintaining a project which requires Django 1.8.
-To start using this and see more information: :ref:`Virtual Environments ` docs.
-
-You can also use :ref:`virtualenvwrapper ` to make it easier to
-manage your virtual environments.
-
+So, onward! To the :ref:`Pipenv & Virtual Environments ` docs!
--------------------------------
From 4c5f4c2aeba8248a7ca71f87455e0fa6e8b2696e Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 19:03:08 -0400
Subject: [PATCH 029/348] Update osx.rst
---
docs/starting/install3/osx.rst | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/docs/starting/install3/osx.rst b/docs/starting/install3/osx.rst
index 14adc77e3..e1eef9972 100644
--- a/docs/starting/install3/osx.rst
+++ b/docs/starting/install3/osx.rst
@@ -101,19 +101,20 @@ If the Homebrew version of Python 2 is installed then ``pip2`` will point to Pyt
If the Homebrew version of Python 3 is installed then ``pip3`` will point to Python 3.
-Virtual Environments
---------------------
+Pipenv & Virtual Environments
+-----------------------------
-A Virtual Environment (commonly referred to as a 'virtualenv') is a tool to keep
-the dependencies required by different projects in separate places, by creating
-virtual Python environments for them. It solves the "Project X depends on
-version 1.x but, Project Y needs 4.x" dilemma, and keeps your global
-site-packages directory clean and manageable.
+The next step it to install Pipenv, so you can install dependencies and manage virtual environments.
+
+A Virtual Environment is a tool to keep the dependencies required by different projects
+in separate places, by creating virtual Python environments for them. It solves the
+"Project X depends on version 1.x but, Project Y needs 4.x" dilemma, and keeps
+your global site-packages directory clean and manageable.
For example, you can work on a project which requires Django 1.10 while also
maintaining a project which requires Django 1.8.
-To start using this and see more information: :ref:`Virtual Environments ` docs.
+So, onward! To the :ref:`Pipenv & Virtual Environments ` docs!
--------------------------------
From 6579fccc1cba64ff8fd167dfb05bf35bb31d281c Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 19:03:23 -0400
Subject: [PATCH 030/348] Update win.rst
---
docs/starting/install3/win.rst | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/docs/starting/install3/win.rst b/docs/starting/install3/win.rst
index bb6c38f1a..c13533659 100644
--- a/docs/starting/install3/win.rst
+++ b/docs/starting/install3/win.rst
@@ -82,8 +82,10 @@ To install pip, run the Python script available here:
`get-pip.py `_
-Virtual Environments
---------------------
+Pipenv & Virtual Environments
+-----------------------------
+
+The next step it to install Pipenv, so you can install dependencies and manage virtual environments.
A Virtual Environment is a tool to keep the dependencies required by different projects
in separate places, by creating virtual Python environments for them. It solves the
@@ -93,8 +95,7 @@ your global site-packages directory clean and manageable.
For example, you can work on a project which requires Django 1.10 while also
maintaining a project which requires Django 1.8.
-To start using this and see more information: :ref:`Virtual Environments ` docs.
-
+So, onward! To the :ref:`Pipenv & Virtual Environments ` docs!
--------------------------------
From 134bf0ad0bfee42a010925a7d7c6de218a74fac3 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 19:28:26 -0400
Subject: [PATCH 031/348] Update virtualenvs.rst
---
docs/dev/virtualenvs.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index 981a1fd49..c6e8b5aa0 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -14,7 +14,7 @@ network services (including web applications), but is also very well suited to
managing development and testing environments for any kind of project.
.. Note:: This guide is written for Python 3, however, these instructions
- should work fine on Python 2.7.
+ should work fine on Python 2.7—if you are still using it, for some reason.
Make sure you've got Python & pip
From 86e7d9f08bfa3ee00d0161c4638bfa5940150816 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 19:56:58 -0400
Subject: [PATCH 032/348] Update virtualenvs.rst
---
docs/dev/virtualenvs.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index c6e8b5aa0..28e5fabd3 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -181,8 +181,8 @@ Congratulations, you now know how to install and use Python packages! ✨ 🍰
-virtualenv
-==========
+Lower level: virtualenv
+=======================
`virtualenv `_ is a tool to create
isolated Python environments. virtualenv creates a folder which contains all the
From ba1cdd54ec53dc0f3ed2bb0b8e40c19d0734d9b5 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Wed, 30 Aug 2017 20:37:11 -0400
Subject: [PATCH 033/348] Update virtualenvs.rst
---
docs/dev/virtualenvs.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index 28e5fabd3..22e65fe63 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -169,9 +169,9 @@ You should get output similar to this:
Your IP is 8.8.8.8
-Using ``pipenv run`` ensures that your installed packages are available to
+Using ``$ pipenv run`` ensures that your installed packages are available to
your script. It's also possible to spawn a new shell that ensures all commands
-have access to your installed packages with ``pipenv shell``.
+have access to your installed packages with ``$ pipenv shell``.
Next steps
From 4dbf5871605d8c611f2cfaeed44f42f7a935611b Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Thu, 31 Aug 2017 03:11:20 -0400
Subject: [PATCH 034/348] Update virtualenvs.rst
---
docs/dev/virtualenvs.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index 22e65fe63..aa31ecdf4 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -155,7 +155,7 @@ use it:
response = requests.get('https://httpbin.org/ip')
- print('Your IP is {0}'.format(response.json['origin']))
+ print('Your IP is {0}'.format(response.json()['origin']))
Then you can run this script using ``pipenv run``:
From a336f797542d1cec43d37e5e1ba44b435e6f15b1 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Fri, 1 Sep 2017 13:04:45 -0400
Subject: [PATCH 035/348] Update win.rst
---
docs/starting/install3/win.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/starting/install3/win.rst b/docs/starting/install3/win.rst
index c13533659..12692f271 100644
--- a/docs/starting/install3/win.rst
+++ b/docs/starting/install3/win.rst
@@ -3,7 +3,7 @@
Installing Python 3 on Windows
==============================
-First, download the `latest version `_
+First, download the `latest version `_
of Python 3.6 from the official website. If you want to be sure you are installing a fully
up-to-date version, click the Downloads > Windows link from the home page of the
`Python.org web site `_ .
From 7c070d72856f95858e7392b66274fc2669652d44 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:35:17 -0400
Subject: [PATCH 036/348] Update index.rst
---
docs/index.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/index.rst b/docs/index.rst
index 843d663cb..76c0ebe55 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -6,6 +6,8 @@
The Hitchhiker's Guide to Python!
=================================
+.. image:: https://farm5.staticflickr.com/4206/35620636872_7f97b4e497_k_d.jpg
+
Greetings, Earthling! Welcome to The Hitchhiker's Guide to Python.
**This is a living, breathing guide.** If you'd like to contribute,
From 9ba0f4b7943585d5c99a17a8b411e7bcdb282613 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:36:45 -0400
Subject: [PATCH 037/348] Update installation.rst
---
docs/starting/installation.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/starting/installation.rst b/docs/starting/installation.rst
index 5555bf446..3b3dc3b57 100644
--- a/docs/starting/installation.rst
+++ b/docs/starting/installation.rst
@@ -1,6 +1,8 @@
Properly Installing Python
==========================
+.. image:: https://farm5.staticflickr.com/4303/36137232412_fdcb0f84eb_k_d.jpg
+
There's a good chance that you already have Python on your operating system.
If so, you do not need to install or configure anything else to use Python.
From 900ff699df133880a435942530e41ec6c3ec2ec8 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:38:09 -0400
Subject: [PATCH 038/348] Update which-python.rst
---
docs/starting/which-python.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/starting/which-python.rst b/docs/starting/which-python.rst
index b6894ec07..1c1bbc191 100644
--- a/docs/starting/which-python.rst
+++ b/docs/starting/which-python.rst
@@ -1,6 +1,8 @@
Picking an Python Interpreter (3 vs. 2)
=======================================
+.. image:: https://farm5.staticflickr.com/4265/34484834733_5b80f65ab1_k_d.jpg
+
.. _which-python:
The State of Python (3 & 2)
From 87a6f8df67a08ac13239d624de9f0c3ff54e2287 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:40:37 -0400
Subject: [PATCH 039/348] Update linux.rst
---
docs/starting/install3/linux.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/starting/install3/linux.rst b/docs/starting/install3/linux.rst
index 1d089b16e..5ff23553c 100644
--- a/docs/starting/install3/linux.rst
+++ b/docs/starting/install3/linux.rst
@@ -3,6 +3,8 @@
Installing Python 3 on Linux
============================
+.. image:: https://farm5.staticflickr.com/4276/34435689480_8eea0f1bfd_o_d.jpg
+
This document describes how to install Python 3.6 on Ubuntu Linux machines.
To see which version of Python 3 you have installed, open a command prompt and run
From dae92ca4632b046547ecd27f59aeb567b453a2eb Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:41:23 -0400
Subject: [PATCH 040/348] Update linux.rst
---
docs/starting/install3/linux.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/starting/install3/linux.rst b/docs/starting/install3/linux.rst
index 5ff23553c..3d0a38636 100644
--- a/docs/starting/install3/linux.rst
+++ b/docs/starting/install3/linux.rst
@@ -3,7 +3,7 @@
Installing Python 3 on Linux
============================
-.. image:: https://farm5.staticflickr.com/4276/34435689480_8eea0f1bfd_o_d.jpg
+.. image:: https://farm5.staticflickr.com/4276/34435689480_2e6f358510_k_d.jpg
This document describes how to install Python 3.6 on Ubuntu Linux machines.
From a3ac30630f9cafe7041abe1177ec8bfcf2c8e2d0 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:41:39 -0400
Subject: [PATCH 041/348] Update osx.rst
---
docs/starting/install3/osx.rst | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/docs/starting/install3/osx.rst b/docs/starting/install3/osx.rst
index e1eef9972..55575006d 100644
--- a/docs/starting/install3/osx.rst
+++ b/docs/starting/install3/osx.rst
@@ -3,7 +3,9 @@
.. _install3-osx:
Installing Python 3 on Mac OS X
-================================
+===============================
+
+.. image:: https://farm5.staticflickr.com/4276/34435689480_2e6f358510_k_d.jpg
The latest version of Mac OS X, Sierra, **comes with Python 2.7 out of the box**.
From bf0bf4ad98d221faf48bcd8e22384446f17c103e Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:41:56 -0400
Subject: [PATCH 042/348] Update win.rst
---
docs/starting/install3/win.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/starting/install3/win.rst b/docs/starting/install3/win.rst
index 12692f271..5fb1b2d8c 100644
--- a/docs/starting/install3/win.rst
+++ b/docs/starting/install3/win.rst
@@ -3,6 +3,8 @@
Installing Python 3 on Windows
==============================
+.. image:: https://farm5.staticflickr.com/4276/34435689480_2e6f358510_k_d.jpg
+
First, download the `latest version `_
of Python 3.6 from the official website. If you want to be sure you are installing a fully
up-to-date version, click the Downloads > Windows link from the home page of the
From e69ced1a9cdf4d716edbfcfa9f6bd9de99148a36 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:42:48 -0400
Subject: [PATCH 043/348] Update linux.rst
---
docs/starting/install/linux.rst | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/docs/starting/install/linux.rst b/docs/starting/install/linux.rst
index a4258b658..02fdd2c5f 100644
--- a/docs/starting/install/linux.rst
+++ b/docs/starting/install/linux.rst
@@ -1,7 +1,9 @@
.. _install-linux:
Installing Python 2 on Linux
-============================
+=============================
+
+.. image:: https://farm5.staticflickr.com/4268/34435688560_4cc2a7bcbb_k_d.jpg
The latest versions of CentOS, Red Hat Enterprise Linux (RHEL) and Ubuntu
**come with Python 2.7 out of the box**.
From e24d7d074b1cc98ca90d3b599ff210b56bc2e229 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:42:59 -0400
Subject: [PATCH 044/348] Update osx.rst
---
docs/starting/install/osx.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/starting/install/osx.rst b/docs/starting/install/osx.rst
index bd7733bf6..c5247b505 100644
--- a/docs/starting/install/osx.rst
+++ b/docs/starting/install/osx.rst
@@ -3,6 +3,8 @@
Installing Python 2 on Mac OS X
===============================
+.. image:: https://farm5.staticflickr.com/4268/34435688560_4cc2a7bcbb_k_d.jpg
+
.. note::
Check out our :ref:`guide for installing Python 3 on OS X`.
From 02862852952b250f897302e3386dbb5e17b6d117 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:43:08 -0400
Subject: [PATCH 045/348] Update win.rst
---
docs/starting/install/win.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/starting/install/win.rst b/docs/starting/install/win.rst
index bbcae9ccb..8733e998e 100644
--- a/docs/starting/install/win.rst
+++ b/docs/starting/install/win.rst
@@ -3,6 +3,8 @@
Installing Python 2 on Windows
==============================
+.. image:: https://farm5.staticflickr.com/4268/34435688560_4cc2a7bcbb_k_d.jpg
+
First, download the `latest version `_
of Python 2.7 from the official website. If you want to be sure you are installing a fully
up-to-date version, click the Downloads > Windows link from the home page of the
From e8ae2027251aaa9311328f54a6db7550682de3d5 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:44:26 -0400
Subject: [PATCH 046/348] Update structure.rst
---
docs/writing/structure.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/writing/structure.rst b/docs/writing/structure.rst
index 486004cbd..4ef0cea98 100644
--- a/docs/writing/structure.rst
+++ b/docs/writing/structure.rst
@@ -1,6 +1,8 @@
Structuring Your Project
========================
+.. image:: https://farm5.staticflickr.com/4166/34435687940_8f73fc1fa6_k_d.jpg
+
By "structure" we mean the decisions you make concerning
how your project best meets its objective. We need to consider how to
best leverage Python's features to create clean, effective code.
From 62e047405d55a0408f890b905afb5ce083cfce88 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:44:59 -0400
Subject: [PATCH 047/348] Update gotchas.rst
---
docs/writing/gotchas.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/writing/gotchas.rst b/docs/writing/gotchas.rst
index 4a28085b3..7d4cd6fb4 100644
--- a/docs/writing/gotchas.rst
+++ b/docs/writing/gotchas.rst
@@ -1,6 +1,8 @@
Common Gotchas
==============
+.. image:: https://farm5.staticflickr.com/4163/34435688380_b5a740762b_k_d.jpg
+
For the most part, Python aims to be a clean and consistent language that
avoids surprises. However, there are a few cases that can be confusing to
newcomers.
From 4c37b093b0c636d19810435758fca17b2f6e2573 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:45:34 -0400
Subject: [PATCH 048/348] Update logging.rst
---
docs/writing/logging.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/writing/logging.rst b/docs/writing/logging.rst
index ad2bda1bc..184e9e8b6 100644
--- a/docs/writing/logging.rst
+++ b/docs/writing/logging.rst
@@ -1,6 +1,8 @@
Logging
=======
+.. image:: https://farm5.staticflickr.com/4246/35254379756_c9fe23f843_k_d.jpg
+
The :mod:`logging` module has been a part of Python's Standard Library since
version 2.3. It is succinctly described in :pep:`282`. The documentation
is notoriously hard to read, except for the `basic logging tutorial`_.
From e2ccc68cc23c7bb4311525f5a6f35020efeb1088 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:46:37 -0400
Subject: [PATCH 049/348] Update style.rst
---
docs/writing/style.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/writing/style.rst b/docs/writing/style.rst
index d198dc749..abd0af49f 100644
--- a/docs/writing/style.rst
+++ b/docs/writing/style.rst
@@ -3,6 +3,8 @@
Code Style
==========
+.. image:: https://farm5.staticflickr.com/4223/33907150054_5ee79e8940_k_d.jpg
+
If you ask Python programmers what they like most about Python, they will
often cite its high readability. Indeed, a high level of readability
is at the heart of the design of the Python language, following the
From 088bbe98396e472c3eac7b2c3a8ac1a6db4bf9ff Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:47:23 -0400
Subject: [PATCH 050/348] Update documentation.rst
---
docs/writing/documentation.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/writing/documentation.rst b/docs/writing/documentation.rst
index a91b86b90..d251a0b99 100644
--- a/docs/writing/documentation.rst
+++ b/docs/writing/documentation.rst
@@ -1,6 +1,8 @@
Documentation
=============
+.. image:: https://farm5.staticflickr.com/4279/35620636012_f66aa88f93_k_d.jpg
+
Readability is a primary focus for Python developers, in both project
and code documentation. Following some simple best practices can save
both you and others a lot of time.
From 7fefdb03dd9ed3b1f07a2792fd5b55dd6e1a9f9b Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:48:11 -0400
Subject: [PATCH 051/348] Update license.rst
---
docs/writing/license.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/writing/license.rst b/docs/writing/license.rst
index 6c42df767..dd5fe3bb8 100644
--- a/docs/writing/license.rst
+++ b/docs/writing/license.rst
@@ -1,6 +1,8 @@
Choosing a License
==================
+.. image:: https://farm5.staticflickr.com/4228/33907149294_82d7535a6c_k_d.jpg
+
Your source publication *needs* a license. In the US, if no license is
specified, users have no legal right to download, modify, or distribute.
Furthermore, people can't contribute to your code unless you tell them what
From 18fc51467b477675e2e50635d32e3a3efb97698d Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:48:40 -0400
Subject: [PATCH 052/348] Update reading.rst
---
docs/writing/reading.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/writing/reading.rst b/docs/writing/reading.rst
index 97342250a..0b6486d51 100644
--- a/docs/writing/reading.rst
+++ b/docs/writing/reading.rst
@@ -1,6 +1,8 @@
Reading Great Code
==================
+.. image:: https://farm5.staticflickr.com/4221/34689452831_93d7fd0571_k_d.jpg
+
One of the core tenets behind the design of Python is creating
readable code. The motivation behind this design is simple: The number
one thing that Python programmers do is read code.
From 9c0c28d604877676be181fde5d5076c2c3826c84 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:49:37 -0400
Subject: [PATCH 053/348] Update tests.rst
---
docs/writing/tests.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/writing/tests.rst b/docs/writing/tests.rst
index 31b132c2e..267936e4e 100644
--- a/docs/writing/tests.rst
+++ b/docs/writing/tests.rst
@@ -1,6 +1,8 @@
Testing Your Code
=================
+.. image:: https://farm5.staticflickr.com/4222/33907151414_4caa51c4ae_k_d.jpg
+
Testing your code is very important.
Getting used to writing testing code and running this code in parallel is now
From 6305cefad70740d1098a82f0b677b71b5ef4b9b6 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:50:01 -0400
Subject: [PATCH 054/348] Update tests.rst
---
docs/writing/tests.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/writing/tests.rst b/docs/writing/tests.rst
index 267936e4e..ab9075feb 100644
--- a/docs/writing/tests.rst
+++ b/docs/writing/tests.rst
@@ -1,7 +1,7 @@
Testing Your Code
=================
-.. image:: https://farm5.staticflickr.com/4222/33907151414_4caa51c4ae_k_d.jpg
+.. image:: https://farm5.staticflickr.com/4203/33907151224_0574e7dfc2_k_d.jpg
Testing your code is very important.
From 1d6412eeb5a7af23fbe910653adb399f1fc7de5d Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:50:21 -0400
Subject: [PATCH 055/348] Update structure.rst
---
docs/writing/structure.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/writing/structure.rst b/docs/writing/structure.rst
index 4ef0cea98..fbea0e5bc 100644
--- a/docs/writing/structure.rst
+++ b/docs/writing/structure.rst
@@ -1,7 +1,7 @@
Structuring Your Project
========================
-.. image:: https://farm5.staticflickr.com/4166/34435687940_8f73fc1fa6_k_d.jpg
+.. image:: https://farm5.staticflickr.com/4203/33907151224_0574e7dfc2_k_d.jpg
By "structure" we mean the decisions you make concerning
how your project best meets its objective. We need to consider how to
From 223cfa99ade84480b43e9a4b51cc2189d57637ab Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:50:56 -0400
Subject: [PATCH 056/348] Update tests.rst
---
docs/writing/tests.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/writing/tests.rst b/docs/writing/tests.rst
index ab9075feb..ea86ee8a9 100644
--- a/docs/writing/tests.rst
+++ b/docs/writing/tests.rst
@@ -1,7 +1,7 @@
Testing Your Code
=================
-.. image:: https://farm5.staticflickr.com/4203/33907151224_0574e7dfc2_k_d.jpg
+.. image:: https://farm5.staticflickr.com/4166/34435687940_8f73fc1fa6_k_d.jpg
Testing your code is very important.
From a9e1dcba2f6704451bf33d8f4937f3776267acd9 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:51:51 -0400
Subject: [PATCH 057/348] Update ci.rst
---
docs/scenarios/ci.rst | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/scenarios/ci.rst b/docs/scenarios/ci.rst
index b3327b141..b58deb515 100644
--- a/docs/scenarios/ci.rst
+++ b/docs/scenarios/ci.rst
@@ -1,6 +1,7 @@
Continuous Integration
======================
+.. image:: https://farm5.staticflickr.com/4173/33907150594_9abba7ad0a_k_d.jpg
Why?
----
From 309e9e1278ccfef8ab36e73b3e45039b3a51a3b2 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:52:21 -0400
Subject: [PATCH 058/348] Update admin.rst
---
docs/scenarios/admin.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/admin.rst b/docs/scenarios/admin.rst
index a438ab40c..ee7b5127b 100644
--- a/docs/scenarios/admin.rst
+++ b/docs/scenarios/admin.rst
@@ -1,6 +1,8 @@
Systems Administration
======================
+.. image:: https://farm5.staticflickr.com/4179/34435690580_3afec7d4cd_k_d.jpg
+
Fabric
------
From b46e7771a694676277faa47631c03b464ce86565 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:52:52 -0400
Subject: [PATCH 059/348] Update cli.rst
---
docs/scenarios/cli.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/cli.rst b/docs/scenarios/cli.rst
index 617de28c0..b6c7e7376 100644
--- a/docs/scenarios/cli.rst
+++ b/docs/scenarios/cli.rst
@@ -1,6 +1,8 @@
Command-line Applications
=========================
+.. image:: https://farm5.staticflickr.com/4272/34435690330_11930b5987_k_d.jpg
+
Command-line applications, also referred to as
`Console Applications `_,
are computer programs designed to be used from a text interface, such as a
From 8ce47b37cf2fcfcc68fb0998563f06fcaff8aafb Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:54:03 -0400
Subject: [PATCH 060/348] Update clibs.rst
---
docs/scenarios/clibs.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/clibs.rst b/docs/scenarios/clibs.rst
index 2066489cd..712d7f88e 100644
--- a/docs/scenarios/clibs.rst
+++ b/docs/scenarios/clibs.rst
@@ -1,6 +1,8 @@
Interfacing with C/C++ Libraries
================================
+.. image:: https://farm5.staticflickr.com/4173/34725951345_c8f5959a2e_k_d.jpg
+
C Foreign Function Interface
----------------------------
From 32bf1cf9902f16a389b1790496bbd71ec8531e63 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:54:30 -0400
Subject: [PATCH 061/348] Update client.rst
---
docs/scenarios/client.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/scenarios/client.rst b/docs/scenarios/client.rst
index 2dc7748cd..a0669a8c2 100644
--- a/docs/scenarios/client.rst
+++ b/docs/scenarios/client.rst
@@ -1,7 +1,7 @@
Network Applications
====================
-
+.. image:: https://farm5.staticflickr.com/4183/34725953695_d40f7d51af_k_d.jpg
HTTP
::::
From 4b098bd282a51e7d7f055376213e2820033982c2 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:55:01 -0400
Subject: [PATCH 062/348] Update client.rst
---
docs/scenarios/client.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/scenarios/client.rst b/docs/scenarios/client.rst
index a0669a8c2..99c7ac08d 100644
--- a/docs/scenarios/client.rst
+++ b/docs/scenarios/client.rst
@@ -1,7 +1,7 @@
Network Applications
====================
-.. image:: https://farm5.staticflickr.com/4183/34725953695_d40f7d51af_k_d.jpg
+.. image:: https://farm5.staticflickr.com/4251/34364815780_bea6614025_k_d.jpg
HTTP
::::
From 11960bd823ad64c178748d9c84695c50c73f3e76 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:55:29 -0400
Subject: [PATCH 063/348] Update crypto.rst
---
docs/scenarios/crypto.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/crypto.rst b/docs/scenarios/crypto.rst
index e4b103a9d..191062afe 100644
--- a/docs/scenarios/crypto.rst
+++ b/docs/scenarios/crypto.rst
@@ -1,6 +1,8 @@
Cryptography
============
+.. image:: https://farm5.staticflickr.com/4220/33907152824_bf91078cc1_k_d.jpg
+
Cryptography
------------
From 5654cb53cac51ea19577cd7c01d10297cb35cdc3 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:55:53 -0400
Subject: [PATCH 064/348] Update db.rst
---
docs/scenarios/db.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/db.rst b/docs/scenarios/db.rst
index 58d9cd20b..8da9a203e 100644
--- a/docs/scenarios/db.rst
+++ b/docs/scenarios/db.rst
@@ -1,6 +1,8 @@
Databases
=========
+.. image:: https://farm5.staticflickr.com/4225/33907152464_a99fdcc8de_k_d.jpg
+
DB-API
------
From fd5851240a2b855ab91df7db57b700051e43c120 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:56:22 -0400
Subject: [PATCH 065/348] Update gui.rst
---
docs/scenarios/gui.rst | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/scenarios/gui.rst b/docs/scenarios/gui.rst
index f56b212b7..69a8d3224 100644
--- a/docs/scenarios/gui.rst
+++ b/docs/scenarios/gui.rst
@@ -1,6 +1,9 @@
GUI Applications
================
+.. image:: https://farm5.staticflickr.com/4250/33907143624_cd621b535c_k_d.jpg
+
+
Alphabetical list of GUI Applications.
Camelot
From 1b594e0ce63d5d399314eba0110641cc8d15ad3d Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:56:56 -0400
Subject: [PATCH 066/348] Update imaging.rst
---
docs/scenarios/imaging.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/imaging.rst b/docs/scenarios/imaging.rst
index 49d3af1eb..984d6dbf4 100644
--- a/docs/scenarios/imaging.rst
+++ b/docs/scenarios/imaging.rst
@@ -2,6 +2,8 @@
Image Manipulation
==================
+.. image:: https://farm5.staticflickr.com/4157/34575689432_3de8e9a348_k_d.jpg
+
Most image processing and manipulation techniques can be carried out
effectively using two libraries: Python Imaging Library (PIL) and OpenSource
Computer Vision (OpenCV).
From d0f689bb94203f437f68f56d732e60d3190eb8ad Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:57:23 -0400
Subject: [PATCH 067/348] Update json.rst
---
docs/scenarios/json.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/json.rst b/docs/scenarios/json.rst
index 860e79435..55de04ef7 100644
--- a/docs/scenarios/json.rst
+++ b/docs/scenarios/json.rst
@@ -1,6 +1,8 @@
JSON
====
+.. image:: https://farm5.staticflickr.com/4174/33928819683_97b5c6a184_k_d.jpg
+
The `json `_ library can parse
JSON from strings or files. The library parses JSON into a Python dictionary
or list. It can also convert Python dictionaries or lists into JSON strings.
From f6448019815dff8e8f0a3d4629a0c0fb1bd4be96 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:59:25 -0400
Subject: [PATCH 068/348] Update ml.rst
---
docs/scenarios/ml.rst | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/docs/scenarios/ml.rst b/docs/scenarios/ml.rst
index 25cab8045..fde454276 100644
--- a/docs/scenarios/ml.rst
+++ b/docs/scenarios/ml.rst
@@ -2,6 +2,8 @@
Machine Learning
================
+.. image:: https://farm4.staticflickr.com/3954/34018729885_002ced9b54_k_d.jpg
+
Python has a vast number of libraries for data analysis, statistics and Machine Learning itself, making it a language of choice for many data scientists.
Some widely used packages for Machine Learning and other Data Science applications are enlisted below.
@@ -114,4 +116,4 @@ Since we're splitting randomly and the classifier trains on every iteration, the
The first line contains the labels (i.e flower species) of the testing data as predicted by our classifier, and the second line contains the actual flower species as given in the dataset. We thus get an accuracy of 100% this time.
-More on scikit-learn can be read in the `documentation `_.
\ No newline at end of file
+More on scikit-learn can be read in the `documentation `_.
From ed4b4cdf264caa5bbbdb4d92e60492a7b6eae500 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 16:59:51 -0400
Subject: [PATCH 069/348] Update network.rst
---
docs/scenarios/network.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/network.rst b/docs/scenarios/network.rst
index dd8bfa67d..0aa5860c9 100644
--- a/docs/scenarios/network.rst
+++ b/docs/scenarios/network.rst
@@ -1,6 +1,8 @@
Networking
==========
+.. image:: https://farm3.staticflickr.com/2892/34151833832_6bdfd930af_k_d.jpg
+
Twisted
-------
From 1a62b4d8ecf0aa6ce0e879652a627804ba3712ca Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:00:17 -0400
Subject: [PATCH 070/348] Update scientific.rst
---
docs/scenarios/scientific.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/scientific.rst b/docs/scenarios/scientific.rst
index 92c8c801b..f81ecef1b 100644
--- a/docs/scenarios/scientific.rst
+++ b/docs/scenarios/scientific.rst
@@ -2,6 +2,8 @@
Scientific Applications
=======================
+.. image:: https://farm3.staticflickr.com/2890/33925223870_97e44f5629_k_d.jpg
+
Context
:::::::
From f81ed3de776977c90ac83ee7f576841e9e557770 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:00:42 -0400
Subject: [PATCH 071/348] Update scrape.rst
---
docs/scenarios/scrape.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/scrape.rst b/docs/scenarios/scrape.rst
index a7440f83d..e32978266 100644
--- a/docs/scenarios/scrape.rst
+++ b/docs/scenarios/scrape.rst
@@ -1,6 +1,8 @@
HTML Scraping
=============
+.. image:: https://farm3.staticflickr.com/2900/34268661876_442428e122_k_d.jpg
+
Web Scraping
------------
From 4babd8bfddc4996e5f7da00831465565066e4a09 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:01:11 -0400
Subject: [PATCH 072/348] Update serialization.rst
---
docs/scenarios/serialization.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/serialization.rst b/docs/scenarios/serialization.rst
index ac0494f14..8a950bad9 100644
--- a/docs/scenarios/serialization.rst
+++ b/docs/scenarios/serialization.rst
@@ -2,6 +2,8 @@
Data Serialization
==================
+.. image:: https://farm3.staticflickr.com/2927/33467946364_3e59bd376a_k_d.jpg
+
What is data serialization?
---------------------------
From 55a2331a6a4ae65ea3f1c955a4ace047a71f4faa Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:01:35 -0400
Subject: [PATCH 073/348] Update speed.rst
---
docs/scenarios/speed.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/speed.rst b/docs/scenarios/speed.rst
index 01223809c..18e84ec92 100644
--- a/docs/scenarios/speed.rst
+++ b/docs/scenarios/speed.rst
@@ -1,6 +1,8 @@
Speed
=====
+.. image:: https://farm3.staticflickr.com/2826/33175625804_e225b90f3e_k_d.jpg
+
CPython, the most commonly used implementation of Python, is slow for CPU bound
tasks. `PyPy`_ is fast.
From d0e8328728640ad06b7fcfb766e6ca197a253e42 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:02:05 -0400
Subject: [PATCH 074/348] Update web.rst
---
docs/scenarios/web.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/web.rst b/docs/scenarios/web.rst
index 248155fd3..9ab35034b 100644
--- a/docs/scenarios/web.rst
+++ b/docs/scenarios/web.rst
@@ -2,6 +2,8 @@
Web Applications & Frameworks
=============================
+.. image:: https://farm3.staticflickr.com/2891/34309496175_b82d104282_k_d.jpg
+
As a powerful scripting language adapted to both fast prototyping
and bigger projects, Python is widely used in web application
development.
From 53be40ebb9009785f6d14f475ed9fdc99c04899a Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:02:35 -0400
Subject: [PATCH 075/348] Update xml.rst
---
docs/scenarios/xml.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/scenarios/xml.rst b/docs/scenarios/xml.rst
index 0cc3cdc4c..8af9e416c 100644
--- a/docs/scenarios/xml.rst
+++ b/docs/scenarios/xml.rst
@@ -1,6 +1,8 @@
XML parsing
===========
+.. image:: https://farm3.staticflickr.com/2808/33888714601_a1f7d020a2_k_d.jpg
+
untangle
--------
From 30c0a34fae2aa2a2e55cf6b0277cd6d629429cfa Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:03:43 -0400
Subject: [PATCH 076/348] Update freezing.rst
---
docs/shipping/freezing.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/shipping/freezing.rst b/docs/shipping/freezing.rst
index aaf4cc908..f0b73b41d 100644
--- a/docs/shipping/freezing.rst
+++ b/docs/shipping/freezing.rst
@@ -4,6 +4,8 @@
Freezing Your Code
==================
+.. image:: https://farm5.staticflickr.com/4227/33907151034_e0a9e53402_k_d.jpg
+
"Freezing" your code is creating a single-file executable file to distribute
to end-users, that contains all of your application code as well as the
Python interpreter.
From 20272176553c55f7ab8f070cb5fa498ac3c525d4 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:04:13 -0400
Subject: [PATCH 077/348] Update packaging.rst
---
docs/shipping/packaging.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/shipping/packaging.rst b/docs/shipping/packaging.rst
index 8100ee343..c2675b745 100644
--- a/docs/shipping/packaging.rst
+++ b/docs/shipping/packaging.rst
@@ -4,6 +4,8 @@
Packaging Your Code
===================
+.. image:: https://farm5.staticflickr.com/4325/36137234682_be6898bf57_k_d.jpg
+
Package your code to share it with other developers. For example
to share a library for other developers to use in their application,
or for development tools like 'py.test'.
From 13832a64ff18f1fe8049d3cfe96c9676b60499a1 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:04:56 -0400
Subject: [PATCH 078/348] Update virtualenvs.rst
---
docs/dev/virtualenvs.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index aa31ecdf4..6dd124b6c 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -3,6 +3,8 @@
Pipenv & Virtual Environments
=============================
+.. image:: https://farm5.staticflickr.com/4290/35294660055_42c02b2316_k_d.jpg
+
This tutorial walks you through installing and using Python packages.
It will show you how to install and use the necessary tools and make strong
From 7eca881a11c64c4c247eec86d712aa4385461d38 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:05:23 -0400
Subject: [PATCH 079/348] Update pip-virtualenv.rst
---
docs/dev/pip-virtualenv.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/dev/pip-virtualenv.rst b/docs/dev/pip-virtualenv.rst
index 07f93c679..f2457f1dc 100644
--- a/docs/dev/pip-virtualenv.rst
+++ b/docs/dev/pip-virtualenv.rst
@@ -3,6 +3,8 @@
Further Configuration of Pip and Virtualenv
===========================================
+.. image:: https://farm4.staticflickr.com/3934/34018732105_f0e6758859_k_d.jpg
+
Requiring an active virtual environment for ``pip``
---------------------------------------------------
From 98735c635413dfd15c32280da41df9a4515ef0f2 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:06:17 -0400
Subject: [PATCH 080/348] Update env.rst
---
docs/dev/env.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/dev/env.rst b/docs/dev/env.rst
index f03da3c0f..e1e012970 100644
--- a/docs/dev/env.rst
+++ b/docs/dev/env.rst
@@ -1,6 +1,8 @@
Your Development Environment
============================
+.. image:: https://farm3.staticflickr.com/2930/33175624924_7febc46cc4_k_d.jpg
+
Text Editors
::::::::::::
From e9f9d7f9b2d99bed8aaacd3c08a92c46dcb3f233 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:07:42 -0400
Subject: [PATCH 081/348] Update community.rst
---
docs/intro/community.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/intro/community.rst b/docs/intro/community.rst
index 754d53307..472c6d546 100644
--- a/docs/intro/community.rst
+++ b/docs/intro/community.rst
@@ -3,6 +3,8 @@
The Community
=============
+.. image:: https://farm5.staticflickr.com/4225/34689432801_78d97ecec9_k_d.jpg
+
BDFL
----
From ea43442bf25c31e675ebe6ddd38277437c4cbd86 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:08:12 -0400
Subject: [PATCH 082/348] Update documentation.rst
---
docs/intro/documentation.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/intro/documentation.rst b/docs/intro/documentation.rst
index 1db5bcedb..a75aa3c03 100644
--- a/docs/intro/documentation.rst
+++ b/docs/intro/documentation.rst
@@ -1,6 +1,8 @@
Documentation
=============
+.. image:: https://farm5.staticflickr.com/4178/33928823133_2f3d32cf32_k_d.jpg
+
Official Documentation
----------------------
From 6f967c3b6734b534d95f8d78b2a218ebea8ebd89 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:08:40 -0400
Subject: [PATCH 083/348] Update duction.rst
---
docs/intro/duction.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/intro/duction.rst b/docs/intro/duction.rst
index e18d146c2..8e9cc6f0f 100644
--- a/docs/intro/duction.rst
+++ b/docs/intro/duction.rst
@@ -1,6 +1,8 @@
Introduction
============
+.. image:: https://farm5.staticflickr.com/4180/34725946825_0f85497e60_k_d.jpg
+
From the `official Python website `_:
Python is a general-purpose, high-level programming language similar
From cb28f17c9bc9ca3ba1bfb8f69bd6dc280c97894f Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:09:29 -0400
Subject: [PATCH 084/348] Update learning.rst
---
docs/intro/learning.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/intro/learning.rst b/docs/intro/learning.rst
index 3c0295417..beb0004ac 100644
--- a/docs/intro/learning.rst
+++ b/docs/intro/learning.rst
@@ -1,6 +1,8 @@
Learning Python
===============
+.. image:: https://farm3.staticflickr.com/2840/32800783863_11a00db52c_k_d.jpg
+
Beginner
--------
From d8d7154b4a76939b798b4b621730761c023b7b6a Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:10:49 -0400
Subject: [PATCH 085/348] Update news.rst
---
docs/intro/news.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/intro/news.rst b/docs/intro/news.rst
index 074821fa4..cc8702535 100644
--- a/docs/intro/news.rst
+++ b/docs/intro/news.rst
@@ -1,6 +1,8 @@
News
====
+.. image:: https://farm4.staticflickr.com/3804/33573767786_eececc5d27_k_d.jpg
+
Planet Python
~~~~~~~~~~~~~
From a6f34509f4b3fac07131d5fd2763d6280a86b2de Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:11:39 -0400
Subject: [PATCH 086/348] Update contribute.rst
---
docs/notes/contribute.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/notes/contribute.rst b/docs/notes/contribute.rst
index 0d709f29f..accafa023 100644
--- a/docs/notes/contribute.rst
+++ b/docs/notes/contribute.rst
@@ -1,6 +1,8 @@
Contribute
~~~~~~~~~~
+.. image: https://farm3.staticflickr.com/2858/33573769116_49c1ef51e7_k_d.jpg
+
Python-guide is under active development, and contributors are welcome.
If you have a feature request, suggestion, or bug report, please open a new
From dca7b1e469b108c29c878ce0fddd7d7824a0a688 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:11:48 -0400
Subject: [PATCH 087/348] Update contribute.rst
---
docs/notes/contribute.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/notes/contribute.rst b/docs/notes/contribute.rst
index accafa023..b75f55926 100644
--- a/docs/notes/contribute.rst
+++ b/docs/notes/contribute.rst
@@ -1,7 +1,7 @@
Contribute
~~~~~~~~~~
-.. image: https://farm3.staticflickr.com/2858/33573769116_49c1ef51e7_k_d.jpg
+.. image:: https://farm3.staticflickr.com/2858/33573769116_49c1ef51e7_k_d.jpg
Python-guide is under active development, and contributors are welcome.
From 0e80520ac9fbfd1114c6e05030ac256948ce218b Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:12:22 -0400
Subject: [PATCH 088/348] Update license.rst
---
docs/notes/license.rst | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/docs/notes/license.rst b/docs/notes/license.rst
index 5a7f54351..6df4ee6b8 100644
--- a/docs/notes/license.rst
+++ b/docs/notes/license.rst
@@ -2,4 +2,6 @@
License
=======
-The Guide is licensed under the `Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported license `_.
\ No newline at end of file
+.. image:: https://farm4.staticflickr.com/3762/32800805573_568d6b72fd_k_d.jpg
+
+The Guide is licensed under the `Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported license `_.
From d15a63e5d8ed48e569df408c1c10041d44898df5 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:12:54 -0400
Subject: [PATCH 089/348] Update styleguide.rst
---
docs/notes/styleguide.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/notes/styleguide.rst b/docs/notes/styleguide.rst
index 768240b0e..c2d4034ec 100644
--- a/docs/notes/styleguide.rst
+++ b/docs/notes/styleguide.rst
@@ -4,6 +4,8 @@
The Guide Style Guide
=====================
+.. image:: https://farm4.staticflickr.com/3684/33573755856_7f43d43adf_k_d.jpg
+
As with all documentation, having a consistent format helps make the
document more understandable. In order to make The Guide easier to digest,
all contributions should fit within the rules of this style guide where
From 06d1914373859bda56c6aec41c3ccbe9c62660b5 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Mon, 4 Sep 2017 17:13:40 -0400
Subject: [PATCH 090/348] Update index.rst
---
docs/index.rst | 2 --
1 file changed, 2 deletions(-)
diff --git a/docs/index.rst b/docs/index.rst
index 76c0ebe55..843d663cb 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -6,8 +6,6 @@
The Hitchhiker's Guide to Python!
=================================
-.. image:: https://farm5.staticflickr.com/4206/35620636872_7f97b4e497_k_d.jpg
-
Greetings, Earthling! Welcome to The Hitchhiker's Guide to Python.
**This is a living, breathing guide.** If you'd like to contribute,
From 59a7b170fee8a5da07582dea000a3890641c1627 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Tue, 5 Sep 2017 12:57:59 -0400
Subject: [PATCH 091/348] Update Readme.rst
---
Readme.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Readme.rst b/Readme.rst
index bccb651b0..bc3b38bc7 100644
--- a/Readme.rst
+++ b/Readme.rst
@@ -3,6 +3,8 @@ Hitchhiker's Guide to Python
**Python Best Practices Guidebook**
+.. image:: https://farm1.staticflickr.com/628/33173824932_58add34581_k_d.jpg
+
-----------
**Work in progress. If you'd like to help, please do. There's a lot of work to
From 93d8c7278e6bed3c684c8d98033ce4f91d968516 Mon Sep 17 00:00:00 2001
From: "Michael V. DePalatis"
Date: Mon, 11 Sep 2017 10:23:02 -0400
Subject: [PATCH 092/348] Fix grammar in sentence about bdist_rpm
---
docs/shipping/packaging.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/shipping/packaging.rst b/docs/shipping/packaging.rst
index c2675b745..7e55d4207 100644
--- a/docs/shipping/packaging.rst
+++ b/docs/shipping/packaging.rst
@@ -154,7 +154,7 @@ Also, if a distribution releases a new security update for Python, then your
application will automatically start using that new version of Python.
The bdist_rpm command makes `producing an RPM file `_
-for use by distributions like Red Hat or SuSE is trivially easy.
+for use by distributions like Red Hat or SuSE trivially easy.
However, creating and maintaining the different configurations required for
each distribution's format (e.g. .deb for Debian/Ubuntu, .rpm for Red
From e8b9e3ec7ac520647f6c87fcb90296d937351790 Mon Sep 17 00:00:00 2001
From: Ofek Lev
Date: Wed, 13 Sep 2017 01:31:44 -0400
Subject: [PATCH 093/348] add Talk Python & Python Bytes podcasts to news
---
docs/intro/news.rst | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/docs/intro/news.rst b/docs/intro/news.rst
index cc8702535..c3a019551 100644
--- a/docs/intro/news.rst
+++ b/docs/intro/news.rst
@@ -18,6 +18,20 @@ Python-related news.
`/r/python `_
+Talk Python Podcast
+~~~~~~~~~~~~~~~~~~~
+
+The #1 Python-focused podcast covering the people and ideas in Python.
+
+ `Talk Python To Me `_
+
+Python Bytes Podcast
+~~~~~~~~~~~~~~~~~~~~
+
+A short-form Python podcast covering recent developer headlines.
+
+ `Python Bytes `_
+
Pycoder's Weekly
~~~~~~~~~~~~~~~~
From 28525be1c183357497916f9acaec894048baed91 Mon Sep 17 00:00:00 2001
From: Steven Barre
Date: Thu, 21 Sep 2017 16:40:58 -0700
Subject: [PATCH 094/348] Typo fix
---
docs/writing/structure.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/writing/structure.rst b/docs/writing/structure.rst
index fbea0e5bc..874f5f367 100644
--- a/docs/writing/structure.rst
+++ b/docs/writing/structure.rst
@@ -774,7 +774,7 @@ compute x + 1, you have to create another integer and give it a name.
my_list = [1, 2, 3]
my_list[0] = 4
- print my_list # [4, 2, 3] <- The same list as changed
+ print my_list # [4, 2, 3] <- The same list has changed
x = 6
x = x + 1 # The new x is another object
From 63bde4525a7260a833aa519dbf35e33b5aace387 Mon Sep 17 00:00:00 2001
From: Marco Rougeth
Date: Tue, 26 Sep 2017 22:14:58 -0300
Subject: [PATCH 095/348] Add ref to installation.rst
---
docs/starting/installation.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/starting/installation.rst b/docs/starting/installation.rst
index 3b3dc3b57..a22e35922 100644
--- a/docs/starting/installation.rst
+++ b/docs/starting/installation.rst
@@ -1,3 +1,5 @@
+.. _installation:
+
Properly Installing Python
==========================
From afa74782c5fdc08c16321d5d031a1e47bad848e0 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Sat, 30 Sep 2017 09:15:40 -0400
Subject: [PATCH 096/348] Update virtualenvs.rst
---
docs/dev/virtualenvs.rst | 24 +++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index 6dd124b6c..65dc8b12d 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -82,13 +82,23 @@ Use ``pip`` to install Pipenv:
.. Note:: This does a `user installation`_ to prevent breaking any system-wide
packages. If ``pipenv`` isn't available in your shell after installation,
- you'll need to add the `user base`_'s ``bin`` directory to your ``PATH``.
- You can find the user base by running ``python -m site`` which will print
- site information including the user base. For example, on Linux this will
- return ``USER_BASE: '~/.local'`` so you'll need to add ``~/.local/bin`` to
- your ``PATH``. On Linux and macOS you can set your ``PATH`` permanently
- by `modifying ~/.profile`_. On Windows you can set the user
- ``PATH`` permanently in the `Control Panel`_.
+ you'll need to add the `user base`_'s binary directory to your ``PATH``.
+
+ On Linux and macOS you can find the user base binary directory by running
+ ``python -m site --user-base`` and adding ``bin`` to the end. For example,
+ this will typically print ``~/.local`` (with ``~`` expanded to the
+ absolute path to your home directory) so you'll need to add
+ ``~/.local/bin`` to your ``PATH``. You can set your ``PATH`` permanently by
+ `modifying ~/.profile`_.
+
+ On Windows you can find the user base binary directory by running
+ ``py -m site --user-site`` and replacing ``site-packages`` with
+ ``Scripts``. For example, this could return
+ ``C:\Users\Username\AppData\Roaming\Python36\site-packages`` so you would
+ need to set your ``PATH`` to include
+ ``C:\Users\Username\AppData\Roaming\Python36\Scripts``. You can set your
+ user ``PATH`` permanently in the `Control Panel`_. You may need to log
+ out for the ``PATH`` changes to take effect.
.. _npm: https://www.npmjs.com/
.. _bundler: http://bundler.io/
From 25802738385546e59e7daed200cbacfc71031518 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Sat, 30 Sep 2017 09:18:19 -0400
Subject: [PATCH 097/348] updated contents
Signed-off-by: Kenneth Reitz
---
docs/contents.rst.inc | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/docs/contents.rst.inc b/docs/contents.rst.inc
index b5673cc92..223c64393 100644
--- a/docs/contents.rst.inc
+++ b/docs/contents.rst.inc
@@ -20,6 +20,22 @@ New to Python? Let's properly setup up your Python environment.
starting/install/osx
starting/install/win
starting/install/linux
+ dev/virtualenvs
+
+
+Python Development Environments
+-------------------------------
+
+This part of the guide focus on the Python development environment,
+and the best-practice tools that are available for writing Python code.
+
+.. toctree::
+ :maxdepth: 2
+
+ dev/env
+ dev/virtualenvs
+ dev/pip-virtualenv
+
@@ -83,22 +99,6 @@ This part of the guide focuses on deploying your Python code.
shipping/freezing
-Python Development Environments
--------------------------------
-
-This part of the guide focus on the Python development environment,
-and the best-practice tools that are available for writing Python code.
-
-.. toctree::
- :maxdepth: 2
-
- dev/env
- dev/virtualenvs
- dev/pip-virtualenv
-
-
-
-
Additional Notes
----------------
From 21680d29348d87eee769dbbc71681d1e4dcde503 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Sat, 30 Sep 2017 09:18:58 -0400
Subject: [PATCH 098/348] updates
Signed-off-by: Kenneth Reitz
---
docs/contents.rst.inc | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/docs/contents.rst.inc b/docs/contents.rst.inc
index 223c64393..d59794f59 100644
--- a/docs/contents.rst.inc
+++ b/docs/contents.rst.inc
@@ -20,6 +20,13 @@ New to Python? Let's properly setup up your Python environment.
starting/install/osx
starting/install/win
starting/install/linux
+
+
+Using Virtualenvs with Pipenv:
+
+.. toctree::
+ :maxdepth: 1
+
dev/virtualenvs
From c102b181df9356575d6358aa23eb888ed6093a01 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Sat, 30 Sep 2017 09:20:37 -0400
Subject: [PATCH 099/348] 2
Signed-off-by: Kenneth Reitz
---
docs/contents.rst.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/contents.rst.inc b/docs/contents.rst.inc
index d59794f59..5232c3f17 100644
--- a/docs/contents.rst.inc
+++ b/docs/contents.rst.inc
@@ -25,7 +25,7 @@ New to Python? Let's properly setup up your Python environment.
Using Virtualenvs with Pipenv:
.. toctree::
- :maxdepth: 1
+ :maxdepth: 2
dev/virtualenvs
From aa1498d8865e88a98b67ef690bcce7e2d18d4f29 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Sat, 30 Sep 2017 09:21:23 -0400
Subject: [PATCH 100/348] improve contents
Signed-off-by: Kenneth Reitz
---
docs/contents.rst.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/contents.rst.inc b/docs/contents.rst.inc
index 5232c3f17..b2d0df96f 100644
--- a/docs/contents.rst.inc
+++ b/docs/contents.rst.inc
@@ -22,7 +22,7 @@ New to Python? Let's properly setup up your Python environment.
starting/install/linux
-Using Virtualenvs with Pipenv:
+- Using Virtualenvs with Pipenv:
.. toctree::
:maxdepth: 2
From 22ba4afff6122a1163dc566df749e1f08851b850 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Sat, 30 Sep 2017 09:21:42 -0400
Subject: [PATCH 101/348] on your system
Signed-off-by: Kenneth Reitz
---
docs/contents.rst.inc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/contents.rst.inc b/docs/contents.rst.inc
index b2d0df96f..e6784c248 100644
--- a/docs/contents.rst.inc
+++ b/docs/contents.rst.inc
@@ -1,14 +1,14 @@
Getting Started with Python
---------------------------
-New to Python? Let's properly setup up your Python environment.
+New to Python? Let's properly setup up your Python environment:
.. toctree::
:maxdepth: 2
starting/which-python
-- Properly Install Python
+- Properly Install Python on your system:
.. toctree::
:maxdepth: 1
From caebc3b3ce205125801ebc669c960c1ab5e43702 Mon Sep 17 00:00:00 2001
From: Aditya
Date: Thu, 5 Oct 2017 13:36:40 +0530
Subject: [PATCH 102/348] Update the link for latest available Python 2.7
release for Windows
---
docs/starting/install/win.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/starting/install/win.rst b/docs/starting/install/win.rst
index 8733e998e..57bb2058e 100644
--- a/docs/starting/install/win.rst
+++ b/docs/starting/install/win.rst
@@ -5,7 +5,7 @@ Installing Python 2 on Windows
.. image:: https://farm5.staticflickr.com/4268/34435688560_4cc2a7bcbb_k_d.jpg
-First, download the `latest version `_
+First, download the `latest version `_
of Python 2.7 from the official website. If you want to be sure you are installing a fully
up-to-date version, click the Downloads > Windows link from the home page of the
`Python.org web site `_ .
From 296e780c77e32f2d1a69f8f05afb1fbdaa157bf6 Mon Sep 17 00:00:00 2001
From: Aditya
Date: Thu, 5 Oct 2017 13:39:55 +0530
Subject: [PATCH 103/348] Update the link for latest available Python 3.6
release for Windows
---
docs/starting/install3/win.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/starting/install3/win.rst b/docs/starting/install3/win.rst
index 5fb1b2d8c..7e9fb8c31 100644
--- a/docs/starting/install3/win.rst
+++ b/docs/starting/install3/win.rst
@@ -5,7 +5,7 @@ Installing Python 3 on Windows
.. image:: https://farm5.staticflickr.com/4276/34435689480_2e6f358510_k_d.jpg
-First, download the `latest version `_
+First, download the `latest version `_
of Python 3.6 from the official website. If you want to be sure you are installing a fully
up-to-date version, click the Downloads > Windows link from the home page of the
`Python.org web site `_ .
@@ -87,7 +87,7 @@ To install pip, run the Python script available here:
Pipenv & Virtual Environments
-----------------------------
-The next step it to install Pipenv, so you can install dependencies and manage virtual environments.
+The next step it to install Pipenv, so you can install dependencies and manage virtual environments.
A Virtual Environment is a tool to keep the dependencies required by different projects
in separate places, by creating virtual Python environments for them. It solves the
From 2e2be97ae9c100c037fc40b58537f898a5a22ff5 Mon Sep 17 00:00:00 2001
From: Jero
Date: Sat, 7 Oct 2017 11:06:34 +0800
Subject: [PATCH 104/348] Fix typo
From 'avalable' to 'available'
---
docs/dev/virtualenvs.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index 65dc8b12d..193aabe2a 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -22,7 +22,7 @@ managing development and testing environments for any kind of project.
Make sure you've got Python & pip
---------------------------------
-Before you go any further, make sure you have Python and that it's avalable
+Before you go any further, make sure you have Python and that it's available
from your command line. You can check this by simply running:
.. code-block:: bash
From 1cd8fd2e82170dc10d20d9000a36429dbb08a39f Mon Sep 17 00:00:00 2001
From: Chong Guo
Date: Mon, 9 Oct 2017 14:23:43 -0700
Subject: [PATCH 105/348] fixed typo
---
docs/starting/install3/linux.rst | 2 +-
docs/starting/install3/osx.rst | 2 +-
docs/starting/install3/win.rst | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/docs/starting/install3/linux.rst b/docs/starting/install3/linux.rst
index 3d0a38636..8df9d9dd9 100644
--- a/docs/starting/install3/linux.rst
+++ b/docs/starting/install3/linux.rst
@@ -92,7 +92,7 @@ care about that.
Pipenv & Virtual Environments
-----------------------------
-The next step it to install Pipenv, so you can install dependencies and manage virtual environments.
+The next step is to install Pipenv, so you can install dependencies and manage virtual environments.
A Virtual Environment is a tool to keep the dependencies required by different projects
in separate places, by creating virtual Python environments for them. It solves the
diff --git a/docs/starting/install3/osx.rst b/docs/starting/install3/osx.rst
index 55575006d..ed669ba03 100644
--- a/docs/starting/install3/osx.rst
+++ b/docs/starting/install3/osx.rst
@@ -106,7 +106,7 @@ If the Homebrew version of Python 3 is installed then ``pip3`` will point to Pyt
Pipenv & Virtual Environments
-----------------------------
-The next step it to install Pipenv, so you can install dependencies and manage virtual environments.
+The next step is to install Pipenv, so you can install dependencies and manage virtual environments.
A Virtual Environment is a tool to keep the dependencies required by different projects
in separate places, by creating virtual Python environments for them. It solves the
diff --git a/docs/starting/install3/win.rst b/docs/starting/install3/win.rst
index 7e9fb8c31..39acfb592 100644
--- a/docs/starting/install3/win.rst
+++ b/docs/starting/install3/win.rst
@@ -87,7 +87,7 @@ To install pip, run the Python script available here:
Pipenv & Virtual Environments
-----------------------------
-The next step it to install Pipenv, so you can install dependencies and manage virtual environments.
+The next step is to install Pipenv, so you can install dependencies and manage virtual environments.
A Virtual Environment is a tool to keep the dependencies required by different projects
in separate places, by creating virtual Python environments for them. It solves the
From 028a232a1abd1d549819ea011dc317ed1c5a75ac Mon Sep 17 00:00:00 2001
From: Nefari0uss
Date: Mon, 9 Oct 2017 21:56:36 -0400
Subject: [PATCH 106/348] quick typo fix in readme
---
Readme.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Readme.rst b/Readme.rst
index bc3b38bc7..8dce3c079 100644
--- a/Readme.rst
+++ b/Readme.rst
@@ -18,7 +18,7 @@ basis.
Topics include:
-- Platform- and version-specific installations
+- Platform and version-specific installations
- Py2app, Py2exe, bbfreeze, pyInstaller
- Pip
- Numpy, scipy, statpy, pyplot, matplotlib
From cc02d1cfa84dd02c6b3d79f33a3cdd5dfb0a81a1 Mon Sep 17 00:00:00 2001
From: Nils Diefenbach <23okrs20+github@mykolab.com>
Date: Mon, 16 Oct 2017 11:38:35 +0200
Subject: [PATCH 107/348] Fixing typos
no more bellowing required by reader.
---
docs/starting/install3/linux.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/starting/install3/linux.rst b/docs/starting/install3/linux.rst
index 3d0a38636..a152502e3 100644
--- a/docs/starting/install3/linux.rst
+++ b/docs/starting/install3/linux.rst
@@ -85,14 +85,14 @@ command is meant for Python 2, while the ``pip3`` command is meant for Python 3.
$ command -v pip3
-However, when using virtual environments (described bellow), you don't need to
+However, when using virtual environments (described below), you don't need to
care about that.
Pipenv & Virtual Environments
-----------------------------
-The next step it to install Pipenv, so you can install dependencies and manage virtual environments.
+The next step is to install Pipenv, so you can install dependencies and manage virtual environments.
A Virtual Environment is a tool to keep the dependencies required by different projects
in separate places, by creating virtual Python environments for them. It solves the
From a9d00ef9f068b949ee96bd1e558af5b71c032633 Mon Sep 17 00:00:00 2001
From: KatherineMichel
Date: Tue, 17 Oct 2017 23:20:27 -0500
Subject: [PATCH 108/348] Fixing broken link
---
docs/intro/learning.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/intro/learning.rst b/docs/intro/learning.rst
index beb0004ac..5cab93b96 100644
--- a/docs/intro/learning.rst
+++ b/docs/intro/learning.rst
@@ -157,7 +157,7 @@ A free introductory book that teaches Python at the beginner level, it assumes
no previous programming experience.
`A Byte of Python for Python 2.x `_
- `A Byte of Python for Python 3.x `_
+ `A Byte of Python for Python 3.x `_
Learn to Program in Python with Codeacademy
From 27657d519d06288b7c7e134a7c05fdfc8bacb129 Mon Sep 17 00:00:00 2001
From: KatherineMichel
Date: Tue, 17 Oct 2017 23:27:40 -0500
Subject: [PATCH 109/348] Fixing another broken link
---
docs/intro/learning.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/intro/learning.rst b/docs/intro/learning.rst
index 5cab93b96..b4cbbb2e6 100644
--- a/docs/intro/learning.rst
+++ b/docs/intro/learning.rst
@@ -109,7 +109,7 @@ Dive Into Python 3 is a good book for those ready to jump in to Python 3. It's
a good read if you are moving from Python 2 to 3 or if you already have some
experience programming in another language.
- `Dive Into Python 3 `_
+ `Dive Into Python 3 `_
Think Python: How to Think Like a Computer Scientist
From a4a324447a4708ccac72fdb4435eef8574bd5428 Mon Sep 17 00:00:00 2001
From: KatherineMichel
Date: Tue, 17 Oct 2017 23:45:25 -0500
Subject: [PATCH 110/348] Fixing another broken link
---
docs/intro/learning.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/intro/learning.rst b/docs/intro/learning.rst
index b4cbbb2e6..e92496f91 100644
--- a/docs/intro/learning.rst
+++ b/docs/intro/learning.rst
@@ -49,7 +49,7 @@ If you want a more traditional book, *Python For You and Me* is an excellent
resource for learning all aspects of the language.
`Python for You and Me `_
- `Learn Python Interactively with DataCamp! `_
+ `Learn Python Interactively with DataCamp! `_
Online Python Tutor
From e0e59c88a506fcfc3f51718777b7003f34475c09 Mon Sep 17 00:00:00 2001
From: Yoichi Nakayama
Date: Thu, 19 Oct 2017 01:03:51 +0900
Subject: [PATCH 111/348] fix indent
---
docs/contents.rst.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/contents.rst.inc b/docs/contents.rst.inc
index e6784c248..76049aab6 100644
--- a/docs/contents.rst.inc
+++ b/docs/contents.rst.inc
@@ -24,7 +24,7 @@ New to Python? Let's properly setup up your Python environment:
- Using Virtualenvs with Pipenv:
-.. toctree::
+ .. toctree::
:maxdepth: 2
dev/virtualenvs
From 11b1297f99719f92dc321c8416c05fcd57258d34 Mon Sep 17 00:00:00 2001
From: BlueStarCoder
Date: Thu, 26 Oct 2017 10:24:08 +0530
Subject: [PATCH 112/348] correct typo in virtualenvs.rst
change $PROJECT_HOME to $WORKON_HOME on line 362
---
docs/dev/virtualenvs.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index 193aabe2a..3743c314e 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -359,7 +359,7 @@ This creates the :file:`my_project` folder inside :file:`~/Envs`.
$ workon my_project
Alternatively, you can make a project, which creates the virtual environment,
-and also a project directory inside ``$PROJECT_HOME``, which is ``cd`` -ed into
+and also a project directory inside ``$WORKON_HOME``, which is ``cd`` -ed into
when you ``workon myproject``.
.. code-block:: console
From d6982f162fc33631376bce62a273011a4e62a848 Mon Sep 17 00:00:00 2001
From: kikisdeliveryservice
Date: Tue, 31 Oct 2017 09:17:04 -0700
Subject: [PATCH 113/348] add internal link to version control ignores
---
docs/dev/virtualenvs.rst | 2 +-
docs/writing/gotchas.rst | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/docs/dev/virtualenvs.rst b/docs/dev/virtualenvs.rst
index 193aabe2a..b1fa6d9b4 100644
--- a/docs/dev/virtualenvs.rst
+++ b/docs/dev/virtualenvs.rst
@@ -310,7 +310,7 @@ This can help ensure consistency across installations, across deployments,
and across developers.
Lastly, remember to exclude the virtual environment folder from source
-control by adding it to the ignore list.
+control by adding it to the ignore list (see :ref:`Version Control Ignores`).
.. _virtualenvwrapper-ref:
diff --git a/docs/writing/gotchas.rst b/docs/writing/gotchas.rst
index 7d4cd6fb4..cfbb08a12 100644
--- a/docs/writing/gotchas.rst
+++ b/docs/writing/gotchas.rst
@@ -232,6 +232,8 @@ Here's nice trick for removing all of these files, if they already exist::
Run that from the root directory of your project, and all ``.pyc`` files
will suddenly vanish. Much better.
+.. _version_control_ignores:
+
Version Control Ignores
~~~~~~~~~~~~~~~~~~~~~~~
From 91d788c20173043c2f64248d27e04e23735b180b Mon Sep 17 00:00:00 2001
From: Sander van Dragt
Date: Thu, 9 Nov 2017 15:00:54 +0000
Subject: [PATCH 114/348] deadsnakes repository change
---
docs/starting/install3/linux.rst | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/docs/starting/install3/linux.rst b/docs/starting/install3/linux.rst
index a152502e3..1c6d67d35 100644
--- a/docs/starting/install3/linux.rst
+++ b/docs/starting/install3/linux.rst
@@ -18,9 +18,10 @@ If you are using Ubuntu 16.10 or newer, then you can easily install Python 3.6 w
$ sudo apt-get update
$ sudo apt-get install python3.6
-If you're using another version of Ubuntu (e.g. the latest LTS release), we recommend using the `deadsnakes PPA `_ to install Python 3.6::
+If you're using another version of Ubuntu (e.g. the latest LTS release), we recommend using the `deadsnakes PPA `_ to install Python 3.6::
- $ sudo add-apt-repository ppa:fkrull/deadsnakes
+ $ sudo apt-get install software-properties-common
+ $ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.6
From 65c8a8ccd712ff27b7f4f7825d29677eb20e66d5 Mon Sep 17 00:00:00 2001
From: Josh
Date: Mon, 13 Nov 2017 16:18:22 -0800
Subject: [PATCH 115/348] Update structure.rst - fix indentation bug
---
docs/writing/structure.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/writing/structure.rst b/docs/writing/structure.rst
index 874f5f367..befe0277b 100644
--- a/docs/writing/structure.rst
+++ b/docs/writing/structure.rst
@@ -811,7 +811,7 @@ The map function can be even faster than a list comprehension in some cases.
# create a concatenated string from 0 to 19 (e.g. "012..1819")
nums = ""
for n in range(20):
- nums += str(n) # slow and inefficient
+ nums += str(n) # slow and inefficient
print nums
**Good**
@@ -821,7 +821,7 @@ The map function can be even faster than a list comprehension in some cases.
# create a concatenated string from 0 to 19 (e.g. "012..1819")
nums = []
for n in range(20):
- nums.append(str(n))
+ nums.append(str(n))
print "".join(nums) # much more efficient
**Better**
From 40b16591aec37ba8ae7a8e2634e417e79c09a52b Mon Sep 17 00:00:00 2001
From: Bas Kok
Date: Mon, 20 Nov 2017 10:27:31 +0100
Subject: [PATCH 116/348] update latest MacOS version name (High Sierra)
---
docs/starting/install/osx.rst | 2 +-
docs/starting/install3/osx.rst | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/starting/install/osx.rst b/docs/starting/install/osx.rst
index c5247b505..f83bd4f07 100644
--- a/docs/starting/install/osx.rst
+++ b/docs/starting/install/osx.rst
@@ -8,7 +8,7 @@ Installing Python 2 on Mac OS X
.. note::
Check out our :ref:`guide for installing Python 3 on OS X`.
-The latest version of Mac OS X, Sierra, **comes with Python 2.7 out of the box**.
+The latest version of Mac OS X, High Sierra, **comes with Python 2.7 out of the box**.
You do not need to install or configure anything else to use Python. Having said
that, I would strongly recommend that you install the tools and libraries
diff --git a/docs/starting/install3/osx.rst b/docs/starting/install3/osx.rst
index ed669ba03..bd7ad7168 100644
--- a/docs/starting/install3/osx.rst
+++ b/docs/starting/install3/osx.rst
@@ -7,7 +7,7 @@ Installing Python 3 on Mac OS X
.. image:: https://farm5.staticflickr.com/4276/34435689480_2e6f358510_k_d.jpg
-The latest version of Mac OS X, Sierra, **comes with Python 2.7 out of the box**.
+The latest version of Mac OS X, High Sierra, **comes with Python 2.7 out of the box**.
You do not need to install or configure anything else to use Python 2. These
instructions document the installation of Python 3.
From b0c5b4f1855dad7386ddd820728b9cd0f84270b3 Mon Sep 17 00:00:00 2001
From: Siddhant Goel
Date: Thu, 23 Nov 2017 17:12:39 +0100
Subject: [PATCH 117/348] add toga to GUI resources
---
docs/scenarios/gui.rst | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/docs/scenarios/gui.rst b/docs/scenarios/gui.rst
index 69a8d3224..ed683d62e 100644
--- a/docs/scenarios/gui.rst
+++ b/docs/scenarios/gui.rst
@@ -88,6 +88,16 @@ Qt
is widely used for developing software with a GUI but can also be used for
non-GUI applications.
+Toga
+----
+`Toga `_ is a Python native, OS
+native, cross platform GUI toolkit. Toga consists of a library of base
+components with a shared interface to simplify platform-agnostic GUI
+development.
+
+Toga is available on Mac OS, Windows, Linux (GTK), and mobile platforms such
+as Android and iOS.
+
Tk
--
Tkinter is a thin object-oriented layer on top of Tcl/Tk. **It has the advantage
From eaaddf59317808fcb20a8f025947cafcd5e21a4b Mon Sep 17 00:00:00 2001
From: Zac-HD
Date: Mon, 27 Nov 2017 13:22:30 +1100
Subject: [PATCH 118/348] Nose is deprecated, remove suggestion
https://nose.readthedocs.io now suggests using nose2, which
https://github.com/nose-devs/nose2 in turn has ceased feature
development due to the popularity of py.test.
Closes #683
---
docs/writing/tests.rst | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/docs/writing/tests.rst b/docs/writing/tests.rst
index ea86ee8a9..23e0f017e 100644
--- a/docs/writing/tests.rst
+++ b/docs/writing/tests.rst
@@ -190,23 +190,6 @@ the unittest module!
`py.test `_
-Nose
-----
-
-nose extends unittest to make testing easier.
-
-
-.. code-block:: console
-
- $ pip install nose
-
-nose provides automatic test discovery to save you the hassle of manually
-creating test suites. It also provides numerous plugins for features such as
-xUnit-compatible test output, coverage reporting, and test selection.
-
- `nose `_
-
-
tox
---
From 9c6f2b79ad9f9f7b2c4cc330c75e9580ecd1ccc6 Mon Sep 17 00:00:00 2001
From: Zac-HD
Date: Mon, 27 Nov 2017 13:25:11 +1100
Subject: [PATCH 119/348] Cross-reference structure tests to writing tests
Closes #806
---
docs/writing/structure.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/writing/structure.rst b/docs/writing/structure.rst
index befe0277b..b0dc9cadf 100644
--- a/docs/writing/structure.rst
+++ b/docs/writing/structure.rst
@@ -174,6 +174,8 @@ Test Suite
::::::::::
+*For advice on writing your tests, see :doc:`writing/tests`.*
+
.. csv-table::
:widths: 20, 40
From 39b0911c14f96e74e85020fe47a1f2894524c4d9 Mon Sep 17 00:00:00 2001
From: Zac-HD
Date: Mon, 27 Nov 2017 13:28:19 +1100
Subject: [PATCH 120/348] Link scenarios/ci to writing/tests
Closes #451
---
docs/scenarios/ci.rst | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/scenarios/ci.rst b/docs/scenarios/ci.rst
index b58deb515..13e9a93d7 100644
--- a/docs/scenarios/ci.rst
+++ b/docs/scenarios/ci.rst
@@ -3,6 +3,9 @@ Continuous Integration
.. image:: https://farm5.staticflickr.com/4173/33907150594_9abba7ad0a_k_d.jpg
+.. note::
+ For advice on writing your tests, see :doc:`writing/tests`.
+
Why?
----
From ce7530bc70b7aca2553aebb7b7cd6303c9556827 Mon Sep 17 00:00:00 2001
From: Zac-HD
Date: Mon, 27 Nov 2017 13:58:59 +1100
Subject: [PATCH 121/348] New testing tool: Hypothesis
Based on README at https://github.com/HypothesisWorks/hypothesis-python
---
docs/writing/tests.rst | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/docs/writing/tests.rst b/docs/writing/tests.rst
index 23e0f017e..542003b2a 100644
--- a/docs/writing/tests.rst
+++ b/docs/writing/tests.rst
@@ -190,6 +190,40 @@ the unittest module!
`py.test `_
+Hypothesis
+----------
+
+Hypothesis is a library which lets you write tests that are parametrized by
+a source of examples. It then generates simple and comprehensible examples
+that make your tests fail, letting you find more bugs with less work.
+
+.. code-block:: console
+
+ $ pip install hypothesis
+
+For example, testing lists of floats will try many examples, but report the
+minimal example of each bug (distinguished exception type and location):
+
+.. code-block:: python
+
+ @given(lists(floats(allow_nan=False, allow_infinity=False), min_size=1))
+ def test_mean(xs):
+ mean = sum(xs) / len(xs)
+ assert min(xs) <= mean(xs) <= max(xs)
+
+.. code-block::
+
+ Falsifying example: test_mean(
+ xs=[1.7976321109618856e+308, 6.102390043022755e+303]
+ )
+
+Hypothesis is practical as well as very powerful, and will often find bugs
+that escaped all other forms of testing. It integrates well with py.test,
+and has a strong focus on usability in both simple and advanced scenarios.
+
+ `hypothesis `_
+
+
tox
---
From cb3f026a3e79f45e2ce183a4ce3a92f1845d5e98 Mon Sep 17 00:00:00 2001
From: Zac-HD
Date: Mon, 27 Nov 2017 14:35:28 +1100
Subject: [PATCH 122/348] Update install instructions
Link py2 docs to py3 docs.
Fix invisible subheading.
Note that pip is part of the Python install now; closes #347.
Suggest avoiding eol 2.6 unless paid specifically.
---
docs/starting/install/linux.rst | 3 +++
docs/starting/install/win.rst | 29 +++++++++++++++--------------
docs/starting/install3/win.rst | 22 ++++++----------------
docs/starting/installation.rst | 4 ++--
docs/starting/which-python.rst | 4 +++-
5 files changed, 29 insertions(+), 33 deletions(-)
diff --git a/docs/starting/install/linux.rst b/docs/starting/install/linux.rst
index 02fdd2c5f..de831b6e0 100644
--- a/docs/starting/install/linux.rst
+++ b/docs/starting/install/linux.rst
@@ -5,6 +5,9 @@ Installing Python 2 on Linux
.. image:: https://farm5.staticflickr.com/4268/34435688560_4cc2a7bcbb_k_d.jpg
+.. note::
+ Check out our :ref:`guide for installing Python 3 on Linux`.
+
The latest versions of CentOS, Red Hat Enterprise Linux (RHEL) and Ubuntu
**come with Python 2.7 out of the box**.
diff --git a/docs/starting/install/win.rst b/docs/starting/install/win.rst
index 57bb2058e..e930b4683 100644
--- a/docs/starting/install/win.rst
+++ b/docs/starting/install/win.rst
@@ -5,6 +5,9 @@ Installing Python 2 on Windows
.. image:: https://farm5.staticflickr.com/4268/34435688560_4cc2a7bcbb_k_d.jpg
+.. note::
+ Check out our :ref:`guide for installing Python 3 on Windows`.
+
First, download the `latest version `_
of Python 2.7 from the official website. If you want to be sure you are installing a fully
up-to-date version, click the Downloads > Windows link from the home page of the
@@ -50,24 +53,22 @@ makes it much easier for you to use other third-party Python libraries.
Setuptools + Pip
----------------
-The most crucial third-party Python software of all is Setuptools, which
-extends the packaging and installation facilities provided by the distutils in
-the standard library. Once you add Setuptools to your Python system you can
-download and install any compliant Python software product with a single
-command. It also enables you to add this network installation capability to
-your own Python software with very little work.
+The two most crucial third-party Python packages are `setuptools `_ and `pip `_.
+
+Once installed, you can download, install and uninstall any compliant Python software
+product with a single command. It also enables you to add this network installation
+capability to your own Python software with very little work.
-To obtain the latest version of Setuptools for Windows, run the Python script
-available here: `ez_setup.py `_
+Python 2.7.9 and later (on the python2 series), and Python 3.4 and later include
+pip by default.
+To see if pip is installed, open a command prompt and run
+
+.. code-block:: console
-You'll now have a new command available to you: **easy_install**. It is
-considered by many to be deprecated, so we will install its replacement:
-**pip**. Pip allows for uninstallation of packages, and is actively maintained,
-unlike easy_install.
+ $ command -v pip
-To install pip, run the Python script available here:
-`get-pip.py `_
+To install pip, `follow the official pip installation guide `_ - this will automatically install the latest version of setuptools.
Virtual Environments
diff --git a/docs/starting/install3/win.rst b/docs/starting/install3/win.rst
index 39acfb592..74fe7d0a4 100644
--- a/docs/starting/install3/win.rst
+++ b/docs/starting/install3/win.rst
@@ -64,24 +64,14 @@ This will launch the Python 3 interpreter.
Setuptools + Pip
----------------
-The most crucial third-party Python software of all is Setuptools, which
-extends the packaging and installation facilities provided by the distutils in
-the standard library. Once you add Setuptools to your Python system you can
-download and install any compliant Python software product with a single
-command. It also enables you to add this network installation capability to
-your own Python software with very little work.
+The two most crucial third-party Python packages are `setuptools `_ and `pip `_,
+which let you download, install and uninstall any compliant Python software
+product with a single command. It also enables you to add this network installation
+capability to your own Python software with very little work.
-To obtain the latest version of Setuptools for Windows, run the Python script
-available here: `ez_setup.py `_
+All supported versions of Python 3 include pip, so just make sure it's up to date::
-
-You'll now have a new command available to you: **easy_install**. It is
-considered by many to be deprecated, so we will install its replacement:
-**pip**. Pip allows for uninstallation of packages, and is actively maintained,
-unlike easy_install.
-
-To install pip, run the Python script available here:
-`get-pip.py `_
+ python -m pip install -U pip
Pipenv & Virtual Environments
diff --git a/docs/starting/installation.rst b/docs/starting/installation.rst
index a22e35922..bb84c2715 100644
--- a/docs/starting/installation.rst
+++ b/docs/starting/installation.rst
@@ -24,8 +24,8 @@ Installation Guides
These guides go over the proper installation of :ref:`Python `
for development purposes, as well as setuptools, pip and virtualenv.
- Python 3 Installation Guides
- ////////////////////////////
+Python 3 Installation Guides
+////////////////////////////
- :ref:`Python 3 on MacOS `.
- :ref:`Python 3 on Windows `.
diff --git a/docs/starting/which-python.rst b/docs/starting/which-python.rst
index 1c1bbc191..155eadb0c 100644
--- a/docs/starting/which-python.rst
+++ b/docs/starting/which-python.rst
@@ -58,7 +58,9 @@ It is possible to `write code that works on Python 2.6, 2.7, and Python 3
`_. This
ranges from trivial to hard depending upon the kind of software
you are writing; if you're a beginner there are far more important things to
-worry about.
+worry about. Note that Python 2.6 is end-of-life upstream, so you shouldn't
+try to write 2.6-compatible code unless you're being paid specifically to
+do that.
Implementations
~~~~~~~~~~~~~~~
From 59757273d083941dbc8f1e7f55ecf0dd0585aa99 Mon Sep 17 00:00:00 2001
From: Prodesire
Date: Mon, 4 Dec 2017 22:17:08 +0800
Subject: [PATCH 123/348] fix make error on ci.rst and tests.rst
---
docs/scenarios/ci.rst | 2 +-
docs/writing/tests.rst | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/scenarios/ci.rst b/docs/scenarios/ci.rst
index 13e9a93d7..457f2321f 100644
--- a/docs/scenarios/ci.rst
+++ b/docs/scenarios/ci.rst
@@ -4,7 +4,7 @@ Continuous Integration
.. image:: https://farm5.staticflickr.com/4173/33907150594_9abba7ad0a_k_d.jpg
.. note::
- For advice on writing your tests, see :doc:`writing/tests`.
+ For advice on writing your tests, see :doc:`/writing/tests`.
Why?
----
diff --git a/docs/writing/tests.rst b/docs/writing/tests.rst
index 542003b2a..32c6e552e 100644
--- a/docs/writing/tests.rst
+++ b/docs/writing/tests.rst
@@ -211,7 +211,7 @@ minimal example of each bug (distinguished exception type and location):
mean = sum(xs) / len(xs)
assert min(xs) <= mean(xs) <= max(xs)
-.. code-block::
+.. code-block:: none
Falsifying example: test_mean(
xs=[1.7976321109618856e+308, 6.102390043022755e+303]
From 3351291578bc9384370c229da8927c586abe53e9 Mon Sep 17 00:00:00 2001
From: Kenneth Reitz
Date: Thu, 21 Dec 2017 13:12:17 -0500
Subject: [PATCH 124/348] new ad
Signed-off-by: Kenneth Reitz
---
docs/_static/ad.png | Bin 40171 -> 85222 bytes
docs/_templates/sidebarintro.html | 2 +-
docs/_templates/sidebarlogo.html | 2 +-
3 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/_static/ad.png b/docs/_static/ad.png
index 48a78947a480b09bd69cfdf0f9e88602edfd9f15..7fb229c5971eabbcf3de9d8b9673dcf541061d9e 100644
GIT binary patch
literal 85222
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