Various cleanups and added custom cycler.
[jinja2.git] / jinja2 / __init__.py
1 # -*- coding: utf-8 -*-
2 """
3     jinja2
4     ~~~~~~
5
6     Jinja2 is a template engine written in pure Python.  It provides a
7     Django inspired non-XML syntax but supports inline expressions and
8     an optional sandboxed environment.
9
10     Nutshell
11     --------
12
13     Here a small example of a Jinja2 template::
14
15         {% extends 'base.html' %}
16         {% block title %}Memberlist{% endblock %}
17         {% block content %}
18           <ul>
19           {% for user in users %}
20             <li><a href="{{ user.url }}">{{ user.username }}</a></li>
21           {% endfor %}
22           </ul>
23         {% endblock %}
24
25
26     :copyright: 2008 by Armin Ronacher, Christoph Hack.
27     :license: BSD, see LICENSE for more details.
28 """
29 __docformat__ = 'restructuredtext en'
30 try:
31     __version__ = __import__('pkg_resources') \
32         .get_distribution('Jinja2').version
33 except:
34     __version__ = 'unknown'
35
36 # high level interface
37 from jinja2.environment import Environment, Template
38
39 # loaders
40 from jinja2.loaders import BaseLoader, FileSystemLoader, PackageLoader, \
41      DictLoader, FunctionLoader, PrefixLoader, ChoiceLoader
42
43 # bytecode caches
44 from jinja2.bccache import BytecodeCache, FileSystemBytecodeCache, \
45      MemcachedBytecodeCache
46
47 # undefined types
48 from jinja2.runtime import Undefined, DebugUndefined, StrictUndefined
49
50 # exceptions
51 from jinja2.exceptions import TemplateError, UndefinedError, \
52      TemplateNotFound, TemplateSyntaxError, TemplateAssertionError
53
54 # decorators and public utilities
55 from jinja2.filters import environmentfilter, contextfilter
56 from jinja2.utils import Markup, escape, clear_caches, \
57      environmentfunction, contextfunction, is_undefined
58
59 __all__ = [
60     'Environment', 'Template', 'BaseLoader', 'FileSystemLoader',
61     'PackageLoader', 'DictLoader', 'FunctionLoader', 'PrefixLoader',
62     'ChoiceLoader', 'BytecodeCache', 'FileSystemBytecodeCache',
63     'MemcachedBytecodeCache', 'Undefined', 'DebugUndefined',
64     'StrictUndefined', 'TemplateError', 'UndefinedError', 'TemplateNotFound',
65     'TemplateSyntaxError', 'TemplateAssertionError', 'environmentfilter',
66     'contextfilter', 'Markup', 'escape', 'environmentfunction',
67     'contextfunction', 'clear_caches', 'is_undefined'
68 ]