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


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

[Python-announce] whatsnewt - A TUI text adventure through what's new in Python 3.15 a TUI adventure

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


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