Skip to main content

A Python 3 interface to the XirSys API.

Project description

A Python 3 interface to the XirSys API

Badges

https://img.shields.io/travis/kavdev/python-xirsys/master.svg?style=flat-square https://img.shields.io/codecov/c/github/kavdev/python-xirsys/master.svg?style=flat-square https://img.shields.io/requires/github/kavdev/python-xirsys.svg?style=flat-square https://img.shields.io/codacy/75dbe2685efe47c3aa203a53154c9e7e.svg?style=flat-square https://img.shields.io/pypi/v/python-xirsys.svg?style=flat-square https://img.shields.io/pypi/dw/python-xirsys.svg?style=flat-square https://img.shields.io/github/issues/kavdev/python-xirsys.svg?style=flat-square https://img.shields.io/github/license/kavdev/python-xirsys.svg?style=flat-square

Usage

Install python-xirsys:

pip install python-xirsys

Build a Connection object:

from python_xirsys import Connection

connection = Connection(username="<xirsys_username>", secret_key="<xirsys_secret_key>"

Grab XirSys signaling server:

>>> SignalingServer.list_all(connection=connection)
<SignalingServer [server_address]>
>>> server = SignalingServer.list_all(connection=connection)
>>> server.address
'<server_address>'

Generate a XirSys WebSocket token:

>>> from python_xirsys.objects import SignalingServer
>>> SignalingServer.generate_token(connection=connection, domain="domain.com", application="application", room="room", secure=True)
'<token>'

Grab a list of XirSys ICE servers:

>>> from python_xirsys.objects import ICEServer
>>> ICEServer.list_all(connection=connection, domain="domain.com", application="application", room="room", secure=True, timeout=30)
[<ICEServer [url]>, ...]
>>> ice_servers = ICEServer.list_all(connection=connection, domain="domain.com", application="application", room="room", secure=True, timeout=30)
>>> ice_server = ice_servers[0]
>>> ice_server.url
'<url>'
>>> ice_server.server_type
'stun'
>>> ice_server.username
None
>>> ice_server.credential
None
>>> ice_server = ice_servers[1]
>>> ice_server.url
'<url>'
>>> ice_server.server_type
'turn'
>>> ice_server.username
'<username>'
>>> ice_server.credential
'<credential>'

Manage XirSys domains:

>>> from python_xirsys.objects import Domain
>>> Domain.create(connection=connection, domain="test.com")
<Domain [test.com]>
>>> Domain.list_all(connection=connection)
[<Domain [domain.com]>, <Domain [test.com]>]
>>> domains = Domain.list_all(connection=connection)
>>> domain = domains[domains.index("test.com")]
>>> domain.applications
[<Application [default]>, ...]
>>> domain.disable()

Manage XirSys applications:

>>> from python_xirsys.objects import Application
>>> domains = Domain.list_all(connection=connection)
>>> domain = domains[domains.index("domain.com")]
>>> Application.create(connection=connection, domain=domain, application="test")
<Application [test]>
>>> Application.list_all(connection=connection, domain=domain)
[<Application [default]>, <Application [test]>]
>>> Application.list_all(connection=connection, domain="domain.com")
[<Application [default]>, <Application [test]>]
>>> applications = Application.list_all(connection=connection, domain=domain)
>>> application = applications[applications.index("test")]
>>> application.rooms
[<Room [default]>, ...]
>>> application.disable()

Manage XirSys rooms:

>>> from python_xirsys.objects import Room
>>> Room.create(connection=connection, domain="domain.com", application="default", room="test_room")
<Room [test_room]>
>>> rooms = Room.list_all(connection=connection, domain="domain.com", application="default")
[<Room [default]>, <Room [test_room]>]
>>> room = rooms[rooms.index("test_room")]
>>> application.room()

Running the Tests

pip install -r requirements/test.txt
./runtests.py

Changes

0.1.1 (2016-05-30)

  • Object names are now coerced to strings when initialized to avoid a TypeError

0.1.0 (2016-05-26)

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-xirsys-0.1.1.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

python_xirsys-0.1.1-py2.py3-none-any.whl (7.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file python-xirsys-0.1.1.tar.gz.

File metadata

File hashes

Hashes for python-xirsys-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ba4998fdc4008a9148a4d94c49ae41188adbb877ac742593041171452ff2346a
MD5 5adf2354808142594f072cbfd9009d15
BLAKE2b-256 603999736afdacda786deb0b4b7a4c629d68f1183915a134ba0ed53c26dbe87d

See more details on using hashes here.

File details

Details for the file python_xirsys-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for python_xirsys-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 25392a1827b83473e115e9b344c0fe642f1db8a70b3f0ea1f08843644fecc2aa
MD5 1dbdde8e2c32d37c3dcd7a637be0c17a
BLAKE2b-256 fcf15aa9b2af0973c94eebc152e07413a123b99fc32d97bbe2773a6e37f4b22f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page