SandCastleIcon.png This page has links to 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.[citation needed]

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 you to retrieve 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.

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


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:


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 18 June 2017, at 02:49.