Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #3875

[Python-announce] Re: Cheetah 3.3.0

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Oleg Broytman <phd@phdru.name>
Newsgroups comp.lang.python.announce
Subject [Python-announce] Re: Cheetah 3.3.0
Date Mon, 10 Oct 2022 13:41:37 +0300
Lines 116
Approved python-announce-list@python.org
Message-ID <Y0P24WAv3VfaHFwB@phdru.name> (permalink)
Reply-To python-list@python.org
Mime-Version 1.0
Content-Type text/plain; charset=us-ascii
X-Trace news.uni-berlin.de wkzJVHVhrJqD9Dm1CzdjWAq7Rp+uviWJ1zN4sbUMLODw==
Authentication-Results mail.python.org; dkim=none reason="no signature"; dkim-adsp=unknown (unprotected policy); dkim-atps=neutral
X-Spam-Status OK 0.001
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'url-ip:140.82/16': 0.03; 'pip': 0.04; 'library.': 0.05; 'pypi': 0.05; 'template': 0.07; 'tests': 0.07; 'python.': 0.08; '2.7': 0.09; '2fa': 0.09; 'fork': 0.09; 'skip:` 10': 0.09; 'to:addr:python-announce-list': 0.09; 'url-ip:151.101.0.223/32': 0.09; 'url-ip:151.101.128.223/32': 0.09; 'url-ip:151.101.192.223/32': 0.09; 'url- ip:151.101.64.223/32': 0.09; 'url:github': 0.14; 'import': 0.15; 'url:mailman': 0.15; 'announce': 0.15; 'url-ip:140/8': 0.15; '$person': 0.16; '3.10': 0.16; '3.3': 0.16; '3.4': 0.16; '=======': 0.16; 'changes:': 0.16; 'compiled': 0.16; 'migrated': 0.16; 'practically': 0.16; 'pypi.': 0.16; 'releases': 0.16; 'travis': 0.16; 'url:project': 0.16; 'url:pypi': 0.16; 'python': 0.16; 'developer': 0.16; 'github': 0.17; 'bug': 0.19; 'to:addr :python-list': 0.20; 'skip:_ 10': 0.22; "what's": 0.22; 'version': 0.23; 'install': 0.23; 'run': 0.23; 'thanks!': 0.24; 'extension': 0.25; 'old': 0.27; 'code,': 0.31; 'actions': 0.32; 'programmers': 0.32; 'skip:= 30': 0.32; "i'm": 0.33; 'mailing': 0.33; 'there': 0.33; 'release': 0.34; 'work.': 0.34; 'source': 0.36; "it's": 0.37; 'branch': 0.39; 'hello!': 0.39; 'use': 0.39; 'methods': 0.39; 'define': 0.40; 'skip:$ 10': 0.40; 'should': 0.40; 'sorry': 0.60; 'url-ip:151.101.0/24': 0.62; 'url-ip:151.101.128/24': 0.62; 'url-ip:151.101.192/24': 0.62; 'url-ip:151.101.64/24': 0.62; 'great': 0.63; 'updates': 0.64; 'url:name': 0.64; 'your': 0.64; 'process.': 0.65; 'news': 0.65; 'pleased': 0.67; 'url- ip:104.18/16': 0.67; 'url:net': 0.68; 'templates': 0.69; 'url:news': 0.69; 'below': 0.69; 'free': 0.72; 'manage': 0.73; 'sources': 0.75; 'classified': 0.76; 'received:94': 0.76; 'site:': 0.76; '1st': 0.78; 'imports': 0.84; 'inherit': 0.84; 'minor': 0.84; 'url:sourceforge': 0.84; 'wheels': 0.84; 'url:p': 0.88; 'return.': 0.91
Content-Disposition inline
X-Attribution phd
X-Face "4chVP^f8;3Bi>x"ic0%DuP(ZLyn:;kzQ1njs]5,GRZG<{<\~`|Shxi7|)d|8uO~HFRfyym {[xs@OYG]2Q]0#}0sjJp`1^1+B6]A2+{9fW=S<O7^"hul]^|AGtiI7SkYF-2VD?UH*h_!zuCIf+^F7 c0x8?W,UfhCAx^YY#1ALhvG\2yG}LW:)zw#1;Yajq"hK~S
X-Operating-System Debian GNU/Linux
X-Url https://phdru.name/
Mail-Followup-To Oleg Broytman <phd@phdru.name>, Python Mailing List <python-list@python.org>
X-Skip-DKIM-Sig mailing list
X-MailFrom phd@phdru.name
X-Mailman-Rule-Hits emergency
X-Mailman-Rule-Misses dmarc-mitigation; no-senders; approved
Message-ID-Hash W5B3BUUQTVFKZRV2LTAPV7KGBN77LREW
X-Message-ID-Hash W5B3BUUQTVFKZRV2LTAPV7KGBN77LREW
X-Mailman-Approved-At Mon, 10 Oct 2022 08:43:37 -0400
X-Mailman-Version 3.3.6b1
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
Archived-At <https://mail.python.org/archives/list/python-announce-list@python.org/message/W5B3BUUQTVFKZRV2LTAPV7KGBN77LREW/>
List-Archive <https://mail.python.org/archives/list/python-announce-list@python.org/>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Owner <mailto:python-announce-list-owner@python.org>
List-Post <mailto:python-announce-list@python.org>
List-Subscribe <mailto:python-announce-list-join@python.org>
List-Unsubscribe <mailto:python-announce-list-leave@python.org>
Xref csiph.com comp.lang.python.announce:3875

Show key headers only | View raw


Hello!

I'm pleased to announce version 3.3.0, the 1st release
of branch 3.3 of CheetahTemplate3.


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

The contributors for this release are:
N Protokowicz, Enzo Conty, Andrea Mennucci, Saiprasad Kale, odidev,
Pierre Ossman. Many thanks!

Great move:

  - PyPI has wrongfully classified project ``Cheetah3`` as "critical".
    This puts a burden to use 2FA to manage the project at PyPI. To
    avoid the burden the project is renamed to ``CT3`` at PyPI.
    There will be no updates for ``Cheetah3``.
    Sorry for the inconvenience!

Minor features:

  - Use relative imports everywhere.

Tests:

  - Run pure-python ``NameMapper`` tests in a separate process.

  - Fixed a bug in tests with pure-python ``NameMapper``.

  - Add Python 3.10 to ``tox.ini``.

CI:

  - Migrated to GitHub Actions.

    Due to the absent of Python 3.4 at GH Actions tests are not run and
    wheels are not built. Installation from sources should work.

    Due to GH Actions lacking old compilers for w32/w64 releases for old
    Python versions (currently 2.7) are packaged without compiled
    _namemapper.pyd extension. Cheetah can be used without compiled
    _namemapper.pyd extension. A pure-python replacement should work;
    ``Cheetah`` imports it automatically if the compiled extension is
    not available.

  - Stop testing at Travis CI.

  - Stop testing at AppVeyor.


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

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

Python 2.7 or 3.4+ is required.


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

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.0

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

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

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/mailman/

Development:
https://github.com/CheetahTemplate3

Developer Guide:
https://cheetahtemplate.org/dev_guide/


Example
=======

Install::

    $ pip install CT3 # (or even "ct3")

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@phdru.name
           Programmers don't die, they just GOSUB without RETURN.

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

[Python-announce] Re: Cheetah 3.3.0 Oleg Broytman <phd@phdru.name> - 2022-10-10 13:41 +0300

csiph-web