Skip to main content

A powerful WebSocket extension for Scratch.

Project description

CloudLink Python

This is the original, Python-based codebase for CloudLink server.

💡 Features 💡

🪶 Fast and lightweight

CloudLink can run on minimal resources. At least 25MB of RAM and any reasonably capable CPU can run a CloudLink server.

🌐 Essential networking tools

  • Unicast and multicast packets across clients
  • Expandable functionality with a built-in method loader

📦 Minimal dependencies

All dependencies below can be installed using pip install -r requirements.txt.

🔋Batteries included

The CloudLink Python server comes with full support for the CL4 protocol and the Scratch cloud variable protocol. Just download, setup, and start!

🧱 Plug-and-play modularity

You can easily extend the functionality of the server using classes and decorators. Here's an example of a simple plugin that displays "Foobar!" in the console when a client sends the message { "cmd": "foo" } to the server.

# Import the server
from cloudlink import server

# Import default protocol
from cloudlink.server.protocols import clpv4

# Instantiate the server object
server = server()

# Set logging level
server.logging.basicConfig(
    level=server.logging.DEBUG
)

# Load default CL protocol
clpv4 = clpv4(server)

# Define the functions your plugin executes
class myplugin:
    def __init__(self, server, protocol):
        
        # Example command - client sends { "cmd": "foo" } to the server, this function will execute
        @server.on_command(cmd="foo", schema=protocol.schema)
        async def foobar(client, message):
            print("Foobar!")

# Load the plugin!
myplugin(server, clpv4)

# Start the server!
server.run()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloudlink-0.2.0.1.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

cloudlink-0.2.0.1-py3-none-any.whl (28.6 kB view details)

Uploaded Python 3

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page