Skip to main content

A GPU-accelerated 2D game engine for Python with camera, drawing and packaging helpers.

Project description

PyBitEngine ⚡

Documentation License Python

A GPU-accelerated 2D game engine for Python, built on SDL2, ModernGL, NumPy and Numba.

PyBitEngine helps developers draw thousands of 2D objects efficiently while keeping the API simple. It uses instanced GPU rendering, texture atlases, and Numba kernels to reduce runtime overhead.


📦 Version: 0.1.0

This release focuses on packaging readiness and runtime performance.

What is new in 0.1.0

  • Added a standalone packaging helper via pack() for exporting games with cx_Freeze.
  • Bundles runtime files and license notices into the output folder.
  • Improved public imports so from PyBitEngine import * works cleanly.
  • Reduced overhead in font resolution and text layout paths.
  • Tightened frame pacing to avoid unnecessary CPU/GPU saturation.

✨ Highlights

  • Instanced GPU rendering for rectangles, lines, triangles, ellipses and sprites.
  • Texture atlas packing with MaxRects allocation.
  • 2D camera support with CPU and GPU-backed variants.
  • Font rendering for TTF/OTF files with caching.
  • SDL2 input handling for keyboard, mouse, drag and wheel events.
  • Geometry helpers for points, rectangles, triangles, ellipses, circles and OBB collision checks.

🚀 Installation

pip install pybitengine

🧪 Quick usage

from PyBitEngine import WINDOW

window = WINDOW(title="PyBitEngine", geometry=("center", "center", 800, 600))
window.Loop()

📦 Packaging a game

from PyBitEngine import pack

pack("main.py", name="MyGame", output_dir="dist")

📝 Notes

PyBitEngine is still evolving, but the core rendering and packaging APIs are now more stable and more suitable for real projects.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pybitengine-0.1.0.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pybitengine-0.1.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file pybitengine-0.1.0.tar.gz.

File metadata

  • Download URL: pybitengine-0.1.0.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for pybitengine-0.1.0.tar.gz
Algorithm Hash digest
SHA256 69fe63baa1dc72d450911ccf2faf0104676ba55a29bd6836082cb58c9fce5f76
MD5 7b6e2f83cc157a8541f5eb70713e62b3
BLAKE2b-256 fb47d8daa5ae2308c90bce9d60ff63d1147092ea093db4ce4946869b17740502

See more details on using hashes here.

File details

Details for the file pybitengine-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pybitengine-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for pybitengine-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e1872ffb789408f146cc449be29b544d90d6fe42e76bf42a5f388c6181c0c10b
MD5 c8ea92f7d6d0e53bbb92d26e14b2c420
BLAKE2b-256 f4382ef7e9a452c9a2c359d4ccf6cc92c633a2cec8d9e4f86bab21757923a9dc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page