{"id":16243558,"url":"https://github.com/flyte/zmq-io-modules","last_synced_at":"2025-04-08T10:59:57.790Z","repository":{"id":29532363,"uuid":"33071011","full_name":"flyte/zmq-io-modules","owner":"flyte","description":"A collection of modules which handle various input/output such as stdio and lighting states and communicate over ZeroMQ sockets.","archived":false,"fork":false,"pushed_at":"2015-12-19T15:54:17.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-02-14T07:19:44.234Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flyte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-29T11:45:37.000Z","updated_at":"2015-03-30T20:50:33.000Z","dependencies_parsed_at":"2022-09-20T18:03:53.971Z","dependency_job_id":null,"html_url":"https://github.com/flyte/zmq-io-modules","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyte%2Fzmq-io-modules","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyte%2Fzmq-io-modules/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyte%2Fzmq-io-modules/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyte%2Fzmq-io-modules/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyte","download_url":"https://codeload.github.com/flyte/zmq-io-modules/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247829473,"owners_count":21002994,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T14:15:23.242Z","updated_at":"2025-04-08T10:59:57.774Z","avatar_url":"https://github.com/flyte.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"ZMQ IO Modules\n==============\n\nThis is a collection of runnable Python modules which communicate using ZeroMQ (0mq) and either perform actions when receiving 0mq messages, send 0mq messages when actions are performed, or both.\n\nThe modules are prefixed with in/out/io to identify whether they are an input/output/both type of module.\n\nUsage\n-----\n\nClone the git repository (pip install coming soon) and run one of the modules directly:\n\n    git clone https://github.com/flyte/zmq-io-modules.git\n    cd zmq-io-modules\n    python zmq_io/io_stdin.py\n\nThe Modules\n-----------\n\n#### io_stdio\n\nHandles standard input and output. This means that you can type into the console and your message will be published over 0mq. Messages received over 0mq will be printed to standard output.\n\n#### out_states\n\nImports a Python module and upon reception of a 0mq message, will run the specified function within it. This is useful for setting lighting states for example.\n\n##### states.py\n\n    def print_hi_loads(change_event):\n        while not change_event.isSet():\n            print \"Hi!\"\n            change_event.wait(1)\n\n    def count_up(change_event):\n        i = 0\n        while not change_event.isSet():\n            i += 1\n            print i\n            change_event.wait(1)\n\n    def print_hello_world(change_event):\n        print \"Hello, World!\"\n\n##### Example 0mq input\n\n    count_up\n\nSend just the function name to set that state. Send another function name to switch to another one.\n\n#### io_pifacedigitalio\n\nPublishes a message over 0mq describing the pifacedigitalio input port states every time one changes. Changes the pifacedigitalio output states when a message is received over 0mq.\n\n##### Example 0mq output\n\n    {\n        \"0\": false,\n        \"1\": true,\n        \"2\": false,\n        \"3\": false,\n        \"4\": false,\n        \"5\": true,\n        \"6\": false,\n        \"7\": false\n    }\n\n##### Example 0mq input\n\n    {\n        \"2\": true,\n        \"5\": false\n    }\n\n#### in_lirc\n\nPublishes the button code over 0mq when LIRC receives a button press on an infrared receiver.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyte%2Fzmq-io-modules","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflyte%2Fzmq-io-modules","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyte%2Fzmq-io-modules/lists"}