From Test-Scratch-Wiki

Translate: - English 
SandCastleIcon.png This page has links to outside of the Scratch website or Wikipedia. Remember to stay safe when using the internet as we can't guarantee the safety of other sites.

SandCastleIcon.png This article documents something which is not associated with Scratch, the Lifelong Kindergarten Group, or the Massachusetts Institute of Technology.

Python is a programming language that is generally considered to be very readable and makes a good first programming language.

This page describes using Python with Scratch and various Scratch-related Python programs.


There are libraries that make it easier to write Python code that communicates with Scratch.

Note that the extension mechanisms for Scratch 1.4 and Scratch 2.0 are quite different, and are not compatible.

Scratch 2.0

— for writing extensions that are compatible with both Scratch 2.0 and Snap!. Generates extension files automatically. Clean programming interface. Needs documentation.

— allows you to retrieve the Scratch API from the project in Python code.

Scratch 1.4

See the guide for setting up Remote Sensor Connections in Scratch 1.4.

— Provides a clean interface for responding to broadcasts and sensor updates using decorators (based on

— provides code for communicating with Scratch

— a Mesh server

Projects that interact with Scratch using Python and remote sensor connections:

— lets you use Scratch as a web server


Scratch-related software written in Python:

  • M30W, previously Emerald

— a text version of Scratch

Scratch-related libraries that you can use in your Python code:

— for reading/writing Scratch project files


See also: Scratch 2.0

Scratch 2.0 uses Python as its back-end, or server-side code. This means that pages on the site (such as a studio or profile page) is produced by Python code. Between Python and the front-end is Django, a Python library for creating large database-driven websites.

External Links