Python Server Library for NOODLES Protocol


Keywords
noodles, cbor, Websockets, server, python3, visualization, websocket-server
License
MIT
Install
pip install rigatoni==0.2.8

Documentation

Rigatoni

Build Status PyPI Coverage badge

Python Server Library for NOODLES Protocol

Description

This server library implements the NOODLES messaging protocol and provides objects for maintaining a scene in state. The server uses a websocket connection to send CBOR encoded messages. To customize its implementation, the library provides convenient interface methods to assist the user in writing their own methods for the server. The user can also add custom delegates to add additional functionality to any of the standard components.

Documentation

For more information, check out the documentation.

Installation

Installation is as simple as:

pip install rigatoni

For optional dependencies and support for meshes and geometry object creation, you can install

pip install rigatoni[geometry]

Simple Example

import rigatoni as rig

class CustomTable(rig.Table):

    extra_info = None

    def handle_clear(self):
        print("Clearing table")

def basic_method(server, context):
    print("Hello World!")

starting_state = [
    rig.StartingComponent(rig.Method, {"name": "basic_method", "arg_doc": []}, basic_method),
]

delegates = {
    rig.Table: CustomTable
}

with rig.Server(50000, starting_state) as server:
    # do stuff
    pass

Hungry for more NOODLES?

For more information and other related repositories check out this collection