This release is a pre-release and may not be stable for production use.
SimVX
A Python game engine for 2D and 3D: scenes are plain Python, rendering is Vulkan, games export to the browser.
Pre-alpha. SimVX publishes development releases only (
0.0.0.devN) and is under active development; the API changes between builds. Once stable versions ship to PyPI, development builds continue on pypi.simvx.com.
Install
You need Python 3.14+ and a GPU driver with Vulkan 1.2+.
pip install --pre simvx
pip install --pre simvx --extra-index-url https://pypi.simvx.com/ # or the latest development build
From source: git clone https://git.simvx.com/simvx/simvx.git && cd simvx && uv sync, then run
commands through uv run (building from source).
Linux x86_64 is tested; Linux aarch64, Windows and macOS builds are untested. The
install guide covers GPU drivers, platforms and glslc for your own shaders.
A first program
import math
from simvx.core import Camera3D, Material, Mesh, MeshInstance3D, Node
from simvx.graphics import App
class MyGame(Node):
def on_ready(self):
self.add_child(Camera3D(position=(0, 5, 10), look_at=(0, 0, 0)))
self.cube = self.add_child(
MeshInstance3D(mesh=Mesh.box(), material=Material(colour=(1.0, 0.2, 0.2, 1.0)))
)
def on_update(self, dt):
self.cube.rotate((0, 1, 0), math.radians(90) * dt)
if __name__ == "__main__":
App(title="My Game").run(MyGame())
Save it as my_game.py and run python my_game.py: a window opens with a red cube spinning.
For the example library, pip install --pre "simvx[examples]", then simvx examples run demos_asteroids2d;
simvx examples copy <id> --to <dir> copies one into a directory you own to start from.
simvx editor opens the visual editor.
Features
- Scenes are Python files. Diff, review and test them like any other code; the editor reads and writes them as Python.
- One language, one toolchain. No scripting bridge: pdb, pytest and mypy work on your game.
- One API for 2D, 3D and UI. The visual editor and IDE are built on the same widgets you use.
- Browser export.
simvx export web my_game.pywrites a static WebGPU page. - GPU-driven Vulkan renderer with PBR, shadows, SSAO, bloom and post-processing.
- Batteries included: physics, audio, animation, tilemaps, navigation and a headless test harness.
Links
Documentation · Examples gallery · Issues · Contributing · Changelog
Licence
| You want to | Licence | Cost | Your obligation |
|---|---|---|---|
| Open-source your game | AGPL-3.0-or-later | Free | License your game under the AGPL; keep the NOTICE |
| Ship a game under any licence, closed-source included | Game-Distribution Exception | Free | Show the "Made with SimVX" splash or watermark |
| Use the engine outside those terms | Commercial licence | Separate terms | Write to licensing@simvx.com |
The features, tutorials and demos examples are MIT; each port under examples/ports/ carries its own
licence, the editor sample projects follow the engine's, and bundled third-party assets keep theirs
(examples licence). Documentation
prose is CC-BY-4.0 and its code snippets MIT (details).
"SimVX" is a trademark. Contributions are accepted under the CLA. © 2026 Gabriel Bouffard.
Metadata
Release files for SimVX 0.0.0.dev3104
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| simvx-0.0.0.dev3104.tar.gz | 29.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simvx-0.0.0.dev3104-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.7 kB
Release files / simvx-0.0.0.dev3104.tar.gz
| Download URL | simvx-0.0.0.dev3104.tar.gz |
|---|---|
| Size | 29.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5e22e114becfc7ecb37dc4bb68e91a4a14038648ab910b9138f0cc75af986e29
|
|
BLAKE2b-256 checksum How to use checksums |
b98fcf4059f3727ea3a1c47e8f75bc980c87186611dcacecb9ba9c11e74958a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / simvx-0.0.0.dev3104-py3-none-any.whl
| Download URL | simvx-0.0.0.dev3104-py3-none-any.whl |
|---|---|
| Size | 27.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3a0b8c5d44531e96301769b18f81edd03d1bea5457ead80e413674dff8db686f
|
|
BLAKE2b-256 checksum How to use checksums |
a8aaf0367992966c39e1d121d12282605fc0e7bf4a23153741405f5ea0ff6579
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|