|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.|
|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.
- 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.
- Scratra — Provides a clean interface for responding to broadcasts and sensor updates using decorators (based on scratch.py)
- scratch.py ([https://scratcharchive.asun.co/forums/viewtopic.php?id=84927 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:
- [https://scratcharchive.asun.co/forums/viewtopic.php?id=105720 scratch2web.py] by TheSuccessor — 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:
- 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.