rigatoni


Namerigatoni JSON
Version 0.2.8 PyPI version JSON
download
home_page
SummaryPython Server Library for NOODLES Protocol
upload_time2023-08-24 19:59:52
maintainer
docs_urlNone
authorAlex Racapé
requires_python>=3.8
license
keywords noodles cbor websockets server noodles
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# Rigatoni

![Build Status](https://github.com/InsightCenterNoodles/Rigatoni/workflows/CI/badge.svg)
![PyPI](https://img.shields.io/pypi/v/Rigatoni)
[![Coverage badge](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/InsightCenterNoodles/Rigatoni/python-coverage-comment-action-data/endpoint.json&color=brightgreen)](https://htmlpreview.github.io/?https://github.com/InsightCenterNoodles/Rigatoni/blob/python-coverage-comment-action-data/htmlcov/index.html)

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](https://insightcenternoodles.github.io/Rigatoni/).

## Installation

Installation is as simple as:

```bash
pip install rigatoni
```

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

```bash
pip install rigatoni[geometry]
```

## Simple Example

```python
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](https://github.com/InsightCenterNoodles)


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "rigatoni",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "noodles,cbor,Websockets,server,NOODLES",
    "author": "Alex Racap\u00e9",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/e0/46/440317e4cf25019b3e5831da20d432082dc0cc7db4e77624b4cee836f9e7/rigatoni-0.2.8.tar.gz",
    "platform": null,
    "description": "\n# Rigatoni\n\n![Build Status](https://github.com/InsightCenterNoodles/Rigatoni/workflows/CI/badge.svg)\n![PyPI](https://img.shields.io/pypi/v/Rigatoni)\n[![Coverage badge](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/InsightCenterNoodles/Rigatoni/python-coverage-comment-action-data/endpoint.json&color=brightgreen)](https://htmlpreview.github.io/?https://github.com/InsightCenterNoodles/Rigatoni/blob/python-coverage-comment-action-data/htmlcov/index.html)\n\nPython Server Library for NOODLES Protocol\n\n## Description\nThis server library implements the NOODLES messaging protocol and provides objects for maintaining a scene in state. \nThe server uses a websocket connection to send CBOR encoded messages. To customize its implementation, the library \nprovides convenient interface methods to assist the user in writing their own methods for the server. The user can\nalso add custom delegates to add additional functionality to any of the standard components.\n\n## Documentation\n\nFor more information, check out [the documentation](https://insightcenternoodles.github.io/Rigatoni/).\n\n## Installation\n\nInstallation is as simple as:\n\n```bash\npip install rigatoni\n```\n\nFor optional dependencies and support for meshes and geometry object creation, you can install\n\n```bash\npip install rigatoni[geometry]\n```\n\n## Simple Example\n\n```python\nimport rigatoni as rig\n\nclass CustomTable(rig.Table):\n\n    extra_info = None\n\n    def handle_clear(self):\n        print(\"Clearing table\")\n\ndef basic_method(server, context):\n    print(\"Hello World!\")\n\nstarting_state = [\n    rig.StartingComponent(rig.Method, {\"name\": \"basic_method\", \"arg_doc\": []}, basic_method),\n]\n\ndelegates = {\n    rig.Table: CustomTable\n}\n\nwith rig.Server(50000, starting_state) as server:\n    # do stuff\n    pass\n```\n\n## Hungry for more NOODLES?\nFor more information and other related repositories check out [this collection](https://github.com/InsightCenterNoodles)\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Python Server Library for NOODLES Protocol",
    "version": "0.2.8",
    "project_urls": {
        "Documentation": "https://insightcenternoodles.github.io/Rigatoni/",
        "Source": "https://github.com/InsightCenterNoodles/Rigatoni"
    },
    "split_keywords": [
        "noodles",
        "cbor",
        "websockets",
        "server",
        "noodles"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b642b58357d848fd482ca0b6925cffeb47ad54a8d18736bdddc8dbfa01956f34",
                "md5": "2d6421026f0fd568dc4f8178a435f96a",
                "sha256": "82b8c64bc1a7a9e9be1fe72e176514bfd3f3e19b874fd98aa10af4d55e347b7d"
            },
            "downloads": -1,
            "filename": "rigatoni-0.2.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2d6421026f0fd568dc4f8178a435f96a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 33772,
            "upload_time": "2023-08-24T19:59:50",
            "upload_time_iso_8601": "2023-08-24T19:59:50.491764Z",
            "url": "https://files.pythonhosted.org/packages/b6/42/b58357d848fd482ca0b6925cffeb47ad54a8d18736bdddc8dbfa01956f34/rigatoni-0.2.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e046440317e4cf25019b3e5831da20d432082dc0cc7db4e77624b4cee836f9e7",
                "md5": "fc3e4db3afce22662e199985c088d2cb",
                "sha256": "363d49e69bb01737950587044bbb9c7fddce8e6176adf387ef87c74a80ddb3f1"
            },
            "downloads": -1,
            "filename": "rigatoni-0.2.8.tar.gz",
            "has_sig": false,
            "md5_digest": "fc3e4db3afce22662e199985c088d2cb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 31895,
            "upload_time": "2023-08-24T19:59:52",
            "upload_time_iso_8601": "2023-08-24T19:59:52.050996Z",
            "url": "https://files.pythonhosted.org/packages/e0/46/440317e4cf25019b3e5831da20d432082dc0cc7db4e77624b4cee836f9e7/rigatoni-0.2.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-24 19:59:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "InsightCenterNoodles",
    "github_project": "Rigatoni",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "rigatoni"
}
        
Elapsed time: 2.59398s