Merge remote-tracking branch 'origin/master'

This commit is contained in:
Kenneth Reitz
2013-10-24 18:16:51 -04:00
11 changed files with 81 additions and 36 deletions
+3 -3
View File
@@ -60,7 +60,7 @@ where they were placed.
virtualenvwrapper virtualenvwrapper
----------------- -----------------
`virtualenvwrapper <http://www.doughellmann.com/projects/virtualenvwrapper/>`_ `virtualenvwrapper <http://virtualenvwrapper.readthedocs.org/en/latest/index.html>`_
provides a set of commands which makes working with virtual environments much provides a set of commands which makes working with virtual environments much
more pleasant. It also places all your virtual environments in one place. more pleasant. It also places all your virtual environments in one place.
@@ -72,7 +72,7 @@ To install (make sure **virtualenv** is already installed):
$ export WORKON_HOME=~/Envs $ export WORKON_HOME=~/Envs
$ source /usr/local/bin/virtualenvwrapper.sh $ source /usr/local/bin/virtualenvwrapper.sh
(`Full virtualenvwrapper install instructions <http://www.doughellmann.com/docs/virtualenvwrapper/#introduction>`_.) (`Full virtualenvwrapper install instructions <http://virtualenvwrapper.readthedocs.org/en/latest/install.html>`_.)
For Windows, you can use the `virtualenvwrapper-powershell <https://bitbucket.org/guillermooo/virtualenvwrapper-powershell>`_ clone. For Windows, you can use the `virtualenvwrapper-powershell <https://bitbucket.org/guillermooo/virtualenvwrapper-powershell>`_ clone.
@@ -136,7 +136,7 @@ Other useful commands
``lssitepackages`` ``lssitepackages``
Shows contents of ``site-packages`` directory. Shows contents of ``site-packages`` directory.
`Full list of virtualenvwrapper commands <http://www.doughellmann.com/docs/virtualenvwrapper/command_ref.html#managing-environments>`_. `Full list of virtualenvwrapper commands <http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html>`_.
autoenv autoenv
------- -------
+1 -1
View File
@@ -6,7 +6,7 @@ Official Documentation
The official Python Language and Library documentation can be found here: The official Python Language and Library documentation can be found here:
- `Python 2.x <http://docs.python.org/>`_ - `Python 2.x <http://docs.python.org/2.7/>`_
- `Python 3.x <http://docs.python.org/py3k/>`_ - `Python 3.x <http://docs.python.org/py3k/>`_
+3 -1
View File
@@ -92,7 +92,7 @@ A free introductory book that teaches python at the beginner level, it assumes n
previous programming experience. previous programming experience.
`A Byte of Python for Python 2.x <http://www.ibiblio.org/swaroopch/byteofpython/read/>`_ `A Byte of Python for Python 2.x <http://www.ibiblio.org/swaroopch/byteofpython/read/>`_
`A Byte of Python for Python 3.x <http://www.swaroopch.org/notes/Python_en:Table_of_Contents>`_ `A Byte of Python for Python 3.x <http://swaroopch.com/notes/Python_en-Preface/>`_
Advanced Advanced
@@ -160,6 +160,8 @@ Python in a Nutshell, written by Alex Martelli, covers most cross-platform
python's usage, from its syntax to built-in libraries to advanced topics such python's usage, from its syntax to built-in libraries to advanced topics such
as writing C extensions. as writing C extensions.
`Python in a Nutshell <http://shop.oreilly.com/product/9780596001889.do>`_
The Python Language Reference The Python Language Reference
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+5 -5
View File
@@ -26,7 +26,7 @@ engine. Use it.
Buildbot Buildbot
-------- --------
`Buildbot <http://buildbot.net/buildbot/docs/current>`_ is a Python system to `Buildbot <http://docs.buildbot.net/current/>`_ is a Python system to
automate the compile/test cycle to validate code changes. automate the compile/test cycle to validate code changes.
@@ -38,7 +38,7 @@ Mule?
Tox Tox
--- ---
`tox <https://bitbucket.org/hpk42/tox>`_ is an automation tool providing `tox <http://tox.readthedocs.org/en/latest/>`_ is an automation tool providing
packaging, testing and deployment of Python software right from the console or packaging, testing and deployment of Python software right from the console or
CI server. It is a generic virtualenv management and test command line tool CI server. It is a generic virtualenv management and test command line tool
which provides the following features: which provides the following features:
@@ -53,7 +53,7 @@ which provides the following features:
Travis-CI Travis-CI
--------- ---------
`Travis-CI <http://travis-ci.org/>`_ is a distributed CI server which builds tests `Travis-CI <https://travis-ci.org/>`_ is a distributed CI server which builds tests
for open source projects for free. It provides multiple workers to run Python tests for open source projects for free. It provides multiple workers to run Python tests
on and seamlessly integrates with Github. You can even have it comment on your Pull on and seamlessly integrates with Github. You can even have it comment on your Pull
Requests whether this particular changeset breaks the build or not. So if you are Requests whether this particular changeset breaks the build or not. So if you are
@@ -83,6 +83,6 @@ notifications, before and after steps and much more. The
`travis-ci docs <http://about.travis-ci.org/docs/>`_ explain all of those and are very `travis-ci docs <http://about.travis-ci.org/docs/>`_ explain all of those and are very
thorough. thorough.
In order to activate testing for your project, go to `the travis-ci site <http://travis-ci.org/>`_ In order to activate testing for your project, go to `the travis-ci site <https://travis-ci.org/>`_
and login with your Github account. Then activate your project in your profile settings and that's and login with your Github account. Then activate your project in your profile settings and that's
it. From now on, your project's tests will be run on every push to Github. it. From now on, your project's tests will be run on every push to Github.
+1 -1
View File
@@ -11,7 +11,7 @@ Nearly all Python database modules such as `sqlite3`, `psycopg` and
Tutorials that explain how to work with modules that conform to this interface can be found Tutorials that explain how to work with modules that conform to this interface can be found
`here <http://halfcooked.com/presentations/osdc2006/python_databases.html>`__ and `here <http://halfcooked.com/presentations/osdc2006/python_databases.html>`__ and
`here <http://www.amk.ca/python/writing/DB-API.html>`__. `here <http://web.archive.org/web/20120815130844/http://www.amk.ca/python/writing/DB-API.html>`__.
SQLAlchemy SQLAlchemy
---------- ----------
+14 -1
View File
@@ -4,7 +4,7 @@ GUI Applications
Qt Qt
-- --
Qt is a cross-platform application framework that is widely used for developing `Qt <http://qt-project.org/>`_ is a cross-platform application framework that is widely used for developing
software with a GUI but can also be used for non-GUI applications. software with a GUI but can also be used for non-GUI applications.
PySide PySide
@@ -87,3 +87,16 @@ source code to be executed as a standalone desktop application.
`Python Wiki for PyjamasDesktop <http://wiki.python.org/moin/PyjamasDesktop>`_. `Python Wiki for PyjamasDesktop <http://wiki.python.org/moin/PyjamasDesktop>`_.
The main website; `pyjs Desktop <http://pyjs.org/>`_. The main website; `pyjs Desktop <http://pyjs.org/>`_.
Camelot
-------
`Camelot <http://www.python-camelot.com>`_ provides components for building
business applications on top of Python, SQLAlchemy and Qt. It is inspired by
the Django admin interface.
You can use Camelot to develop both simple and complex business applications
at warp speed.
The main resource for information is the website:
http://www.python-camelot.com
and the mailinglist https://groups.google.com/forum/#!forum/project-camelot
+3 -5
View File
@@ -92,7 +92,7 @@ Support can be found on its `mailing list <http://werkzeug.pocoo.org/community/#
Tornado Tornado
-------- --------
`Tornado <http://http://www.tornadoweb.org/>`_ is a scalable, non-blocking web server and web application framework with `Tornado <http://www.tornadoweb.org/>`_ is a scalable, non-blocking web server and web application framework with
a relative simple usage. Tornado is known for his high performance. a relative simple usage. Tornado is known for his high performance.
It was initially developed for `friendfeed <http://friendfeed.com/>`_ , a real time chat and blog system. It was initially developed for `friendfeed <http://friendfeed.com/>`_ , a real time chat and blog system.
@@ -152,7 +152,7 @@ lightweight, easy to use, and uses many UNIX idioms. Gunicorn is not designed
to face the internet -- it was designed to run behind Nginx which buffers to face the internet -- it was designed to run behind Nginx which buffers
slow requests and takes care of other important considerations. A sample slow requests and takes care of other important considerations. A sample
setup for Nginx + Gunicorn can be found in the setup for Nginx + Gunicorn can be found in the
`Gunicorn help <http://gunicorn.org/deploy.html>`_. `Gunicorn help <http://gunicorn.org/index.html#deployment>`_.
.. _uwsgi-ref: .. _uwsgi-ref:
@@ -235,9 +235,7 @@ and Pinax applications. Gondor supports Django versions 1.2 and 1.3 on
Python version 2.7, and can automatically configure your Django site if you Python version 2.7, and can automatically configure your Django site if you
use ``local_settings.py`` for site-specific configuration information. use ``local_settings.py`` for site-specific configuration information.
Gondor publishes guides to deploying `Django projects Gondor has a guide on deploying `Django projects <https://gondor.io/support/django/setup/>`_.
<https://gondor.io/support/setting-up-django/>`_ and `Pinax projects
<https://gondor.io/support/setting-up-pinax/>`_ on their platform.
Templating Templating
+39
View File
@@ -32,3 +32,42 @@ and then you can get the child elements name like this:
untangle also supports loading XML from a string or an URL. untangle also supports loading XML from a string or an URL.
xmltodict
---------
`xmltodict <http://github.com/martinblech/xmltodict>`_ is another simple
library that aims at making xml feel like working with json.
An xml file like this:
.. code-block:: xml
<mydocument has="an attribute">
<and>
<many>elements</many>
<many>more elements</many>
</and>
<plus a="complex">
element as well
</plus>
</mydocument>
can be loaded into a python dict like this:
.. code-block:: python
import xmltodict
obj = xmltodict.parse('path/to/file.xml')
and then you can access elements, attributes and values like this:
.. code-block:: python
doc['mydocument']['@has'] # == u'an attribute'
doc['mydocument']['and']['many'] # == [u'elements', u'more elements']
doc['mydocument']['plus']['@a'] # == u'complex'
doc['mydocument']['plus']['#text'] # == u'element as well'
xmltodict also lets you roundtrip back to xml with the unparse function,
has a streaming mode suitable for handling files that don't fit in memory
and supports namespaces.
+1 -6
View File
@@ -54,7 +54,7 @@ line at the bottom of your ``~/.bashrc`` file
Now, we can install Python 2.7: :: Now, we can install Python 2.7: ::
$ brew install python --framework $ brew install python
This will take a minute or two. Once that's complete, you'll have to add the This will take a minute or two. Once that's complete, you'll have to add the
new Python scripts directory to your ``PATH`` new Python scripts directory to your ``PATH``
@@ -63,11 +63,6 @@ new Python scripts directory to your ``PATH``
export PATH=/usr/local/share/python:$PATH export PATH=/usr/local/share/python:$PATH
The ``--framework`` option tells Homebrew to compile a Framework-style Python
build, rather than a UNIX-style build. The outdated version of Python that
Snow Leopard comes packaged with is built as a Framework, so this helps avoid
some future module installation bugs.
Distribute & Pip Distribute & Pip
---------------- ----------------
+9 -12
View File
@@ -36,21 +36,21 @@ packages are installed, so it is a very useful addition.
You do not need to install or configure anything else to use Python. Having 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 said that, I would strongly recommend that you install the tools and libraries
described in the next section before you start building Python applications for described in the next section before you start building Python applications for
real-world use. In particular, you should always install Distribute, as it real-world use. In particular, you should always install Setuptools, as it
makes it much easier for you to use other third-party Python libraries. makes it much easier for you to use other third-party Python libraries.
Distribute + Pip Setuptools + Pip
---------------- ----------------
The most crucial third-party Python software of all is Distribute, which The most crucial third-party Python software of all is Setuptools, which
extends the packaging and installation facilities provided by the distutils in extends the packaging and installation facilities provided by the distutils in
the standard library. Once you add Distribute to your Python system you can the standard library. Once you add Setuptools to your Python system you can
download and install any compliant Python software product with a single download and install any compliant Python software product with a single
command. It also enables you to add this network installation capability to command. It also enables you to add this network installation capability to
your own Python software with very little work. your own Python software with very little work.
To obtain the latest version of Distribute for Windows, run the python script To obtain the latest version of Setuptools for Windows, run the python script
available here: `python-distribute <http://python-distribute.org/distribute_setup.py>`_ available here: `ez_setup.py <https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py>`_
You'll now have a new command available to you: **easy_install**. It is You'll now have a new command available to you: **easy_install**. It is
@@ -58,11 +58,8 @@ considered by many to be deprecated, so we will install its replacement:
**pip**. Pip allows for uninstallation of packages, and is actively maintained, **pip**. Pip allows for uninstallation of packages, and is actively maintained,
unlike easy_install. unlike easy_install.
To install pip, simply open a command prompt and run To install pip, run the python script available here:
`get-pip.py <https://raw.github.com/pypa/pip/master/contrib/get-pip.py>`_
.. code-block:: console
> easy_install pip
Virtualenv Virtualenv
@@ -89,7 +86,7 @@ project's directory
.. code-block:: console .. code-block:: console
> virtualenv --distribute venv > virtualenv venv
To use an environment, run the ``activate.bat`` batch file in the ``Scripts`` To use an environment, run the ``activate.bat`` batch file in the ``Scripts``
subdirectory of that environment. Your command prompt will change to show the subdirectory of that environment. Your command prompt will change to show the
+2 -1
View File
@@ -273,7 +273,8 @@ Unpacking
~~~~~~~~~ ~~~~~~~~~
If you know the length of a list or tuple, you can assign names to its If you know the length of a list or tuple, you can assign names to its
elements with unpacking: elements with unpacking. For example, since ``enumerate()`` will provide
a tuple of two elements for each item in list:
.. code-block:: python .. code-block:: python