{"id":13613987,"url":"https://github.com/cisco-ce/pyxows","last_synced_at":"2025-04-13T18:31:53.473Z","repository":{"id":45180532,"uuid":"182970246","full_name":"cisco-ce/pyxows","owner":"cisco-ce","description":"Python bindings for Cisco Collaboration Endpoint XAPI over WebSockets","archived":false,"fork":false,"pushed_at":"2022-05-09T09:25:30.000Z","size":20,"stargazers_count":18,"open_issues_count":0,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-11-07T22:41:56.513Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cisco-ce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-23T08:31:38.000Z","updated_at":"2024-02-11T07:16:01.000Z","dependencies_parsed_at":"2022-09-02T13:01:05.091Z","dependency_job_id":null,"html_url":"https://github.com/cisco-ce/pyxows","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-ce%2Fpyxows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-ce%2Fpyxows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-ce%2Fpyxows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-ce%2Fpyxows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cisco-ce","download_url":"https://codeload.github.com/cisco-ce/pyxows/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248760423,"owners_count":21157354,"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-08-01T20:00:55.498Z","updated_at":"2025-04-13T18:31:53.232Z","avatar_url":"https://github.com/cisco-ce.png","language":"Python","funding_links":[],"categories":["Building Blocks"],"sub_categories":[],"readme":"# Cisco Telepresence XAPI over WebSockets, python library.\n\nPython version required: 3.7 or newer.\n\n\n## Description\n\nThis library allows you to connect to a Cisco Telepresence endpoint running CE\nsoftware version 9.7 or later using jsonrpc over websocket. There is also a\ncommand-line utility built on top of the library.\n\nThe API itself is documented at https://www.cisco.com/c/dam/en/us/td/docs/telepresence/endpoint/api/collaboration-endpoint-software-api-transport.pdf\n\n\n## Installing\n\nFrom PyPi\n\n    pip install [--user] xows\n\nFrom a checkout of the git repo\n\n    python setup.py install [--user]\n\n## Requirements\n\nWebsockets should be set to `FollowHTTPService` and HTTP Mode should be set to either `HTTPS` or `HTTP/HTTPS`. \n\n## Usage example\n\n```py\nimport xows\nimport asyncio\n\nasync def start():\n    async with xows.XoWSClient('10.10.10.1', username='admin1', password='') as client:\n        def callback(data, id_):\n            print(f'Feedback (Id {id_}): {data}')\n\n        print('Status Query:',\n            await client.xQuery(['Status', '**', 'DisplayName']))\n\n        print('Get status:',\n            await client.xGet(['Status', 'Audio', 'Volume']))\n            \n        print('Get configuration:',\n            await client.xGet(['Configuration', 'SIP', 'Proxy', 1, 'Address']))\n\n        print('Command:',\n              await client.xCommand(['Audio', 'Volume', 'Set'], Level=60))\n\n        print('Configuration:',\n            await client.xSet(['Configuration', 'Audio', 'DefaultVolume'], 50))\n\n        print('Subscription 0:',\n            await client.subscribe(['Status', 'Audio', 'Volume'], callback, True))\n\n        await client.wait_until_closed()\n\nasyncio.run(start())\n```\n\nFor more usage examples, check out the clixows script. It's source is found\nunder `xows/__main__.py` and it can be invoked using `python3 -m xows`, or,\nafter install, as `clixows`\n\nNote that piping output from python scripts to other commands doesn't work well\nunless you switch to unbuffered output, so e.g. if you want timestamping using\n`ts(1)` you need to do e.g.\n\n    python3 -u -m xows my-endpoint feedback '**' | ts\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcisco-ce%2Fpyxows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcisco-ce%2Fpyxows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcisco-ce%2Fpyxows/lists"}