pyglet is a cross-platform windowing and multimedia library for Python, for developing games and other visually rich applications.
pyglet is a cross-platform windowing and multimedia library for Python, intended for developing games and other visually rich applications. It supports windowing, user interface event handling, Joysticks, OpenGL graphics, loading images and videos, and playing sounds and music. pyglet works on Windows, OS X and Linux.
NOTE! Thepyglet-1.5-maintenancebranch is the current stable release. Themasterbranch contains the the development code for the upcoming 2.0 release, and may be unstable. If you want to do a pull request, please target thepyglet-1.5-maintenancebranch where appropriate.
Pyglet has an active developer and user community. If you find a bug or a problem with the documentation, please open an issue. Anyone is welcome to join our discord server where a lot of the development discussion is going on. It's also a great place to ask for help.
Some of the features of pyglet are:
Pyglet runs under Python 3.5+. Being written in pure Python, it also works on other Python interpreters such as PyPy. Supported platforms are:
Please note that pyglet v1.5 will likely be the last version to support legacy OpenGL. Future releases of pyglet will be targeting OpenGL 3.3+. Previous releases will remain available for download.
Starting with version 1.4, to play compressed audio and video files, you will also need FFmpeg.
pyglet is installable from PyPI:
pip install --upgrade --user pyglet
If you're reading this
READMEfrom a source distribution, you can install pyglet with:
python setup.py install --user
You can also install the latest development version direct from Github using:
pip install --upgrade --user https://github.com/pyglet/pyglet/archive/master.zip
For local development install pyglet in editable mode:
# with pip pip install -e . # with setup.py python setup.py develop
There are no compilation steps during the installation; if you prefer, you can simply add this directory to your
PYTHONPATHand use pyglet without installing it. You can also copy pyglet directly into your project folder.
A good way to start contributing to a component of pyglet is by its documentation. When studying the code you are going to work with, also read the associated docs. If you don't understand the code with the help of the docs, it is a sign that the docs should be improved.
If you want to contribute to pyglet, we suggest the following:
When making a pull request, check that you have addressed its respective documentation, both within the code docstrings and the programming guide (if applicable). It is very important to all of us that the documentation matches the latest code and vice-versa.
Consequently, an error in the documentation, either because it is hard to understand or because it doesn't match the code, is a bug that deserves to be reported on a ticket.
pip install -r doc/requirements.txt python setup.py build_sphinx
Please check the README.md file in the doc directory for more details.
pyglet makes use of pytest for its test suite.
pip install -r tests/requirements.txt --user # Only run unittests pytest tests/unit
Please check the testing section in the development guide for more information about running and writing tests.
pyglet is developed by many individual volunteers, and there is no central point of contact. If you have a question about developing with pyglet, or you wish to contribute, please join the mailing list or the discord server.
For legal issues, please contact Alex Holkner.