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!

Reason this release was yanked:

Forgot to pull GitLFS files

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.15.tar.gz (437.1 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.15-cp311-cp311-win_amd64.whl (11.0 MB view details)

Uploaded CPython 3.11Windows x86-64

pmma-5.0.15-cp311-cp311-manylinux_2_28_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pmma-5.0.15-cp310-cp310-win_amd64.whl (11.0 MB view details)

Uploaded CPython 3.10Windows x86-64

pmma-5.0.15-cp310-cp310-manylinux_2_28_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pmma-5.0.15-cp39-cp39-win_amd64.whl (11.0 MB view details)

Uploaded CPython 3.9Windows x86-64

pmma-5.0.15-cp39-cp39-manylinux_2_28_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

pmma-5.0.15-cp38-cp38-win_amd64.whl (11.1 MB view details)

Uploaded CPython 3.8Windows x86-64

pmma-5.0.15-cp38-cp38-manylinux_2_28_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

File details

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

File metadata

  • Download URL: pmma-5.0.15.tar.gz
  • Upload date:
  • Size: 437.1 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.15.tar.gz
Algorithm Hash digest
SHA256 e01721ffad41baa64b3e218ac5f662203b2fb2b3088ef07f6bc469342b0844a8
MD5 34c9e07245a0a12feec3bdf12efd25c0
BLAKE2b-256 3be771f7f84cb99a4e946492e949609d13fc17ab8259960fd10aab350ae237aa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmma-5.0.15-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 11.0 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.15-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ce022169bce7e25c76698e0d37f3bc9f0930c0996478d5fb46b7bca3263fcf8e
MD5 e1fe2d2dc7a7809a735cb9b585ddac71
BLAKE2b-256 49f0a93f9b0d96db0e3c1f76c7b7790a9968d10c25d462da57ba81be7370377e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmma-5.0.15-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 68fd8d5363cde926243c9ca7f6f1cd02c9320845c5ed366d73577d36524a1d26
MD5 2df9677c12f159ac86f0314ad848ba7e
BLAKE2b-256 f777cdd848bb26afa8d3fc895f5abbd5905f11c0c4f20788ad2593f53a7f7ce9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmma-5.0.15-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 11.0 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.15-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f822b79a584b39a409a8aa554ebfe0393e7989ba26707b6243548714446c1a2b
MD5 2bb6224956201d0c77d8b816cb08637f
BLAKE2b-256 4fffc13219518ed673fcb330ff596ec759c564bb5244e4ff71115f2803770663

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmma-5.0.15-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fa98829d350a1acdabf99c38c9e4106975b7c3efa9815e3ac476e69a2d1dfc61
MD5 506d0e96b0f17db718cb2b5e10a71a55
BLAKE2b-256 15ce4fe8c97035b7d1b570aaa0a45a68f992c8adb3fa49cc69b4e6efb8d846cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmma-5.0.15-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 11.0 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.15-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 34e5905be3b031feb13e9ea87da366848805ff773e446c739c7fac6d89dbf587
MD5 6097c73e9572fff1253731d5a88e3de6
BLAKE2b-256 39d6498553a3b73ef2de5fe220046d2d50e402903f05775ff7bab25fce15d387

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmma-5.0.15-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3d1dfa739795ddb7a81ecdfef30394418ad26e2d98fe6b93df72f2d3d608261a
MD5 96f41bd49f67c4e6843b6770de841e62
BLAKE2b-256 6176de0ee13bc3b3fc3a222adfdc823ba221fc1171e5f132413cd29bf7368003

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmma-5.0.15-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 11.1 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.15-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7ea5eb1ece320d4a46789bb9c04b87a3f55dbeaf50b55c74becf74c35beeb3db
MD5 c545ccabd68647ea0383f314c2a63068
BLAKE2b-256 5fc2d4235de4753af60fb198e9177ca14f841910beb838e412d9cc3d6bdc64b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmma-5.0.15-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 899d6f3a700f4a9b5674346a8ab72c1a824c806dbde7c869e72d571ede8e3733
MD5 89ffc5cb2d3d0a368779ca8a57cbab0a
BLAKE2b-256 6f2b55aa69bb11a0321424549adac757ad2d69e6c5339e49d3cc7f4235563f47

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