blob: 9c86487dd27d2af5cad8da638ef6afee0185a788 [file] [log] [blame]
Armin Ronacherde478f62007-02-28 22:35:04 +01001# -*- coding: utf-8 -*-
Armin Ronacher58293062008-02-11 15:36:22 +01002"""
Armin Ronacher203bfcb2008-04-24 21:54:44 +02003Jinja2
4~~~~~~
Armin Ronacher58293062008-02-11 15:36:22 +01005
Armin Ronacher203bfcb2008-04-24 21:54:44 +02006Jinja2 is a template engine written in pure Python. It provides a
7`Django`_ inspired non-XML syntax but supports inline expressions and
8an optional `sandboxed`_ environment.
Armin Ronacher58293062008-02-11 15:36:22 +01009
10Nutshell
11--------
12
13Here a small example of a Jinja template::
14
15 {% extends 'base.html' %}
16 {% block title %}Memberlist{% endblock %}
17 {% block content %}
18 <ul>
19 {% for user in users %}
Armin Ronacher203bfcb2008-04-24 21:54:44 +020020 <li><a href="{{ user.url }}">{{ user.username }}</a></li>
Armin Ronacher58293062008-02-11 15:36:22 +010021 {% endfor %}
22 </ul>
23 {% endblock %}
24
25Philosophy
26----------
27
28Application logic is for the controller but don't try to make the life
29for the template designer too hard by giving him too few functionality.
30
Armin Ronacherf4e1fb42008-06-09 18:54:56 +020031For more informations visit the new `Jinja2 webpage`_ and `documentation`_.
Armin Ronacher58293062008-02-11 15:36:22 +010032
Armin Ronacher58293062008-02-11 15:36:22 +010033.. _sandboxed: http://en.wikipedia.org/wiki/Sandbox_(computer_security)
34.. _Django: http://www.djangoproject.com/
Armin Ronacherf4e1fb42008-06-09 18:54:56 +020035.. _Jinja2 webpage: http://jinja.pocoo.org/
Armin Ronacher1a12c8a2008-06-09 18:49:14 +020036.. _documentation: http://jinja.pocoo.org/2/documentation/
Armin Ronacher58293062008-02-11 15:36:22 +010037"""
Armin Ronacherd15a4dc2007-05-28 18:16:16 +020038import sys
Armin Ronacheree2c18e2007-04-20 22:39:04 +020039
Armin Ronacher10c34da2010-08-17 12:10:27 +020040from setuptools import setup, Extension, Feature
Armin Ronacher10c34da2010-08-17 12:10:27 +020041
42debugsupport = Feature(
43 'optional C debug support',
44 standard=False,
45 ext_modules = [
46 Extension('jinja2._debugsupport', ['jinja2/_debugsupport.c']),
47 ],
48)
49
Armin Ronacherde478f62007-02-28 22:35:04 +010050
Armin Ronacher46036942010-08-18 11:10:50 +020051# ignore the old '--with-speedups' flag
52try:
53 speedups_pos = sys.argv.index('--with-speedups')
Armin Ronacherfe225122010-08-18 11:14:28 +020054except ValueError:
Armin Ronacher46036942010-08-18 11:10:50 +020055 pass
56else:
57 sys.argv[speedups_pos] = '--with-debugsupport'
Armin Ronacherc4538a82010-08-18 11:12:52 +020058 sys.stderr.write('*' * 74 + '\n')
59 sys.stderr.write('WARNING:\n')
60 sys.stderr.write(' the --with-speedups flag is deprecated, assuming '
61 '--with-debugsupport\n')
62 sys.stderr.write(' For the actual speedups install the MarkupSafe '
63 'package.\n')
64 sys.stderr.write('*' * 74 + '\n')
Armin Ronacher46036942010-08-18 11:10:50 +020065
Armin Ronacher0830e252007-03-22 23:45:30 +010066
Armin Ronacherde478f62007-02-28 22:35:04 +010067setup(
Armin Ronacher203bfcb2008-04-24 21:54:44 +020068 name='Jinja2',
Armin Ronacher9b1de002011-07-24 21:49:07 +020069 version='2.7-dev',
Armin Ronacher015b0c92007-11-11 00:10:17 +010070 url='http://jinja.pocoo.org/',
71 license='BSD',
72 author='Armin Ronacher',
73 author_email='armin.ronacher@active-4.com',
74 description='A small but fast and easy to use stand-alone template '
75 'engine written in pure python.',
Armin Ronacherbd33f112008-04-18 09:17:32 +020076 long_description=__doc__,
Armin Ronacher86b5cb52009-09-13 00:23:27 -070077 # jinja is egg safe. But we hate eggs
Armin Ronacher015b0c92007-11-11 00:10:17 +010078 zip_safe=False,
79 classifiers=[
Armin Ronachera9d59222008-07-18 00:41:37 +020080 'Development Status :: 5 - Production/Stable',
Armin Ronacherde478f62007-02-28 22:35:04 +010081 'Environment :: Web Environment',
82 'Intended Audience :: Developers',
83 'License :: OSI Approved :: BSD License',
84 'Operating System :: OS Independent',
85 'Programming Language :: Python',
Armin Ronacherd9599c82010-02-10 02:19:17 +010086 'Programming Language :: Python :: 3',
Armin Ronacher8ebf1f92007-03-03 11:22:18 +010087 'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
88 'Topic :: Software Development :: Libraries :: Python Modules',
89 'Topic :: Text Processing :: Markup :: HTML'
90 ],
Armin Ronacherf9f5f262010-08-17 11:57:07 +020091 packages=['jinja2', 'jinja2.testsuite', 'jinja2.testsuite.res',
92 'jinja2._markupsafe'],
Thomas Waldmann460251c2013-05-18 01:16:18 +020093 install_requires=['six>=1.3.0'],
Armin Ronacher2b60fe52008-04-21 08:23:59 +020094 extras_require={'i18n': ['Babel>=0.8']},
Armin Ronacher7af781c2010-02-09 16:05:08 +010095 test_suite='jinja2.testsuite.suite',
Armin Ronacher790b8a82010-02-10 00:05:46 +010096 include_package_data=True,
Armin Ronacherf59bac22008-04-20 13:11:43 +020097 entry_points="""
98 [babel.extractors]
Armin Ronacher7962ce72008-05-20 17:52:52 +020099 jinja2 = jinja2.ext:babel_extract[i18n]
Armin Ronacher0319c662010-02-09 02:09:10 +0100100 """,
Thomas Waldmann7d295622013-05-18 00:06:22 +0200101 features={'debugsupport': debugsupport}
Armin Ronacherde478f62007-02-28 22:35:04 +0100102)