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.
- 🐍 Python >=3.11
- 🧵 asyncio (Built-in)
- 📃 "ujson" ultrajson
- 🔍 pyeve/cerberus
- ❄️ "snowflake-id" vd2org/snowflake
- 🌐 aaugustin/websockets
🔋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()
Release files for cloudlink 0.2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cloudlink-0.2.0.1.tar.gz | 25.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cloudlink-0.2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.9 kB
Release files / cloudlink-0.2.0.1.tar.gz
| Download URL | cloudlink-0.2.0.1.tar.gz |
|---|---|
| Size | 25.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51ae2f8ed7983fa9d4bd4c654ad2bb160ed69204e134d07c3660d83d623a4084
|
|
BLAKE2b-256 checksum How to use checksums |
0f469c6e2bc3c151da2fddf18beec3ad5bf817ef110bf108c5c0f2ae52ff18ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|
Release files / cloudlink-0.2.0.1-py3-none-any.whl
| Download URL | cloudlink-0.2.0.1-py3-none-any.whl |
|---|---|
| Size | 28.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61cba07d336f526d0722acaef85fcff699e0b33ebcb00934c00bae99798cc4dc
|
|
BLAKE2b-256 checksum How to use checksums |
4c9d82dd3e824cb01446ddd21a31525b3f5218cf33fbec2d62f400deec524217
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|