Merge pull request #80 from joshmoore/master
[jinja2.git] / jinja2 / __init__.py
index 12c147e7794709b6d9a0d711eea0f920934bff28..5b349d6678e7699e87ed4c689edf35faef843c52 100644 (file)
@@ -3,62 +3,67 @@
     jinja2
     ~~~~~~
 
-    Jinja is a `sandboxed`_ template engine written in pure Python. It
-    provides a `Django`_ like non-XML syntax and compiles templates into
-    executable python code. It's basically a combination of Django templates
-    and python code.
+    Jinja2 is a template engine written in pure Python.  It provides a
+    Django inspired non-XML syntax but supports inline expressions and
+    an optional sandboxed environment.
 
     Nutshell
     --------
 
-    Here a small example of a Jinja template::
+    Here a small example of a Jinja2 template::
 
         {% extends 'base.html' %}
         {% block title %}Memberlist{% endblock %}
         {% block content %}
           <ul>
           {% for user in users %}
-            <li><a href="{{ user.url|e }}">{{ user.username|e }}</a></li>
+            <li><a href="{{ user.url }}">{{ user.username }}</a></li>
           {% endfor %}
           </ul>
         {% endblock %}
 
-    Philosophy
-    ----------
 
-    Application logic is for the controller but don't try to make the life
-    for the template designer too hard by giving him too few functionality.
-
-    For more informations visit the new `jinja webpage`_ and `documentation`_.
+    :copyright: (c) 2010 by the Jinja Team.
+    :license: BSD, see LICENSE for more details.
+"""
+__docformat__ = 'restructuredtext en'
+__version__ = '2.7-dev'
 
-    Note
-    ----
+# high level interface
+from jinja2.environment import Environment, Template
 
-    This is the Jinja 1.0 release which is completely incompatible with the
-    old "pre 1.0" branch. The old branch will still receive security updates
-    and bugfixes but the 1.0 branch will be the only version that receives
-    support.
+# loaders
+from jinja2.loaders import BaseLoader, FileSystemLoader, PackageLoader, \
+     DictLoader, FunctionLoader, PrefixLoader, ChoiceLoader, \
+     ModuleLoader
 
-    If you have an application that uses Jinja 0.9 and won't be updated in
-    the near future the best idea is to ship a Jinja 0.9 checkout together
-    with the application.
+# bytecode caches
+from jinja2.bccache import BytecodeCache, FileSystemBytecodeCache, \
+     MemcachedBytecodeCache
 
-    The `Jinja tip`_ is installable via `easy_install` with ``easy_install
-    Jinja==dev``.
+# undefined types
+from jinja2.runtime import Undefined, DebugUndefined, StrictUndefined
 
-    .. _sandboxed: http://en.wikipedia.org/wiki/Sandbox_(computer_security)
-    .. _Django: http://www.djangoproject.com/
-    .. _jinja webpage: http://jinja.pocoo.org/
-    .. _documentation: http://jinja.pocoo.org/documentation/index.html
-    .. _Jinja tip: http://dev.pocoo.org/hg/jinja-main/archive/tip.tar.gz#egg=Jinja-dev
+# exceptions
+from jinja2.exceptions import TemplateError, UndefinedError, \
+     TemplateNotFound, TemplatesNotFound, TemplateSyntaxError, \
+     TemplateAssertionError
 
+# decorators and public utilities
+from jinja2.filters import environmentfilter, contextfilter, \
+     evalcontextfilter
+from jinja2.utils import Markup, escape, clear_caches, \
+     environmentfunction, evalcontextfunction, contextfunction, \
+     is_undefined
 
-    :copyright: 2008 by Armin Ronacher.
-    :license: BSD, see LICENSE for more details.
-"""
-from jinja2.environment import Environment
-from jinja2.loaders import BaseLoader, FileSystemLoader, PackageLoader, \
-     DictLoader
-from jinja2.runtime import Undefined, DebugUndefined, StrictUndefined
-from jinja2.filters import environmentfilter, contextfilter
-from jinja2.utils import Markup, escape
+__all__ = [
+    'Environment', 'Template', 'BaseLoader', 'FileSystemLoader',
+    'PackageLoader', 'DictLoader', 'FunctionLoader', 'PrefixLoader',
+    'ChoiceLoader', 'BytecodeCache', 'FileSystemBytecodeCache',
+    'MemcachedBytecodeCache', 'Undefined', 'DebugUndefined',
+    'StrictUndefined', 'TemplateError', 'UndefinedError', 'TemplateNotFound',
+    'TemplatesNotFound', 'TemplateSyntaxError', 'TemplateAssertionError',
+    'ModuleLoader', 'environmentfilter', 'contextfilter', 'Markup', 'escape',
+    'environmentfunction', 'contextfunction', 'clear_caches', 'is_undefined',
+    'evalcontextfilter', 'evalcontextfunction'
+]