legistream-backend

Get live stream metadata from the various Australian parliaments.


Keywords
api, video, stream, politics, backend, australia, parliament, legistream
License
GPL-2.0-only
Install
pip install legistream-backend==1.4.17

Documentation

legistream_backend

This is the Python backend for legistream.


Install with pip:

pip install legistream-backend

View project on PyPI: https://pypi.org/project/legistream-backend/.

Usage

This package uses different modules to get live stream data from the various Australian parliaments.

Currently supported parliaments:

  • Australian Capital Territory
  • Federal
  • New South Wales
  • Northern Territory
  • Queensland
  • South Australia
  • Tasmania
  • Victoria
  • Western Australia

Setup

  1. Install poetry:

    pip3 install poetry
  2. Install/update dependencies with poetry:

    poetry update

Install ffmpeg:

Linux

sudo apt install ffmpeg

Mac

Install with brew:

brew install ffmpeg

Windows

Official Windows builds of ffmpeg can be found here

Print out stream URLs:

Every parliament module returns data the same way, Victoria is used here only for example purposes.

The stream_urls property can be used to return streams as a dict:

from legistream_backend.vic import Stream

print(Stream().stream_urls)

Each URL can be returned individually by using the [house]_stream_url property (e.g lower_stream_url)

print(Stream().lower_stream_url)

Check if a parliament's house is live:

Similarly, you can check the status of a live stream with the [house]_is_live boolean property.

if(Stream().lower_is_live):
    print('The lower house of Victoria is currently live.')
else:
    print('The lower house of Victoria is not currently live.')

Notes

  1. Run all scripts using poetry:

    poetry run python3 [file].py
  2. The South Australia stream extractor uses code adapted from the streamlink ustreamtv implementation.