Welcome to the website of the pyglet project!


The cross-platform windowing and multimedia library for Python.

pyglet is a powerful, yet easy to use Python library for developing games and other visually-rich applications on Windows, Mac OS X and Linux. It supports windowing, user interface event handling, Joysticks, OpenGL graphics, loading images and videos, and playing sounds and music. All of this with a friendly Pythonic API, that's simple to learn and doesn't get in your way.

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.

Read the documentation at and visit us on:


No external dependencies

No external dependencies or installation requirements. For most application and game requirements, pyglet needs nothing else besides Python, simplifying distribution and installation. This makes it easy to package your project with freezers such as PyInstaller.

Flexible native windowing

pyglet provides real platform native windows, allowing you to take advantage of multiple windows and multi-monitor desktops. Fully aware of multi-monitor setups, you have control over how your application or game is displayed. Create multiple floating windows, or single windows with control over which monitor they appear on, full screen or windowed.

Built-in support for images and audio

pyglet contains built-in support for standard formats such as wav, png, bmp, dds, and others. If that's not sufficient, pyglet can optionally use FFmpeg to play back audio formats such as MP3, OGG/Vorbis and WMA, and video formats such as MPEG-2, H.264, WMV, or anything else that FFmpeg supports.

Written in pure Python

pyglet is written entirely in pure Python, and makes use of the standard library ctypes module to interface with system libraries. You can modify the codebase or make a contribution without any compilation steps, or knowledge of another language. Despite being pure Python, pyglet has excellent performance thanks to advanced batching and GPU rendering. You can easily draw thousands of sprites or animations.