Python Multi-Media API (PMMA) is a multi-purpose API designed to make working on multi-media projects easier and faster!


Keywords
application, audio, cpp, cython, gamedev, graphics, open-source, opengl, python, rendering, video
License
MIT
Install
pip install pmma==5.0.8

Documentation

PMMA logo

PMMA (Python Multi-Media API)

⚠️ This is the DEVELOPMENT version for PMMA 5.0.0 and is NOT meant for routine use yet. ⚠️

PMMA is a Python library aimed at improving application development in Python. Typically, developing applications in Python necessitates familiarity with a variety of different libraries such as Pygame, ModernGL, PIL and Numpy. PMMA aims to simplify the application development process by creating a single interface that provides easy access to simple and advanced pre-written and highly optimised application development utilities, whilst still also allowing these utilities to be expanded upon by exposing their underlying APIs.

Contents

Development Progress

Progress on PMMA v5.0.0

We are currently working on the next major update to PMMA, version 5.x.x. This update features a complete API rework with a significant proportion being re-written in C++ for a significant performance and efficiency improvement. This major update will also introduce all the features lacking from previous iterations of PMMA, including text rendering, aggregated events for text input and improvements to the accuracy and variety of procedural noise generation. If you want to check out our current progress list, you can find it here: Progress on PMMA 5

Installation

You can install the latest version of PMMA from PyPi using the command: `pip install pmma' or you can head over to the website here: PMMA on PyPi tio select a custom version to install.

Requirements

In order to install PMMA 5 and newer, you must ensure you meet the following criteria:

Category Requirement
Operating System Windows, ALT Linux 10+, RHEL 9+, Debian 11+, Fedora 34+, Mageia 8+, Photon OS 3.0 (with updates), Ubuntu 21.04+ Architecture: 64-bit (x64)

MacOS Architecture: arm-64
Python Version 3.8.x, 3.9.x, 3.10.x, 3.11.x
pip Version 20.3 or newer
Additional Technical Requirements

Please note, these requirements are only needed by users installing PMMA onto Linux machines and in most cases the operating systems listed above should be compatible.

  • In order for PMMA to work as expected, you must be using either X-Lib, or Wayland. This means that Ubuntu 21.04 DESKTOP will work, but Ubuntu 21.04 SERVER is unlikely to.
  • Additionally, you will need glibc 2.28 or newer, this can be checked on linux using the command ldd --version (root not required). The result should be on the first line as shown in the image below:

Example output


For older versions of PMMA, there are no hardware requirements.

If you encounter any issues or problems then check out our troubleshooting page.