Pyglet is a library for the Python programming language that provides an object-oriented application programming interface for the creation of games and other multimedia applications. pyglet runs on Microsoft Windows, macOS, and Linux; it is released under the BSD Licence. pyglet was first created by Alex Holkner.

Features Pyglet is written entirely in Python. Images, video, and sound files in a range of formats can be done natively but can also be expanded with the libav and ffmpeg libraries. It requires no external dependencies.

Text display and formatting

Rich text formatting (bold, italic, underline, color change, background color, indent, lists) (pyglet.text.formats) Built-in layouts to support editable text Carets (pyglet.text.caret.Caret) HTML support (pyglet.text.layout.IncrementalTextLayout)

Image and sprite work

Fast image processing and rendering Built-in sprites (pyglet.sprite) Animated images (*.gif)

Graphics

OpenGL shaders supported Simple built-in shapes (rectangles, circles, triangles) (pyglet.shapes) Batched rendering (pyglet.graphics.Batch) 3D model rendering

Events and file system

Resource management (pyglet.resource) Clock for processing events and time (pyglet.clock.Clock) Window events (pyglet.window.Window) Event dispatching (pyglet.event.EventDispatcher) Context management Sprites, text layouts, and text functions are implemented. Multi-level lists are supported and can be created using HTML. Different sections of the displayed document can have distinct styles. A built-in caret provides support for text editing, resembling many features of a UI text input caret.

Example from pyglet.window import Window from pyglet.app import run

window = Window(caption="Hello world!", width=640, height=480)

run()In this example, lines 1-2 import the pyglet module's necessary components. Line 4 creates a window, and line 6 calls pyglet to run its event loop. Optionally an update rate (in frames per second) can be specified in a rate parameter. See also

Pygame, another Python game API, a layer over Simple DirectMedia Layer Kivy (framework), a Python OpenGL-based UI for multitouch interactions Cocos2d Panda3D

References

External links

Official documentation AVbin, the wrapper for libav