Skip to main content

Mumble library used for multiple uses like making mumble bot.

Project description

PYMUMBLE python library

Description

This library acts as a mumble client, connecting to a murmur server, exchanging states and audio.

The wiki/API explanation is HERE.

Installing/Getting started

Requirements

libopus is a mandatory OS library. Please refer to your package manager to install it.

With pip

  • pip install pymumble_py3
  • You need to import pymumble_py3 as pymumble into your code.

PyPI version Deployement script is available here

With git

  • git clone https://github.com/azlux/pymumble.git
  • pip3 install -r requirements.txt
  • You need to import pymumble.pymumble_py3 as pymumble into your code.
  • It's will be the same if you use a git sub-module

CHANGELOG

The changelog is available on the release note.

Applications list using pymumble

For client application examples, you can check this list :

Features

Currently implemented:

  • Compatible with Mumble 1.3 and normally until 1.2.2
  • Support OPUS. Speex is not supported
  • Receive and send audio, get users and channels status
  • Set properties for users (mute, comments, etc.) and go to a specific channel
  • Callback mechanism to react on server events
  • Manage the blobs (images, long comments, etc.)
  • Can send text messages to user and channel
  • Ping statistics
  • Audio targets (whisper, etc.)

What is missing:

I don't need these features, so if you want one, open an issue and I will work on it.

  • UDP media. Currently it works only in TCP tunneling mode (the standard fallback of Mumble when UDP is not working)
  • Server management (user creation and registration, ACLs, groups, bans, etc.)
  • Positioning is not managed, but it should be easy to add
  • Probably a lot of other small features
  • WONTFIX The Python 2 version is available in the master branch. It's working! But since we have moved on to Python 3, the Python 2 version will not receive future improvements.

Architecture

The library is based on the Mumble object, which a thread. When started, it will try to connect to the server and start exchanging the connection messages. This thread implements a loop which takes care of the pings, sends commands to the server, checks for incoming messages including audio, and checks for audio to be sent out. The rate of this loop is controlled by how long it will wait for an incoming message before continuing.

You can check if the thread is alive with mumble_object.isAlive(). The Mumble thread will stop if it disconnects from the server. This can be useful if you need to restart the thread when using a supervisor.

Thanks

  • @raylu for making pymumble speak into channels
  • @schlarpc for fixes on buffer
  • @Robert904 for the inital pymumble implementation

This library is a fork of a fork of a fork (initial from https://github.com/Robert904/pymumble). But we will try to make pymumble better. So I consider this fork (the @Azlux one) the current live fork of pymumble.

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

pymumble-1.1.tar.gz (28.5 kB view details)

Uploaded Source

Built Distribution

pymumble-1.1-py3-none-any.whl (44.5 kB view details)

Uploaded Python 3

File details

Details for the file pymumble-1.1.tar.gz.

File metadata

  • Download URL: pymumble-1.1.tar.gz
  • Upload date:
  • Size: 28.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3

File hashes

Hashes for pymumble-1.1.tar.gz
Algorithm Hash digest
SHA256 f83c73cbb3d0b17568ea9bdeffaa3631f4ad7ede3c91b5ff48350739a8a426b3
MD5 95b3273118bc6e11097c04635d3ab882
BLAKE2b-256 6f1c25aedb1bab796a8a57af7580657aaed9b0942c894af3aa8571ebc208acd2

See more details on using hashes here.

File details

Details for the file pymumble-1.1-py3-none-any.whl.

File metadata

  • Download URL: pymumble-1.1-py3-none-any.whl
  • Upload date:
  • Size: 44.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3

File hashes

Hashes for pymumble-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 877bc6fe1d5641c913cc3fe89845e0da8aa82b8b8563c641126b2057addaaefc
MD5 2936ae453a923d03e272a25544199e08
BLAKE2b-256 aeda81e0387e6cf7edd13a1016d6a2a2bc1586109ae08971b1b18527bb9a6672

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