Luma
Luma Engine is a lightweight Python game engine powered by SDL3
Installation
python -m pip install luma-engine
Quick Start
Create a file named main.py:
from luma import Luma
engine = Luma()
engine.create_window("Luma", 640, 480)
graphics = engine.Graphics
@engine.draw
def draw():
graphics.setDrawColor(40, 120, 220)
graphics.drawRect(220, 160, 200, 120)
graphics.resetDrawColor()
@engine.update
def update(dt):
# Update game state here. dt is elapsed time in seconds.
pass
@engine.on(Luma.EVENTS.KEYPRESS)
def on_key_press(key):
if key == Luma.Keyboard.SPACE:
print("Space pressed")
engine.run()
Run it with:
python main.py
Examples
The repository includes complete examples in the examples directory, including a font demo and a Pong game:
python examples/font.py
python examples/pong.py
Docs
Documentation is available here
Requirements
- Python 3.10 or newer
- An SDL3-compatible system
License
Luma Engine is released under the MIT License.
Release files for luma-engine 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| luma_engine-0.2.0.tar.gz | 5.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| luma_engine-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.9 MB
Release files / luma_engine-0.2.0.tar.gz
| Download URL | luma_engine-0.2.0.tar.gz |
|---|---|
| Size | 5.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
57f70e03dd3a7040c5beb2dc06b64ea22cdf108904eb2549c7d8daf97486949f
|
|
BLAKE2b-256 checksum How to use checksums |
7d97b580d417e9d8359601cda26657a44c50c0f265055ba113466a3ecbf8cbf6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|
Release files / luma_engine-0.2.0-py3-none-any.whl
| Download URL | luma_engine-0.2.0-py3-none-any.whl |
|---|---|
| Size | 5.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f7c802d694e7ade9c06a621c6b4dfe59fa151f6f5d61b27592c717364e5feaaf
|
|
BLAKE2b-256 checksum How to use checksums |
6b9832d472a977f1d730aa5e897d71d489018de47a8884ace4459aabbe366ef9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|