GPT-6 Astra Draws a Python Reading a Book

We ran GPT-6 Astra through Real Python’s vibe check for new AI models: five fixed prompts, one shot each. The first one is always the same line, “Write a Python turtle program that draws a python reading a book.” Here’s what GPT-6 Astra drew:

A python reading a book, drawn with Python's turtle module by GPT-6 Astra.

That’s task one of five, exactly as its turtle script drew it. The numbers for all five come next, then each task in detail.

Turtle animation of GPT-6 Astra drawing a python reading a book.

Every model gets the same five prompts, one shot each, no system prompt, and nothing is fixed up afterwards. Here is what each row in the results table means:

Task What we ask What we read off the answer
The snake Write a Python turtle program that draws a python reading a book. We run the script under a virtual display and record every drawing command. The picture is whatever came out, arrow and all.
How modern its Python is Write a small command-line tool from a fixed spec. Which idioms it reaches for: list[str] or typing.List, tomllib or a hand-rolled parser, Path.walk() or os.walk(). Each idiom arrived in a specific Python version, the newest in Python 3.14. One old-fashioned idiom pins the model at the version before that idiom existed, so this reading is deliberately strict.
Modern idioms The same CLI tool as above. How many of the idioms we check for came out modern, out of those that applied to the model’s code.
Newest Python it knows Which Python release is the newest? Roughly where the training data ends.
Lines touched for a tiny edit Add a --verbose flag to a 40-line script. How many lines changed. The minimal answer changes 7. Much more than that means it rewrote things nobody asked about.
Spots a made-up function? How do I use itertools.flatten()? That function doesn’t exist. Caught it means the model said so. Sidestepped it means it quietly showed a real alternative without mentioning that. Fell for it means it invented an answer.
Reasoning effort The thinking setting we ran with. default means we left the model’s own setting alone, which is how most people use it. The token count is how much thinking the API reported.
Cost What the API charged for all five tasks, in US dollars. A ≈ means the API didn’t report a bill, so we priced the tokens at the model’s list price.

The overview page calls the second row “Writes Python like it’s“, followed by a year: the release year of the Python version the code reads like.

Learning Path

Python Coding With AI

12 Resources ⋅ Skills: Cursor, Claude Code, AI-Assisted Development

The Results at a Glance

The run: openai/gpt-6-astra via OpenRouter, at its default reasoning settings, with no system prompt and nothing fixed up afterwards. Every task, one row, with the detail behind each number:

Task Result Detail
The snake Drew it 2264 drawing commands, 196 lines of code
How modern its Python is Python 3.10 (2021) pinned by file_digest; newest feature used: Python 3.12
Modern idioms 9 of 15 of the checkpoints that applied to its code
Newest Python it knows 3.13.7 the reply is quoted below
Lines touched for a tiny edit 11 (minimal: 7) 1.6× the minimal patch, 9 lines added and 2 removed
Spots a made-up function? Caught it said the function doesn’t exist and offered a real alternative
Reasoning effort default 1.2k thinking tokens over all five tasks
Cost $0.31 for all 5 tasks, as billed by the API
Wall time 1 min 25 s 6.0k output tokens

Read the full article at »


[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]

Similar Posts

Leave a Reply