{"id":16110808,"url":"https://github.com/roma-glushko/socket.io-redis-emitter","last_synced_at":"2025-07-01T04:34:38.178Z","repository":{"id":42720156,"uuid":"473338704","full_name":"roma-glushko/socket.io-redis-emitter","owner":"roma-glushko","description":"⚡️ An async Redis-based Socket.IO emitter for Python.","archived":false,"fork":false,"pushed_at":"2024-06-09T09:21:40.000Z","size":58,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-19T16:02:43.538Z","etag":null,"topics":["socket-io","socketio","socketio-emitter","socketio-python","socketio-redis"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roma-glushko.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-23T19:56:19.000Z","updated_at":"2024-10-29T20:44:24.000Z","dependencies_parsed_at":"2024-06-09T10:25:53.675Z","dependency_job_id":"3d7afe93-d99a-4957-ac56-4c694ba5309c","html_url":"https://github.com/roma-glushko/socket.io-redis-emitter","commit_stats":{"total_commits":30,"total_committers":1,"mean_commits":30.0,"dds":0.0,"last_synced_commit":"1240576fcf1f889a546486b7c9328c576ebc0944"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/roma-glushko/socket.io-redis-emitter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roma-glushko%2Fsocket.io-redis-emitter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roma-glushko%2Fsocket.io-redis-emitter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roma-glushko%2Fsocket.io-redis-emitter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roma-glushko%2Fsocket.io-redis-emitter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roma-glushko","download_url":"https://codeload.github.com/roma-glushko/socket.io-redis-emitter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roma-glushko%2Fsocket.io-redis-emitter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261523120,"owners_count":23171962,"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":["socket-io","socketio","socketio-emitter","socketio-python","socketio-redis"],"created_at":"2024-10-09T19:39:33.293Z","updated_at":"2025-07-01T04:34:38.149Z","avatar_url":"https://github.com/roma-glushko.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Socket.IO Redis Emitter\n\nThis is an asynchronous Redis-based [Socket.IO emitter](https://socket.io/docs/v4/emitting-events/) for Python.\n\n## Installation\n\n```bash\npip install socket.io-redis-emitter\n# or\npoetry add socket.io-redis-emitter\n```\n\n## Features\n\n- High quality, typed and modern Python codebase\n- Clean, concise and Pythonic API\n- Uses [redis](https://redis.readthedocs.io/en/latest/) as a Redis client\n- Supports namespaces, rooms and regular Socket.IO message emitting\n\n```python\nimport redis\nfrom socketio_emitter import Emitter\n\nclient = redis.Redis(...)\nemitter = Emitter(client=client)\n\nasync with emitter.namespace(\"/nsp\") as nsp:\n    async with nsp.rooms(\"room1\", \"room2\") as clients:\n        await clients.emit(\"machineStatus\", {\"status\": \"ok\"})\n```\n\n- Remote requests to join, leave rooms or to disconnect\n\n```python\nimport redis\nfrom socketio_emitter import Emitter\n\nclient = redis.Redis(...)\nemitter = Emitter(client=client)\n\nasync with emitter.namespace(\"/nsp\") as nsp:\n    async with nsp.rooms(\"room1\", \"room2\") as clients:\n        await clients.join(\"room3\")\n        # await clients.leave(\"room3\")\n        # await clients.disconnect()\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froma-glushko%2Fsocket.io-redis-emitter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froma-glushko%2Fsocket.io-redis-emitter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froma-glushko%2Fsocket.io-redis-emitter/lists"}