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.3
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
- Free and open-source software portal
- Video games portal
- Pygame, another Python game API, a layer over Simple DirectMedia Layer
- Kivy (framework), a Python OpenGL-based UI for multitouch interactions
- Cocos2d
- Panda3D
External links
- Official website
- Official documentation
- AVbin, the wrapper for libav
References
Briggs, Anthony (2012-02-12). Hello! Python. Simon and Schuster. ISBN 978-1-63835-152-8. 978-1-63835-152-8 ↩
Paz, Alejandro Rodas de; Howse, Joseph (2015-09-28). Python Game Programming By Example. Packt Publishing Ltd. ISBN 978-1-78528-391-8. 978-1-78528-391-8 ↩
Choudhury, Ambika (2020-06-12). "Top Python Frameworks For Game Development". Analytics India Magazine. Retrieved 2024-04-12. https://analyticsindiamag.com/top-9-python-frameworks-for-game-development/ ↩