Skip to main content

Get real time Twitch/Youtube events through Streamlabs SocketIO API

Project description

PyPI version License: MIT Poetry Code style: black Imports: isort

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
  • 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

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

streamlabsio-1.1.2.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

streamlabsio-1.1.2-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file streamlabsio-1.1.2.tar.gz.

File metadata

  • Download URL: streamlabsio-1.1.2.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.3 Windows/10

File hashes

Hashes for streamlabsio-1.1.2.tar.gz
Algorithm Hash digest
SHA256 32c9aec23f3584769bcbf08536e9566260a4cdaabedcd646082c0a6f51e5743c
MD5 fcf5cf98b09e2e2d56039c42bc2a607f
BLAKE2b-256 c5e504f100b1cc5ee6bec09ae886798645f8e338313bcb3fa99e6a8fa793608b

See more details on using hashes here.

File details

Details for the file streamlabsio-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: streamlabsio-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.3 Windows/10

File hashes

Hashes for streamlabsio-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9beb3ec315829fbd27316a39fa86ab1ca2eb0b437572effa21203af561541df9
MD5 3528568a90f17f9980167a6a8faa982c
BLAKE2b-256 0677173fabf7087423aa455eb9134a28fbe3271753d5959c51d45808bf0ab56e

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