Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

SimVX: a Python game engine

Licence AGPL-3.0-or-later, Python 3.14+, latest development build

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.

SimVX development roadmap, marking the stage the project has reached

Clips of games and the editor, each recorded live in SimVX

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.py writes 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.

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)

Source distribution for SimVX 0.0.0.dev3104
File Size Uploaded
simvx-0.0.0.dev3104.tar.gz 29.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for SimVX 0.0.0.dev3104
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page