<commit_before>Django Deployment Workshop
==========================

This is code and configuration for my Django Deployment Workshop at PyCon 2010
(and beyond).

Here you'll find example config used to set up an example deployment environment
for a Python WSGI stack, including:

    * A Django site deployed with Fabric_ and Buildout_.
    * Apache/mod_wsgi_ application servers.
    * Nginx_ load balancers and media servers.
    * Memcached_.
    * PostgreSQL_ with `pg_standby`_

.. _fabric: http://fabfile.org/
.. _buildout: http://buildout.org/
.. _mod_wsgi: http://modwsgi.org/
.. _nginx: http://nginx.net/
.. _memcached: http://memcached.org/
.. _postgresql: http://postgresql.org/
.. _pg_standby: http://www.postgresql.org/docs/current/static/pgstandby.html<commit_msg>reST markup changes to look nicer on Github.<commit_after>Django Deployment Workshop
==========================

This is code and configuration for my Django Deployment Workshop at PyCon 2010
(and beyond).

Here you'll find example config used to set up an example deployment environment
for a Python WSGI stack, including:

* A Django site deployed with Fabric_ and Buildout_.
* Apache/mod_wsgi_ application servers.
* Nginx_ load balancers and media servers.
* Memcached_.
* PostgreSQL_ with `pg_standby`_

.. _fabric: http://fabfile.org/
.. _buildout: http://buildout.org/
.. _mod_wsgi: http://modwsgi.org/
.. _nginx: http://nginx.net/
.. _memcached: http://memcached.org/
.. _postgresql: http://postgresql.org/
.. _pg_standby: http://www.postgresql.org/docs/current/static/pgstandby.html
{'fraction_non_alphanumeric': 0.13812858052196053, 'fraction_numerical': 0.005092297899427116, 'mean_word_length': 4.054662379421222, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2786028', 'n_tokens_mistral': 517, 'n_tokens_neox': 479, 'n_words': 150}