SandCastleIcon.png This page has links to sites outside of the Scratch website and Wikipedia. Always remember to stay safe when using the Internet, since 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. It was first released in 1991 by Guido van Rossum.[1]

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

  • blockext — for writing extensions that are compatible with both Scratch 2.0 and Snap!. Generates extension files automatically. Clean programming interface. Needs documentation.
  • pyscratch2 — allows retrieval of the Scratch API from the project in Python code.
  • ScratchAPI — Opensource python library providing an interface for the Scratch APIs.

Scratch 1.4

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

  • Scratra — Provides a clean interface for responding to broadcasts and sensor updates using decorators (based on
  • (forum page) by pquiza — provides code for communicating with Scratch
  • Scratch Space by Magnie — a Mesh server

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

  • by TheSuccessor — allows usage of Scratch as a web server


Scratch-related software written in Python:

  • M30W, previously Emerald — a text version of Scratch

Scratch-related libraries that can be used in Python code:


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

  • This page was last modified on 25 December 2017, at 22:18.