mirror of
				https://github.com/onyx-and-iris/streamlabs-socketio-py
				synced 2025-10-31 09:51:47 +00:00 
			
		
		
		
	Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.23.1 to 20.26.6. - [Release notes](https://github.com/pypa/virtualenv/releases) - [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst) - [Commits](https://github.com/pypa/virtualenv/compare/20.23.1...20.26.6) --- updated-dependencies: - dependency-name: virtualenv dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
A Python client for Streamlabs Socket API
For an outline of past/future changes refer to: CHANGELOG
Requirements
- 
A Streamlabs Socket API key. - You can acquire this by logging into your Streamlabs.com dashboard then Settings->Api Settings->API Tokens
 
- You can acquire this by logging into your Streamlabs.com dashboard then 
- 
Python 3.8 or greater 
How to install using pip
pip install streamlabsio
How to Use
You may store your api key in a config.toml file, its contents should resemble:
[streamlabs]
token = "<apikey>"
Place it next to your __main__.py file.
Otherwise:
You may pass it as a keyword argument.
Example __main__.py:
import streamlabsio
def on_twitch_event(event, data):
    print(f"{event}: {data.attrs()}")
def main():
    with streamlabsio.connect(token="<apikey>") as client:
        client.obs.on("streamlabs", on_twitch_event)
        client.obs.on("twitch_account", on_twitch_event)
        # run for 30 seconds then disconnect client from server
        client.sio.sleep(30)
if __name__ == "__main__":
    main()
note
From the SocketIO docs, client.sio.wait() may be used if your application has nothing to do in the main thread.
Client class
streamlabsio.connect(token="<apikey>", raw=False)
The following keyword arguments may be passed:
- token: str Streamlabs SocketIO api token.
- raw: boolean=False Receive raw data messages as json objects.
The following attribute is available:
- raw: boolean Toggle raw mode at runtime.
Attributes
For event data you may inspect the available attributes using attrs().
example:
def on_twitch_event(event, data):
    print(f"{event}: {data.attrs()}")
Errors
- SteamlabsSIOError: Base StreamlabsSIO error class
- SteamlabsSIOConnectionError: Exception raised when connection errors occur
Logging
To view raw incoming event data set logging level to DEBUG. Check debug example.
Official Documentation
					Languages
				
				
								
								
									Python
								
								100%