How AI Models Draw a Python Reading a Book

Every time a new AI model comes out, we run it through the same small set of tasks: draw a python reading a book with Python's turtle module, write a small command-line tool, make one tiny edit to an existing script, and answer a question about a function that doesn't exist. Then one of us spends an hour working with the model and writes up how that went.

“Write a Python turtle program that draws a python reading a book.”

The same prompt for every model. Click a drawing to watch the turtle draw it.

10 models so far · newest first
A python reading a book, drawn by GPT-6 Astra

GPT-6 Astra

Released Sep 4, 2026
Writes Python like it’s
2021 (Python 3.10)
Modern idioms
9 of 15
Newest Python it knows
3.13.7
Lines touched for a tiny edit
11 (minimal: 7)
Spots a made-up function?
Caught it
Reasoning effort
default (1.2k thinking tokens)
What the run cost
$0.31 for all 5 tasks
Read the full run →
A python reading a book, drawn by Muse Spark 1.3

Muse Spark 1.3

Released Sep 2, 2026
Writes Python like it’s
2021 (Python 3.10)
Modern idioms
7 of 11
Newest Python it knows
3.14.1
Lines touched for a tiny edit
11 (minimal: 7)
Spots a made-up function?
Caught it
Reasoning effort
default (11.6k thinking tokens)
What the run cost
$0.07 for all 5 tasks
Read the full run →
A python reading a book, drawn by Gemini 3.8 Flash

Gemini 3.8 Flash

Released Sep 2, 2026
Writes Python like it’s
2021 (Python 3.10)
Modern idioms
8 of 12
Newest Python it knows
3.13.2
Lines touched for a tiny edit
12 (minimal: 7)
Spots a made-up function?
Caught it
Reasoning effort
default
What the run cost
≈$0.03 for all 5 tasks
Read the full run →
A python reading a book, drawn by Claude Fable 5.1

Claude Fable 5.1

Released Sep 1, 2026
Writes Python like it’s
2023 (Python 3.12)
Modern idioms
12 of 15
Newest Python it knows
3.14
Lines touched for a tiny edit
13 (minimal: 7)
Spots a made-up function?
Caught it
Reasoning effort
default (9.4k thinking tokens)
What the run cost
$0.89 for all 5 tasks
Read the full run →
A python reading a book, drawn by Qwen3.8 Flash

Qwen3.8 Flash

Released Aug 26, 2026
Writes Python like it’s
2019 (Python 3.8)
Modern idioms
6 of 13
Newest Python it knows
3.14.4
Lines touched for a tiny edit
11 (minimal: 7)
Spots a made-up function?
Sidestepped it
Reasoning effort
default (81.6k thinking tokens)
What the run cost
$0.07 for all 5 tasks
Read the full run →
A python reading a book, drawn by GLM 5.3 Flash

GLM 5.3 Flash

Released Aug 26, 2026
Writes Python like it’s
2023 (Python 3.12)
Modern idioms
11 of 14
Newest Python it knows
3.13
Lines touched for a tiny edit
11 (minimal: 7)
Spots a made-up function?
Caught it
Reasoning effort
default (84.1k thinking tokens)
What the run cost
$0.02 for all 5 tasks
Read the full run →
A python reading a book, drawn by DeepSeek V4 Flash Vision Exp

DeepSeek V4 Flash Vision Exp

Released Aug 21, 2026
Writes Python like it’s
2021 (Python 3.10)
Modern idioms
5 of 13
Newest Python it knows
3.13.1
Lines touched for a tiny edit
11 (minimal: 7)
Spots a made-up function?
Caught it
Reasoning effort
default (43.3k thinking tokens)
What the run cost
$0.05 for all 5 tasks
Read the full run →
A python reading a book, drawn by GPT-5.6 Sol

GPT-5.6 Sol

Released Jul 9, 2026
Writes Python like it’s
2021 (Python 3.10)
Modern idioms
7 of 14
Newest Python it knows
3.14.5
Lines touched for a tiny edit
11 (minimal: 7)
Spots a made-up function?
Sidestepped it
Reasoning effort
default
What the run cost
≈$0.10 for all 5 tasks
Read the full run →
A python reading a book, drawn by Gemini 3.1 Pro Preview

Gemini 3.1 Pro Preview

Released Feb 19, 2026
Writes Python like it’s
2021 (Python 3.10)
Modern idioms
6 of 11
Newest Python it knows
3.12.4
Lines touched for a tiny edit
13 (minimal: 7)
Spots a made-up function?
Caught it
Reasoning effort
default
What the run cost
≈$0.05 for all 5 tasks
Read the full run →
A python reading a book, drawn by GPT-4o

GPT-4o

Released May 13, 2024
Writes Python like it’s
2019 (Python 3.8)
Modern idioms
3 of 12
Newest Python it knows
3.11.5
Lines touched for a tiny edit
9 (minimal: 7)
Spots a made-up function?
Caught it
Reasoning effort
default
What the run cost
≈$0.03 for all 5 tasks
Read the full run →

How to read the results

Released
The day the model was released. Results are sorted newest release first until you pick another column. In the table view, click a column heading to sort by it, and click again to flip the direction.
Writes Python like it’s
We ask each model to write a small command-line tool from a fixed spec, then look at which idioms it uses: list[str] or typing.List, tomllib or a hand-rolled parser, Path.walk() or os.walk(), and so on. Each idiom arrived in a specific Python version, and each version has a year. One old-fashioned idiom pins the model at the version before that idiom existed, so this reading is deliberately strict.
Modern idioms
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
We ask the model which Python release is the newest. Its answer shows roughly where its training data ends.
Lines touched for a tiny edit
We hand the model a 40-line script and ask it to add a --verbose flag, then count how many lines it changed. The minimal answer changes 7. Much more than that means it rewrote things nobody asked about.
Spots a made-up function?
We ask how to use itertools.flatten(), which doesn't exist. Caught it means the model said so. Sidestepped it means it quietly showed a real alternative without mentioning that the function is made up. 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 count is how many thinking tokens it spent across all the tasks, when the API reports that.
What the run cost
What the API charged for all the tasks on this card, in US dollars. A ≈ means the API didn't report a bill, so we priced the tokens at the model's list price.

Inspired by Simon Willison's Pelican on a Bicycle.