Package: pyglet
pygletpygletis 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.pygletworks on Windows, OS X and Linux.:exclamation: :exclamation: A major pyglet update has just been released (v2.0). This brings many
new exciting features, but also some necessary breaking changes. If your game/application has suddenly
stopped working, please read themigration section in the documentationThe previous version of pyglet is tracked in thepyglet-1.5-maintenancebranch.If you want to do a pull request for the previous release, please target the appropriate branch.:exclamation:pyglet.graphics.drawandpyglet.graphics.draw_indexedwill be removed
in pyglet v2.1. Theshapesmodule is an alternative for drawing simple shapes.pygletdocumentationpyglet onPyPIpygletdiscordserverpygletmailing listpygletissue trackerpygletwebsitepyglet has an active developer and user community.  If you find a bug or a problem with the documentation,
pleaseopen an issue.
Anyone is welcome to join ourdiscordserver 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:No external dependencies or installation requirements.For most application and game requirements,pygletneeds nothing else besides Python, simplifying distribution and installation. It's easy to package and distribute
your project withNuitkaorPyInstaller.Take advantage of multiple windows and multi-monitor desktops.pygletallows you to use multiple
platform-native windows, and is fully aware of multi-monitor setups for use with fullscreen games.Load images, sound, music and video in almost any format.pygletcan optionally use FFmpeg to play back
audio formats such as MP3, OGG/Vorbis and WMA, and video formats such as MPEG2, H.264, H.265, WMV and Xvid.
Without FFmpeg,pygletcontains built-in support for standard formats such as wav, png, bmp, and others.pyglet is written entirely in pure Python, and makes use of thectypesmodule to interface with system
libraries. You can modify the codebase or make a contribution without any second language compilation steps or
compiler setup. Despite being pure Python,pyglethas excellent performance thanks to advanced batching for
drawing thousands of objects.pyglet is provided under the BSD open-source license, allowing you to use it for both commercial and other
open-source projects with very little restriction.Requirementspyglet runs under Python 3.8+. Being written in pure Python, it also works on other Python interpreters such as PyPy. Supported platforms are:Windows 7 or laterMac OS X 10.3 or laterLinux, with the following libraries (most recent distributions will have
these in a default installation):OpenGL and GLXGDK 2.0+ or Pillow (required for loading images other than PNG and BMP)OpenAL or Pulseaudio (required for playing audio)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 ofFFmpeg.Installationpyglet is installable from PyPI:pip install --upgrade --user pygletInstallation from sourceIf you're reading thisREADMEfrom a source distribution, you can install pyglet with:pip install --upgrade --user .
# or
python setup.py install --userYou can also install the latest development version directly from Github:pip install --upgrade --user https://github.com/pyglet/pyglet/archive/master.zipFor local development install pyglet in editable mode:# with pippipinstall-e.# with setup.pypythonsetup.pydevelopThere are no compilation steps during the installation; if you prefer,
you can simply add this directory to yourPYTHONPATHand use pyglet without
installing it. You can also copy pyglet directly into your project folder.ContributingA 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:Fork theofficial repository.In your fork, checkout the branch you wish to contribute to (such aspyglet-1.5-maintenance).Apply your changes to your fork.Submit apull requestdescribing the changes you have made.Alternatively you can create a patch and submit it to the issue tracker.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.Building Docspip install -r doc/requirements.txt
python setup.py build_sphinxPlease checkthe README.md file in the doc directoryfor more details.Testingpyglet makes use of pytest for its test suite.pipinstall-rtests/requirements.txt--user# Only run unittestspytesttests/unitPlease check thetesting section in the development guidefor more information about running and writing tests.Contactpyglet 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 themailing list,discordserver, orsubreddit.For legal issues, please contactAlex Holkner.