Skip to main content

A Python client library for interacting with BigBlueButton API, enabling the creation and management of online meetings, recordings, and configurations.

Project description

sage_bbb

Black Pylint

Table of Contents

Introduction

sage_bbb is a Python package designed to simplify interaction with the BigBlueButton (BBB) API. BigBlueButton is an open-source web conferencing system ideal for virtual classrooms, online meetings, and remote collaboration.

Features

  • Meeting Management: Create, join, end, and retrieve meeting information.
  • Recording Management: Access, publish, unpublish, and delete recordings.
  • Configuration Management: Customize the BigBlueButton environment.
  • URL Validation and Checksum Generation: Ensure secure API requests.

Installation

Using pip

  1. Create a Virtual Environment:

    python -m venv .venv
    
  2. Activate the Virtual Environment:

    • On Windows:
      .venv\Scripts\activate
      
    • On macOS and Linux:
      source .venv/bin/activate
      
  3. Install the Package:

    pip install python-sage-bbb
    

Using Poetry

  1. Install Poetry: Follow the official installation instructions at the Poetry website.

  2. Create a New Project (Optional):

    poetry new myproject
    cd myproject
    
  3. Add the Package as a Dependency:

    poetry add python-sage-bbb
    
  4. Activate the Virtual Environment:

    poetry shell
    

Usage

Verifying Installation

To verify the installation, run a simple script to import the package:

from sage_bbb.services.client import BigBlueButtonClient

# Initialize the client
bbb_client = BigBlueButtonClient(
    "https://your-bbb-server.com/bigbluebutton/api/",
    "your-security-salt",
)

# Check connection
connection_status = bbb_client.check_connection()
print(f"Connection Status: {connection_status}")

Creating a Meeting

  1. Import the necessary modules:

    from sage_bbb.services.client import BigBlueButtonClient
    
  2. Initialize the client:

    bbb_client = BigBlueButtonClient(
        "http://your-bbb-server.com/bigbluebutton/api/",
        "your-security-salt",
    )
    
  3. Check the connection:

    connection_status = bbb_client.check_connection()
    print(f"Connection Status: {connection_status}")
    
  4. Create a new meeting:

    new_meeting = bbb_client.meetings.create_meeting(
        name="Test Meeting",
        meeting_id="random-9887584",
        attendee_pw="ap",
        moderator_pw="mp",
        record=True,  # Enable recording
        autoStartRecording=True,
        allowStartStopRecording=True
    )
    print(f"New Meeting: {new_meeting}")
    
  5. Join the meeting as a moderator:

    join_url_moderator = bbb_client.meetings.join_meeting(
        meeting_id="random-9887584",
        full_name="Moderator",
        password="mp"
    )
    print(f"Join URL (Moderator): {join_url_moderator}")
    
  6. Join the meeting as an attendee:

    join_url_attendee = bbb_client.meetings.join_meeting(
        meeting_id="random-9887584",
        full_name="Attendee",
        password="ap"
    )
    print(f"Join URL (Attendee): {join_url_attendee}")
    

Package Structure

  • helpers: Contains the Meeting dataclass for managing meeting-related data.
  • services: Includes modules for client, configurations, factory, meetings, and recordings.
  • utils: Provides utility classes for URL validation and checksum generation.

Contributing

Contributions are welcome! Please refer to the CONTRIBUTING.md file for guidelines.

License

This project is licensed under the MIT License - see the LICENSE file for details.


Enhance your virtual collaboration experiences with sage_bbb by integrating BigBlueButton’s powerful features into your own applications and automating routine tasks.

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_sage_bbb-0.1.3.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_sage_bbb-0.1.3-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file python_sage_bbb-0.1.3.tar.gz.

File metadata

  • Download URL: python_sage_bbb-0.1.3.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Windows/11

File hashes

Hashes for python_sage_bbb-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b31c677e4f404375e53179162247f372fceb5cc18882dd137435c05d3f090464
MD5 a552b23677c709adb7d9aebc9e4146dc
BLAKE2b-256 4c2113c828efdfcd82575ec8261e26094e28c9048d526d37a397159ce7a60095

See more details on using hashes here.

File details

Details for the file python_sage_bbb-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: python_sage_bbb-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Windows/11

File hashes

Hashes for python_sage_bbb-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3f6519114fe0e42258d040503c87e90ab219875d8ee43274a41910a9475aa58a
MD5 af6c649d219f425c905075821b7d3fab
BLAKE2b-256 4c6a670340dea6a61c019767dde65f86ad7d6c527ef9d30c035600f6cc885a99

See more details on using hashes here.

Supported by

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