Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Oleg Broytman Newsgroups: comp.lang.python.announce Subject: [Python-announce] Cheetah 3.3.0.post1 Date: Sat, 26 Nov 2022 15:42:40 +0300 Lines: 86 Approved: python-announce-list@python.org Message-ID: Reply-To: python-list@python.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: news.uni-berlin.de lhkX0N5ZVvUMkxo9oT/EcQnNRLUv//21OEwC8zGOETLg== Authentication-Results: mail.python.org; dkim=none reason="no signature"; dkim-adsp=unknown (unprotected policy); dkim-atps=neutral X-Spam-Status: OK 0.002 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'url-ip:140.82/16': 0.03; 'pip': 0.04; 'library.': 0.05; 'template': 0.07; 'tests': 0.07; 'python.': 0.08; '2.7': 0.09; 'fork': 0.09; 'skip:` 20': 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.3': 0.16; '=======': 0.16; 'changes:': 0.16; 'compiled': 0.16; 'instead.': 0.16; 'practically': 0.16; 'url:project': 0.16; 'url:pypi': 0.16; 'python': 0.16; 'developer': 0.16; 'github': 0.17; 'to:addr:python-list': 0.20; "what's": 0.22; 'version': 0.23; 'install': 0.23; 'run': 0.23; 'library': 0.26; 'code,': 0.31; 'programmers': 0.32; 'skip:= 30': 0.32; "i'm": 0.33; 'mailing': 0.33; 'release': 0.34; 'fix': 0.36; '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; '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; 'url:name': 0.64; 'your': 0.64; '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; 'received:94': 0.76; 'site:': 0.76; '1st': 0.78; 'publish': 0.84; 'inherit': 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, Python Mailing List 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: LSNT7GBQXDF3237JQRHHTIXLMYFF3SQR X-Message-ID-Hash: LSNT7GBQXDF3237JQRHHTIXLMYFF3SQR X-Mailman-Approved-At: Sat, 26 Nov 2022 08:27:28 -0500 X-Mailman-Version: 3.3.7 Precedence: list List-Id: Announcement-only list for the Python programming language Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Xref: csiph.com comp.lang.python.announce:3895 Hello! I'm pleased to announce version 3.3.0.post1, the 1st post release of release 3.3.0 of branch 3.3 of CheetahTemplate3. What's new in CheetahTemplate3 ============================== Nothing changed in the library code, no need to upgrade. Tests: - Run tests with Python 3.11. - Fix DeprecationWarning: ``unittest.findTestCases()`` is deprecated. Use ``unittest.TestLoader.loadTestsFromModule()`` instead. CI: - Publish wheels at Github Releases. 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.post1 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'}] How are you feeling?
    #for $person in $people
  • $person['name'] is $person['mood']
  • #end for
Oleg. -- Oleg Broytman https://phdru.name/ phd@phdru.name Programmers don't die, they just GOSUB without RETURN.