{"id":22622408,"url":"https://github.com/sageteamorg/python-sage-bbb","last_synced_at":"2025-04-11T16:41:14.947Z","repository":{"id":251029994,"uuid":"836182968","full_name":"sageteamorg/python-sage-bbb","owner":"sageteamorg","description":"sage_bbb is a Python package designed to simplify interaction with the BigBlueButton (BBB) API. ","archived":false,"fork":false,"pushed_at":"2025-03-06T03:55:10.000Z","size":155,"stargazers_count":3,"open_issues_count":7,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T12:51:16.003Z","etag":null,"topics":["bigbluebutton","bigbluebutton-api","python","python-packages","sageteam"],"latest_commit_sha":null,"homepage":"https://python-sage-bbb.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sageteamorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-31T10:15:37.000Z","updated_at":"2025-01-30T20:40:29.000Z","dependencies_parsed_at":"2024-08-29T06:52:39.260Z","dependency_job_id":null,"html_url":"https://github.com/sageteamorg/python-sage-bbb","commit_stats":null,"previous_names":["sageteamorg/python-sage-bbb"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sageteamorg%2Fpython-sage-bbb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sageteamorg%2Fpython-sage-bbb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sageteamorg%2Fpython-sage-bbb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sageteamorg%2Fpython-sage-bbb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sageteamorg","download_url":"https://codeload.github.com/sageteamorg/python-sage-bbb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248442096,"owners_count":21104130,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bigbluebutton","bigbluebutton-api","python","python-packages","sageteam"],"created_at":"2024-12-08T23:14:58.595Z","updated_at":"2025-04-11T16:41:14.939Z","avatar_url":"https://github.com/sageteamorg.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sage_bbb\n![Black](https://img.shields.io/badge/code%20style-black-000000.svg)\n![Pylint](https://img.shields.io/badge/pylint-9-brightgreen)\n\n## Table of Contents\n- [sage\\_bbb](#sage_bbb)\n  - [Table of Contents](#table-of-contents)\n  - [Introduction](#introduction)\n  - [Features](#features)\n  - [Installation](#installation)\n    - [Using pip](#using-pip)\n    - [Using Poetry](#using-poetry)\n  - [Usage](#usage)\n    - [Verifying Installation](#verifying-installation)\n    - [Creating a Meeting](#creating-a-meeting)\n  - [Package Structure](#package-structure)\n  - [Contributing](#contributing)\n  - [License](#license)\n\n## Introduction\n`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.\n\n## Features\n- **Meeting Management**: Create, join, end, and retrieve meeting information.\n- **Recording Management**: Access, publish, unpublish, and delete recordings.\n- **Configuration Management**: Customize the BigBlueButton environment.\n- **URL Validation and Checksum Generation**: Ensure secure API requests.\n\n## Installation\n\n### Using pip\n\n1. **Create a Virtual Environment**:\n    ```bash\n    python -m venv .venv\n    ```\n\n2. **Activate the Virtual Environment**:\n    - On Windows:\n        ```bash\n        .venv\\Scripts\\activate\n        ```\n    - On macOS and Linux:\n        ```bash\n        source .venv/bin/activate\n        ```\n\n3. **Install the Package**:\n    ```bash\n    pip install python-sage-bbb\n    ```\n\n### Using Poetry\n\n1. **Install Poetry**: Follow the official installation instructions at the [Poetry website](https://python-poetry.org/docs/#installation).\n\n2. **Create a New Project (Optional)**:\n    ```bash\n    poetry new myproject\n    cd myproject\n    ```\n\n3. **Add the Package as a Dependency**:\n    ```bash\n    poetry add python-sage-bbb\n    ```\n\n4. **Activate the Virtual Environment**:\n    ```bash\n    poetry shell\n    ```\n\n## Usage\n\n### Verifying Installation\n\nTo verify the installation, run a simple script to import the package:\n\n```python\nfrom sage_bbb.services.client import BigBlueButtonClient\n\n# Initialize the client\nbbb_client = BigBlueButtonClient(\n    \"https://your-bbb-server.com/bigbluebutton/api/\",\n    \"your-security-salt\",\n)\n\n# Check connection\nconnection_status = bbb_client.check_connection()\nprint(f\"Connection Status: {connection_status}\")\n```\n\n### Creating a Meeting\n\n1. **Import the necessary modules**:\n    ```python\n    from sage_bbb.services.client import BigBlueButtonClient\n    ```\n\n2. **Initialize the client**:\n    ```python\n    bbb_client = BigBlueButtonClient(\n        \"http://your-bbb-server.com/bigbluebutton/api/\",\n        \"your-security-salt\",\n    )\n    ```\n\n3. **Check the connection**:\n    ```python\n    connection_status = bbb_client.check_connection()\n    print(f\"Connection Status: {connection_status}\")\n    ```\n\n4. **Create a new meeting**:\n    ```python\n    new_meeting = bbb_client.meetings.create_meeting(\n        name=\"Test Meeting\",\n        meeting_id=\"random-9887584\",\n        attendee_pw=\"ap\",\n        moderator_pw=\"mp\",\n        record=True,  # Enable recording\n        autoStartRecording=True,\n        allowStartStopRecording=True\n    )\n    print(f\"New Meeting: {new_meeting}\")\n    ```\n\n5. **Join the meeting as a moderator**:\n    ```python\n    join_url_moderator = bbb_client.meetings.join_meeting(\n        meeting_id=\"random-9887584\",\n        full_name=\"Moderator\",\n        password=\"mp\"\n    )\n    print(f\"Join URL (Moderator): {join_url_moderator}\")\n    ```\n\n6. **Join the meeting as an attendee**:\n    ```python\n    join_url_attendee = bbb_client.meetings.join_meeting(\n        meeting_id=\"random-9887584\",\n        full_name=\"Attendee\",\n        password=\"ap\"\n    )\n    print(f\"Join URL (Attendee): {join_url_attendee}\")\n    ```\n\n## Package Structure\n\n- **helpers**: Contains the `Meeting` dataclass for managing meeting-related data.\n- **services**: Includes modules for client, configurations, factory, meetings, and recordings.\n- **utils**: Provides utility classes for URL validation and checksum generation.\n\n## Contributing\n\nContributions are welcome! Please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) file for guidelines.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\nEnhance your virtual collaboration experiences with `sage_bbb` by integrating BigBlueButton’s powerful features into your own applications and automating routine tasks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsageteamorg%2Fpython-sage-bbb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsageteamorg%2Fpython-sage-bbb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsageteamorg%2Fpython-sage-bbb/lists"}