An asynchronous Pythonic wrapper for scratch.mit.edu cloud websockets.
- Efficient asynchronous connection with Scratch.
- Event-based handling of cloud variables.
- Built-in reconnecting.
- Encoding and decoding support.
- Fetching data from the Scratch API.
- Easily customizable codecs for encoding and decoding variables.
- Sending and parsing large cloud payloads.
- Validating the cloud by finding who changed a cloud variable.
from scratchcloud import CloudClient, CloudChange
client = CloudClient('yuwe', '588579111')
@client.event
async def on_connect():
print('Connected!')
@client.event
async def on_disconnect():
print('Disconnected!')
@client.event
async def on_message(cloud: CloudChange):
print(f"{cloud.name} was set to {cloud.value}!")
await client.set_cloud(cloud.name, "123")
client.run("SuperSecretPassword22")