CheetahTemplate 3.2.0

Oleg Broytman phd at phdru.name
Wed Feb 6 11:46:23 EST 2019


Hello!

I'm pleased to announce version 3.2.0, the first stable release of branch
3.2 of CheetahTemplate3.


What's new in CheetahTemplate3
==============================

Features:

  - Dropped support for Python 3.3.
  - Implement LoadTemplate.loadTemplate{Module,Class} to load templates
    from .py[co], .py or .tmpl.
  - CheetahDirOwner caches compiled template in the template directory.
  - CheetahDirOwner now silently ignores errors on compiled templates
    writing. To get tracebacks set CheetahDirOwner.debuglevel = 1.
  - CheetahDirOwner and DirOwner byte-compile compiled templates
    to .pyc/.pyo. Errors on writing are silently ignored.

Minor features:

  - Implement Compiler.__unicode__ under Python 2 and Compiler.__bytes__
    under Python 3.

Bug fixes:

  - Fix a bug in Compiler.__str__: under Python 2 the method now always
    returns str; it encodes unicode to str using encoding from the
    compiled source. Under Python 3 the method decodes bytes to str.

Code:

  - Source code was made flake8-clean using the latest flake8.

Documentation:

  - Remove outdated section markers.
  - Better documentation for ImportHooks.
  - Add an example of a universal makefile.

CI:

  - Run tests with Python 3.7.
  - At travis deploy sdists and wheels for tags.


What is CheetahTemplate3
========================

Cheetah3 is a free and open source template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=========================

Site:
http://cheetahtemplate.org/

Development:
https://github.com/CheetahTemplate3

Download:
https://pypi.org/project/Cheetah3/3.2.0/

News and changes:
http://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah


Example
=======

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

    #from Cheetah.Template import Template
    #extends Template

    #set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
                            'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 'Hairy'}]

    <strong>How are you feeling?</strong>
    <ul>
        #for $person in $people
            <li>
                $person['name'] is $person['mood']
            </li>
        #end for
    </ul>

Oleg.
-- 
    Oleg Broytman            https://phdru.name/            phd at phdru.name
           Programmers don't die, they just GOSUB without RETURN.


More information about the Python-announce-list mailing list