
Security News
ESLint Adds Official Support for Linting HTML
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
pyglet is a cross-platform windowing and multimedia library for Python, intended for developing games and other visually rich applications. It supports Windowing, input event handling, Controllers & Joysticks, OpenGL graphics, loading images and videos, and playing sounds and music. pyglet works on Windows, OS X and Linux.
:exclamation: :exclamation: A major pyglet update has just been released (v2.1). This brings many new exciting features, but also some necessary breaking changes. If your game/application has suddenly stopped working, please read the migration section in the documentation The previous version of pyglet is tracked in the
pyglet-2.0-maintenance
branch. If you want to do a pull request for the previous release, please target the appropriate branch.
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 features of pyglet are:
pyglet runs under Python 3.8+. Being written in pure Python, it also works on other Python interpreters such as PyPy. Supported platforms are:
As of pyglet 2.0, OpenGL 3.3+ is required.
To play a large variety of compressed audio and video files, pyglet can optionally take advantage of FFmpeg.
pyglet is installable from PyPI:
pip install --upgrade --user pyglet
If you're reading this README
from a source distribution, you can install pyglet with:
pip install --upgrade --user .
# or
python setup.py install --user
You can also install the latest development version directly from Github:
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 PYTHONPATH
and 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 wish to make large changes to any part of pyglet, it's always a good idea to reach out for feedback first. This can avoid wasted effort in cases where someone is already working on something similar, or if your idea can't be accepted for any reason.
A basic outline of how to a contribution is as follows:
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.
To get started quickly:
pip install -r doc/requirements.txt
python make.py docs
Please check Documentation and Type Hints guide to learn more.
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 discord server, or subreddit.
For legal issues, please contact Alex Holkner.
FAQs
pyglet is a cross-platform games and multimedia package.
We found that pyglet demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.