Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

`flexable` is template engine with simple data structure.
That is made up of str, unicode, dict, tuple, list and Element.

usage
merge structured values to xhtml template.

>>> t = Template()
>>> t.fromstring("<div/>")
>>> str(t)
'<div/>'

>>> t.merge('hello')
>>> str(t)
'<div>hello</div>'

>>> t = Template()
>>> t.fromstring("<div><span class='y'/></div>")
>>> t.merge({'y':['1', '2']})
>>> str(t)
'<div><span class="y">1</span><span class="y">2</span></div>'

>>> t = Template()
>>> t.fromstring("<div><span class='y'/></div>")
>>> t.merge({'y':[({'@id':'m1'}, '1'),
... ({'@id':'m2'}, '2')]})
>>> str(t)
'<div><span class="y" id="m1">1</span><span class="y" id="m2">2</span></div>'

>>> t.fromstring("<div><div class='box'><span class='x'/><span
class='y'/></div></div>")
>>> t.merge({'box':[{'x':'1', 'y':'2'},
... {'x':'3', 'y':'4'}]})
>>> str(t)
'<div><div class="box"><span class="x">1</span><span
class="y">2</span></div><div class="box"><span class="x">3</span><span
class="y">4</span></div></div>'

>>> t.fromstring("<div/>")
>>> t.merge(ET.Element('span'))
>>> str(t)
'<div><span/></div>'

To use flexable as template engine for wsgi application, you can use
flexable.plugin:FlexablePlugin.
And that is python.template_engine entry point.

Example on TurboGears

controllers.py::

@expose(template="flexable:flexable_example.templates.example")
def example(self):
return dict(message="This is flexable message.",
contents=""" This is main contents from controller.
flexable is merge values to given html template with class attribute.
""")

flexable_example/templates/example.html::

&lt;?xml version="1.0"?>
&lt;html xmlns="http://www.w3.org/1999/xhtml">
&lt;body>
&lt;h1>Flexable Template&lt;/h1>
&lt;span class="message">&lt;/span>
&lt;p class="contents">&lt;/p>
&lt;span class="widget"/>
&lt;/body>
&lt;/html>

you get:

&lt;html xmlns="http://www.w3.org/1999/xhtml">
&lt;body>
&lt;h1>Flexable Template&lt;/h1>
&lt;span class="message">This is flexable message.&lt;/span>
&lt;p class="contents"> This is main contents from controller.
flexable is merge values to given html template with class attribute.
&lt;/p>
&lt;/body>
&lt;/html>

Release files for flexable 0.3dev

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flexable 0.3dev
File Size Uploaded
flexable-0.3dev.tar.gz 6.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flexable 0.3dev
File Interpreter ABI Platform
flexable-0.3dev-py2.5.egg Legacy Egg format - - Details

Total release size: 19.1 kB

Release files / flexable-0.3dev.tar.gz

Download URL flexable-0.3dev.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f203fc8ab86c8568bf417c6e87f38e350c435365a595f377a46f2629b67c5c1c
BLAKE2b-256 checksum
How to use checksums
a056427ee394c48cf675ba43714ce1514e1596f219fc50be9d7b4ca5d9b735a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / flexable-0.3dev-py2.5.egg

Download URL flexable-0.3dev-py2.5.egg
Size 12.9 kB
Tags Egg
SHA-256 checksum
How to use checksums
54d110483ef497d61e2091832f7f03986012714372da21c4102825c9c556cf60
BLAKE2b-256 checksum
How to use checksums
8fc2ee3b9e3f16e95137271be6e5f1183cb022c2014501b015ec08fbded3a526
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page