Get Started
Whether you're new to programming or shipping your next app, start with a short guided path.
Start the tutorialPython v2 knows the usual control flow statements that other
languages speak — if, for, while and
range — with some of its own twists, of course.
Python v2 is a programming language that lets you work quickly and integrate systems more effectively. »»> Learn More
Whether you're new to programming or shipping your next app, start with a short guided path.
Start the tutorialInstall the Sudbury language, desktop workspace, PyHope, and Windows EXE toolchain together.
Download Python v2Browse the language reference, editor setup, application APIs, and packaging guides.
Read the docsRun the real browser interpreter, inspect errors, build a website, or switch to Classic mode.
Open PlaygroundPython v2 is free and open source. We are not collecting money or payment details yet—follow the project for a future support page.
try/catch/finally,
richer iterable tools, the desktop Launcher, Windows EXE builds, PyHope, and the 9M GPU lab.
Things people have built with Python v2 + PyHope — from a pure CPU framebuffer to an optional 9.4-million-pixel GPU render.
“One readable language can move from a browser idea to a desktop workspace, a game, a polished website, and a real Windows application.”
A Wolfenstein-style renderer with original monster sprites, AI and a blaster. It flies past nine million computed pixels in under three seconds — play it.
Our own lightweight Launcher edits and runs Python v2, creates websites and games, previews projects, and opens the PyHope GPU lab. Get the app.
The Playground’s portfolio studio turns editable Python v2 data into a polished personal website with live preview, exact HTML, project cards, and playable game links. Build yours.
Python v2 is free and open source. Run from source or use the installer to get the Sudbury desktop app, language, Windows EXE builder, and PyHope together. Full guides for VS Code, dev containers, desktop and any editor are on the Downloads page and in the documentation — then learn the language with the tutorial.
git clone https://github.com/gefrus112/pythonv2
cd pythonv2
python3 -m pyv2 examples/hello.pyv2
python3 -m pyv2
>>> print(f"{'2' * 3}")
222
Installation & editor setup
# hello.pyv2
fn greet(name):
if name == "":
return "Hello, stranger!"
end
return f"Hello, {name}!"
end
for who in ["World", ""]:
print(greet(who))
end
| Old Python | Python v2 |
|---|---|
def foo(): + invisible whitespace | fn foo(): … end |
| TabError: inconsistent use of tabs | No such thing. Ever. |
"n=" + str(n) | "n=" + n |
x if ok else y (backwards) | ok ? x : y |
| Exception objects and boilerplate | catch error gives a useful map; finally always runs |
assert statement | assert(cond, msg) — a normal function |
Surprising nonlocal rules | Closures just work |
Everything you loved about Python — plus the fixes the old one never shipped.
Blocks open with : and close with end.
Tabs, spaces — do whatever. The compiler doesn't care. Your team won't either.
Assignment finds the variable that already exists, wherever it lives.
Counters that count. No nonlocal incantations required.
f"Hello, {name}!" — interpolation that just works,
expressions and all. String concatenation with numbers is legal too.
Recover with try, inspect error.kind and
error.message, and rely on finally for cleanup.
The same language runs in the terminal and on this very page — the playground is the real interpreter, not a screenshot.
A Python reference runtime and a JavaScript twin, locked together by parity tests. Byte-identical output or the build fails.
Start here with one of the arcade's four shooters. This level is drawn the hard way: a software raycaster computes every pixel on the CPU—but now it has original CC0 monster sprites, chasing AI, health, hit detection and a Comet Blaster. At 60 FPS it crosses nine million rendered pixels in 2.7 seconds. Want the GPU version? Visit the 9M GPU Lab.
Open the 10-game arcade: shooters, platformers, racing & more →
Learn step by step in the tutorial, explore the 50-topic field guide, or dig into installation in VS Code, dev containers / Codespaces, desktop and any code editor.
Print any number of values, space-separated.
print("sum:", 1 + 2)
Interpolate any expression with braces.
f"{name} scored {score * 2}"
Functions are values. Closures capture properly.
fn add(a, b): return a + b end
Blocks end with end, not a column number.
if x > 0: print("pos") end
The usual loop verbs, no surprises.
while true: break end
Iterate lists, strings, maps and ranges.
for i in range(1, 10, 2): print(i) end
[1, 2, 3] with methods that spark joy.
xs.push(4) xs.sort()
Bare keys, dot access, safe get.
hero = {name: "Ada"} → hero.name
Condition first, like a question should be.
status = ok ? "yes" : "no"
Recover from runtime errors, inspect their fields, and always clean up.
try: risky() catch error: print(error.kind) end
len, range, sum, enumerate,
zip, all, any, type, …
print(sum(range(5)))
upper, split, replace,
trim, contains, slice, …
"a,b".split(",").join("-")
+ − * / // % **, floored mod, real division.
print(7 // 2, -7 % 3, 2 ** 10)
Full install guides & language reference: docs.html · grammar: docs/LANGUAGE.md
Use try, catch, finally, and raise with inspectable error details.
The desktop Launcher and reproducible Windows EXE workflow are available now.
Edit Python v2 data and preview a responsive personal site with its exact HTML.
The full language, editor, PyHope, and app-building walkthrough unlocks at 1,000 subscribers.
Donation support is not open yet; no payment information is being collected.
Open the Playground and make a language program, game data set, or portfolio site.
Python v2 is built in the open on GitHub. Star the repo, file an
issue, send a pull request, or just argue about end vs braces.
Subscribe to Cube Comet. At 1,000 subscribers, the complete Python v2 + PyHope installation tutorial will be released.