Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Oleg Broytman 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: 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, 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: 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 Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Xref: csiph.com comp.lang.python.announce:3875 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'}] 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.