Skip to main content

A revised version of CPython’s turtle module, browser-friendly.

The optional standalone mode supports interactive CPython use. The abbreviated docstrings remain less suitable for help() than CPython’s implementation.

All public methods/functions of the CPython version should exist, if only to print out a warning that they are not implemented. The intent is to make it easier to “port” any existing turtle program from CPython to the browser.

Initially the code was part of Brython, then ported to Basthon, then published as a standalone package.

Installation

pip install basthon-turtle

For a live, persistent browser window in a regular CPython session, install the proof-of-concept standalone extra:

pip install "basthon-turtle[standalone]"

or

import micropip
await micropip.install('basthon-turtle')

Usage

Note: if running multiple times you need to restart the state of screen with turtle.restart() function.

Standalone CPython

The browser starts lazily on the first visible turtle operation. It remains alive between commands and receives incremental drawing updates:

from turtle import forward, left

forward(100)
left(90)
forward(50)

Jupyter

Install the portable persistent Jupyter renderer with:

pip install "basthon-turtle[jupyter]"

Turtle commands are buffered during each cell and animated in one persistent inline SVG widget after the cell finishes:

from turtle import forward, left

forward(100)
left(90)
forward(50)

For a JupyterLab-specific panel, install basthon-turtle[sidecar] instead. Call jupyter_sidecar(False) before drawing to force the portable inline widget when sidecar is otherwise available. The original done() and svg() workflow remains available.

Marimo

import marimo as mo

from turtle import forward, done, svg

forward(100)
done()
forward(100)
mo.Html(svg())

Credits

  • bearney74

  • André Roberge

  • Romain Casati

Implementation

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

basthon_turtle-0.2.0.tar.gz (44.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

basthon_turtle-0.2.0-py3-none-any.whl (34.1 kB view details)

Uploaded Python 3

File details

Details for the file basthon_turtle-0.2.0.tar.gz.

File metadata

  • Download URL: basthon_turtle-0.2.0.tar.gz
  • Upload date:
  • Size: 44.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.0

File hashes

Hashes for basthon_turtle-0.2.0.tar.gz
Algorithm Hash digest
SHA256 853b64ded409170394b2eb8162572e05d6327bf16416a2ee22d41cd03c00b2c3
MD5 be2aeb46d771f6c067a911de78fb70e3
BLAKE2b-256 08c78a7cbd02f8328d2b3911d44b7234e465351f0f335f49aa95407645418e7f

See more details on using hashes here.

File details

Details for the file basthon_turtle-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: basthon_turtle-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 34.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.0

File hashes

Hashes for basthon_turtle-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c71f897247840ad3c12413fba3ed6b55ac6185b84d5536cf548e34dcbb930e49
MD5 b0e094c92f383e464204aee26fe62f89
BLAKE2b-256 d55d268738b8d92f8a9a1538374b63b12fa7d87e14034599191b17122eb0ff68

See more details on using hashes here.

Release history Release notifications | RSS feed

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

This release

0.2.0 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page