Paralox3D
A performance-first Python 3D engine designed from the ground up for desktop and mobile.
API philosophy
Paralox3D should feel like writing a game, not manually operating an engine.
- Automatic/default engine context.
- No mandatory Engine object for simple games.
- Built-in transform properties: x, y, z, position, rotation, scale.
- Simple components.
- QoL-first input helpers.
- First-class Scenes for storing and loading levels.
- Native C++ core for performance-critical work.
- No lighting system in this milestone.
Example
from paralox3d import *
cube = Object("cube", position=(0, 0, -5))
def update():
cube.x += 0.5 * dt
start()
Scenes
Scenes are first-class levels. They are intended to replace repeatedly rebuilding large worlds in Python files.
from paralox3d import *
scene = Scene("Level1")
scene.create("cube", position=(0, 0, -5))
scene.create("cube", position=(2, 0, -5))
scene.save("scenes/Level1.scene")
Later:
scene = Scene.load("scenes/Level1.scene")
The current scene format is readable JSON, making it easy to inspect and version-control. The public Scene API is deliberately independent of the file format.
Architecture
Python game code
│
▼
Paralox3D Python API
│
▼
C ABI boundary
│
▼
Native C++ engine
│
├── Scene / entities
├── Transforms
├── visibility / culling
└── renderer backends
├── Desktop
├── Android
└── iOS / Metal
Lighting is deliberately postponed. When it is introduced, it must be designed for low overhead and older hardware rather than assuming expensive directional lighting is acceptable.
Native builds
The native core is built without CMake.
For a source checkout:
python -m paralox3d build
The build system currently supports Windows, Linux, and macOS native targets. Android and iOS targets are reserved for future platform toolchains.
When building a wheel for distribution, the native library is built and bundled into the wheel.
Status
🚧 Early development — API and native core are being built together.
License
MIT
Release files for paralox3d 0.1.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 | |
|---|---|---|---|
| paralox3d-0.1.0.tar.gz | 1.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| paralox3d-0.1.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
Total release size: 2.3 MB
Release files / paralox3d-0.1.0.tar.gz
| Download URL | paralox3d-0.1.0.tar.gz |
|---|---|
| Size | 1.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ac3b3ec2a785f08965ffe9aad0e5b52d337cef8303901476a103cd436746f7fd
|
|
BLAKE2b-256 checksum How to use checksums |
640c943dde8a85cb7870b79630fd5259dfc555c30357f0448008a0d2c208e55d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / paralox3d-0.1.0-py3-none-win_amd64.whl
| Download URL | paralox3d-0.1.0-py3-none-win_amd64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
dcf919813b7327856995eda3cf61aa80d0bbe72a37036e663587cd2c641601af
|
|
BLAKE2b-256 checksum How to use checksums |
fa6eadb97fd1f71a97ac04799aa0703c2f72e91cffbb215e5ebdbe5d49e20082
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|