Skip to main content

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

Project description

PMMA logo

PMMA (Python Multi-Media API)

PyPI - Wheel Python 3.8 Python 3.9 Python 3.10 Python 3.11 Windows Linux macOS GitHub commit activity GitHub commits since latest release

PMMA is a Python module targeted at helping you build applications in the Python programming language. It does this by providing its own tools covering areas like 2D graphics, noise generation, audio and video playback, event handling, text rendering and much more. The API has two fundamental goals; to make application development in Python easier, whilst also focusing on improving the performance and efficiency of the end result. The API is also being engineered with compatibility with other python modules, like Pygame, PIL and Numpy and is ideal for prototyping, application development, simulations, graphics intensive tasks and game development.

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 to 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

Note: If your platform is not listed here then you can attempt to build your own version of PMMA using our build guide!

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.

Credits

PMMA is made possible thanks to the following:

C/C++ projects (used in PMMA 5 and newer)

Python projects (used in PMMA 1 and newer)

NONE of the projects mentioned above are owned or maintained by PycraftDeveloper the maker of this repository, who would also like to say a big thank you to all the teams working on these projects!

You can check out our licenses and the licenses of all the C/C++ projects PMMA uses as standard here or on your installed version of PMMA (version 5 or later) under pmma/licenses.

Note: If you spot a problem in our licensing or distribution of third party dependencies please raise the problem as an issue here with the title-prefix: 'LICENSING: ' and we will respond to these problems as soon as possible. Thanks!

About

We have worked on numerous large applications using the Python programming language. Most notably Pycraft which is our flagship project, an OpenGL based game using Python. Every time we write these large projects, we often find ourselves writing the same utility programs - which are small programs that help to eliminate complexity in our larger program files. So we decided to combine all of these utility programs into this project, PMMA which is intended then to make writing these larger applications easier as we don't need to keep re-using the same utility programs. The benefits don't stop there though as we are also ensuring this API is as fast and efficient as possible.

Please note that PMMA is currently in a developmental state, meaning that the API is subject to change - we are hoping to remove this warning and improve backwards compatibility in PMMA 6.

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

pmma-5.0.16.tar.gz (437.2 kB view details)

Uploaded Source

Built Distributions

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

pmma-5.0.16-cp311-cp311-win_amd64.whl (11.4 MB view details)

Uploaded CPython 3.11Windows x86-64

pmma-5.0.16-cp311-cp311-manylinux_2_28_x86_64.whl (14.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pmma-5.0.16-cp310-cp310-win_amd64.whl (11.4 MB view details)

Uploaded CPython 3.10Windows x86-64

pmma-5.0.16-cp310-cp310-manylinux_2_34_x86_64.whl (27.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

pmma-5.0.16-cp310-cp310-manylinux_2_28_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pmma-5.0.16-cp39-cp39-win_amd64.whl (11.4 MB view details)

Uploaded CPython 3.9Windows x86-64

pmma-5.0.16-cp39-cp39-manylinux_2_28_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

pmma-5.0.16-cp38-cp38-win_amd64.whl (11.5 MB view details)

Uploaded CPython 3.8Windows x86-64

pmma-5.0.16-cp38-cp38-manylinux_2_28_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

File details

Details for the file pmma-5.0.16.tar.gz.

File metadata

  • Download URL: pmma-5.0.16.tar.gz
  • Upload date:
  • Size: 437.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for pmma-5.0.16.tar.gz
Algorithm Hash digest
SHA256 582aa236970231a2bcadfd116d39b1585d64d43546e8bc037d2ccac8040245a9
MD5 d1660a32bdfd00bded2ac982675696b8
BLAKE2b-256 254155b359661c771b68c9f8a2203416e0abece3a822fc74f49bde588fff05f3

See more details on using hashes here.

File details

Details for the file pmma-5.0.16-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pmma-5.0.16-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 11.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for pmma-5.0.16-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0780fee058f3f948f3a126defb936250a135e4d5fb49b3163dac8b162635146e
MD5 e704f1d5673297f2eb7e4ebbce2e1c51
BLAKE2b-256 478bf0d09d7b4d986b6de9ba636cb5242cbefbc176603efde3b78734535f92fb

See more details on using hashes here.

File details

Details for the file pmma-5.0.16-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pmma-5.0.16-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1416f24cf63b5beee3668f3c56e8a1308b6b72614264652ed991ff27f702d37f
MD5 8739ccb67531a2afb064fb014ff21366
BLAKE2b-256 40189f4b36a392f88d719f8fd718697c1d9b488fe82dd54f7e7c2bc25cf5db39

See more details on using hashes here.

File details

Details for the file pmma-5.0.16-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pmma-5.0.16-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 11.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for pmma-5.0.16-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 447fb4492fdc95cae3ad4fa8a0b5f7c7a599a7d60fad43c256816a1d7423bb1c
MD5 e0985fd00406f96b95e463ddbbf20d17
BLAKE2b-256 be89ff0f9daf34dc08149f7327d411e5fe8226410b7967ad1e43b918a23ed49d

See more details on using hashes here.

File details

Details for the file pmma-5.0.16-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pmma-5.0.16-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4407d4b53bc268dc736b13b01dd298af09195fe74ea5f5ac36526f3c3ab50f96
MD5 3f2d56c5b9eeb764bd45f60592564ae2
BLAKE2b-256 2eb994a119ad53bbe9e102310ff244ded4ff3fbad8673e4029a896879cafbc4e

See more details on using hashes here.

File details

Details for the file pmma-5.0.16-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pmma-5.0.16-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 17ed2b6ed4836543be162539299022ac98293c9539805392126df3c454ad7113
MD5 92a3edca6a1304d901c69c4fe17934fc
BLAKE2b-256 caa7d37baa2f956ac8a37fca255d97aa26cbe3879745e661cf74a0bf65a86786

See more details on using hashes here.

File details

Details for the file pmma-5.0.16-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pmma-5.0.16-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 11.4 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for pmma-5.0.16-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b35714eed1ef1e2e45979200d944537c8ff930fba60a510f5e43043421c32de4
MD5 cd2b86652f6bbb6bfb6237315425f863
BLAKE2b-256 93bf91c72efc809857add4e0c74073b14d9deb2a6f9d002063a315ee134df008

See more details on using hashes here.

File details

Details for the file pmma-5.0.16-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pmma-5.0.16-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 06ef0a4dbcefb660eae838840a298c8ec38899c299bdcde0dad2465095313206
MD5 bc057dd8ce1d5e4f4fd3a2b6f8b1c256
BLAKE2b-256 8c8bbab89e4b1903fd9c44f47165b29f2e2c3249b3850902a6b1e39c2134568f

See more details on using hashes here.

File details

Details for the file pmma-5.0.16-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pmma-5.0.16-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 11.5 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for pmma-5.0.16-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 fa5c147719cfe241b82a10c6cba0cf3a0abb5ad72656f7c0dcc9d5bcf0cbe1ba
MD5 15bdc36663d40b92c2edfd0ab00cc03f
BLAKE2b-256 d0da6ff0dfd1576a0ae1a16bb05e7ab603243a65947c4fa3e058da04f369a420

See more details on using hashes here.

File details

Details for the file pmma-5.0.16-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pmma-5.0.16-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e26e08182ea01ffc66da376a37c4e61a50489105efda5bd472aebd5514ed345b
MD5 b9c60903f1ec3f6e98eb4c2dc446a2c0
BLAKE2b-256 2275030ddb17163afb278d3da994fe34210e7cac1fea00a8d61f7b6d823f260d

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