Wikiversity
Contents
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.[1][2] 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
- Pygame, another Python game API, a layer over Simple DirectMedia Layer
- Kivy (framework), a Python OpenGL-based UI for multitouch interactions
- Cocos2d
- Panda3D
References
- ^ Briggs, Anthony (2012-02-12). Hello! Python. Simon and Schuster. ISBN 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.
- ^ Choudhury, Ambika (2020-06-12). "Top Python Frameworks For Game Development". Analytics India Magazine. Retrieved 2024-04-12.
External links
- Official website
- Official documentation
- AVbin, the wrapper for libav