Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python.announce > #4422
| Path | csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail |
|---|---|
| From | Barry Warsaw <barry@python.org> |
| Newsgroups | comp.lang.python.announce |
| Subject | [Python-announce] whatsnewt - A TUI text adventure through what's new in Python 3.15 a TUI adventure |
| Date | Wed, 23 Sep 2026 17:50:43 -0700 |
| Lines | 32 |
| Approved | python-announce-list@python.org |
| Message-ID | <41D4E825-9058-458D-B513-89C64519DB56@python.org> (permalink) |
| Reply-To | python-list@python.org |
| Mime-Version | 1.0 (Mac OS X Mail 16.0 \(3901.100.1.1.11\)) |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | quoted-printable |
| X-Trace | news.uni-berlin.de XjDb17rQU1Cgezig5s/hLQAG1BAATzQQnSBp+9WJ1dGw== |
| Cancel-Lock | sha1:0604YHPG4gBHo5MgmvlSwWc5XqI= sha256:6MF87b3yZLGtse5erhQblG3IZZD8LXyWjG+M95rUTkg= |
| Delivered-To | python-announce-list@x.python.org |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/simple; d=python.org; s=200901; t=1790211392; bh=h28ZorR1gHUulkp4o8W0H5afbk2S6mwavzusfmeJNgY=; h=From:Subject:Date:To:From; b=eUvtm3wCiZ8tNGjCdQ22Wc/H6NRwBeX+TamjfU6PP8nLMfQzwrYVt4d2aVQTVj92w 07vS+77iuFRN9655rRftUASBhm18XLtVvdUj5KQX0tCD9mrN6XwjPzrOvCASBdsQ3j vmRUUPoGURkgQ9WbR0R5E66kkX+O0TVF0/Ltlq6Q= |
| X-Spam-Status | OK 0.010 |
| X-Spam-Evidence | '*H*': 0.98; '*S*': 0.00; 'from:addr:barry': 0.09; 'gitlab': 0.09; 'puzzles': 0.09; 'to:addr:python-announce-list': 0.09; 'subject:Python': 0.12; 'from:addr:python.org': 0.15; '-barry': 0.16; 'boring': 0.16; 'cases,': 0.16; 'easiest': 0.16; 'from:name:barry warsaw': 0.16; 'puzzles,': 0.16; 'received:10.202': 0.16; 'received:10.202.2': 0.16; 'received:internal': 0.16; 'received:messagingengine.com': 0.16; 'subject:what': 0.16; 'url-ip:172.65.251.78/32': 0.16; 'url- ip:172.65.251/24': 0.16; 'url-ip:172.65/16': 0.16; 'url:gitlab': 0.16; 'url:project': 0.16; 'url:pypi': 0.16; 'python': 0.16; 'says': 0.17; "what's": 0.22; 'feedback': 0.23; 'idea': 0.24; 'questions,': 0.26; 'answering': 0.26; 'present': 0.30; 'code,': 0.31; 'takes': 0.31; 'answers': 0.32; 'there': 0.33; 'release': 0.34; 'running': 0.34; 'yes,': 0.35; 'those': 0.36; 'url- ip:151.101.0.223/32': 0.37; 'url-ip:151.101.128.223/32': 0.37; 'url-ip:151.101.192.223/32': 0.37; 'url-ip:151.101.64.223/32': 0.37; 'way': 0.38; 'text': 0.39; 'scheduled': 0.39; 'subject:new': 0.39; 'your': 0.64; 'verified': 0.64; 'exactly': 0.68; 'adventure': 0.69; 'days,': 0.69; 'subject:through': 0.69; '8bit%:38': 0.70; 'skip:\xe2 10': 0.71; 'little': 0.73; 'subject: ': 0.84; 'quotes': 0.84; 'subject:text': 0.84; 'url:-': 0.84; 'received:103': 0.91 |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:message-id:mime-version:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1790211056; x=1790297456; bh=7ncR/ENCdXD8eZgGDEII6M0niyLqRJzNwHt tv/wULvw=; b=Ig5UQc6XAuMBiShQgcF529ZW/mqdaJ28wPgKnsJSGEnDzSqma+G RI5m8W2xlVDUPo/HsP+mlJYjZo6MlLYg8n0nlWKL8BxIy0r5JZc4iphcFymLWjtD rchXofF0wtRE14jKoXDFJPaDLPNEFJ/USgxZjKWR5xQldmvg3Uuz8HFQJta9H43e i0qcer16VijNUwaS2Dxtig2w7OEq/8QVpTzDIdsmzrxmI+zVAKT2uxZqJ5v5Q7Nb C3eknLo+/vmbdKTb0izB+Xlt6x4T5NIQwYxqfmM1EXtXeNQCnbEFbiODhItu8ciV mAM3llf0Bqto35hufN+sUsftW76cH1kIZhw== |
| X-ME-Sender | <xms:8HO0asBOtk1MWqN3jPLTrJ-MZ8bTI4YpfAl3Ib2_dcFGC33Nn-yoew> <xme:8HO0akaZ_WyIQ7TRdH0kIY0K9MEpqyfkFF0hvSgn-Df8Bnhv0SZ-hoMGWqFO7yauT dKvRpH_D-JXXXQmyK8WucRZ_fUW2moKokEQoSOGxBpQ773SIvVm76W_aQ> |
| X-ME-Received | <xmr:8HO0aqrz50iuNCt_NMR6sWQ4CrJYpunOmbQ3xMUoOfZ4ouJMI-ugk3Ut8vpXYmG_SJC7Fs5ghcdXaHxaXmotH1Xpsj97l0ciJZQfJRQGXg> |
| X-ME-Proxy-Cause | dmFkZTESxdx87MOh9vjYgOxg6hokX+8j/rQKk0AuaZIpSHAxrThSkH0xFCbRNsEhQvcFRA XRSfgGOT6IZ0riBYA/w3tte1IMuLcxbjq/YBHqDTtqEhn8mRJiWZP8d8baH+VHr0V6HFhX 8uiZOpx483pvBWFYn0xxm3Grz+nnX80equu4kzbZdL3pDU6qpRwXCdlYX42RwmAWRRgW0Y FoyNfzSc4nPqI+6e/vQzz9MF3XYL2jl/qF/X1KftHbeqtG6prsWmVx8O7TNnafqThTHwv6 1+z7fNknPpHih7lqD6zS9XRMvxAi/ns47VBf5+rlBIaejgw1Mj01bMZVsDwtuBp4hTGUUp rdA1a6iNTqCDbmsfrPS+K6/E4PDX4BWqiIb+zJ2jdU9SMLFZn+d0Eqs5XxGxHK8dv3JuPd JRQ4mxGDljLvkMAa6YS3MtCr5t100roBAFpUh34sQkyhvCM4xH5JeGTQ4VC0HXdyPp87NY R6RFqR+WdaTu1d0r7GODWU2BTpRNc/8DaYD4UQ4YxVWPsSNKLtYXmimDPqgcheSGjl1egj 6iKW7dheXVSbXp9FbYiB1q7ysuiKif05/hLmNMCdHbaWnUEPyuXcw+hoWZIi++MFEsNaId QBGISyM+nZzJ4yzRnguM1Oq2XKWXx+p2gNacX4LDaY5sonJPSD/VdhBpwEag |
| X-ME-Proxy | <xmx:8HO0avmPBSM-_kIPJ-K6cZ74GdseVbguUzK2HstKCIXWtR4xIWbEUQ> <xmx:8HO0ak1uZgxoFV3_ff-PMrNeU10yv2Vd2t1xQEhnW9hy4CfyPUk43w> <xmx:8HO0avClJyyqa5hPoWupoNkUBUnHz-XhRvULQeXlDF9vMLVw-I-9Rg> <xmx:8HO0apw8XCanwrOvpL3W1F24aURKzCHqOdQ8CtkpTf56SMEaKIp8KQ> <xmx:8HO0alnjNB1Efdskfm1u5Uwta7OZZaYTdXffTiDGwVSwOGf0jb4S9w> <xmx:8HO0ajrZzFKaM3-kX1e0ayuptX-W1tTr2txH6laiGfl0U7VbstLgXY9v89xR> |
| Feedback-ID | i40d947b7:Fastmail |
| X-Mailer | Apple Mail (2.3901.100.1.1.11) |
| X-MailFrom | barry@python.org |
| X-Mailman-Rule-Hits | emergency |
| X-Mailman-Rule-Misses | dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-python-announce-list.python.org-0; header-match-python-announce-list.python.org-1; header-match-python-announce-list.python.org-2; header-match-python-announce-list.python.org-3; header-match-python-announce-list.python.org-4 |
| Message-ID-Hash | AEXIO7ANKJLJPWWLX7VDAILOHH7EZ6QU |
| X-Message-ID-Hash | AEXIO7ANKJLJPWWLX7VDAILOHH7EZ6QU |
| X-Mailman-Approved-At | Wed, 23 Sep 2026 20:57:31 -0400 |
| X-Mailman-Version | 3.3.11b1 |
| 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/AEXIO7ANKJLJPWWLX7VDAILOHH7EZ6QU/> |
| 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:4422 |
Show key headers only | View raw
With Python 3.15 scheduled for release in 8 days, I had this idea to whip up a little TUI adventure game that takes you through a What’s New in Python 3.15. With the help of my agent buddy, I present to you “whatsnewt”:
https://pypi.org/project/whatsnewt/
From the README:
A TUI text adventure through what's new in Python 3.15.
You wake up in the Startup Foyer, somewhere inside the interpreter, and work your way to the Release Gate. Along the way there are eighteen puzzles, and every one of them is a real 3.15 feature you have to actually use. You're not just answering boring questions, you're actually writing and running code, in a Python 3.15 interpreter.
Some puzzles require a type checker, and in those cases, answers are verified by pyrefly, which is a dependency for exactly that reason, and the verdict quotes what it says back.
The easiest way to play it is to run:
uvx --python 3.15 whatsnewt
And yes, there are easter eggs!
Enjoy, and please do provide feedback on the GitLab issues page.
https://gitlab.com/flufl/whatsnewt/-/work_items
-Barry
Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread
[Python-announce] whatsnewt - A TUI text adventure through what's new in Python 3.15 a TUI adventure Barry Warsaw <barry@python.org> - 2026-09-23 17:50 -0700
csiph-web