Skip to content

Welcome

A lightweight ECS game engine for Python

Build a playable 2D game with familiar Python, a data-oriented ECS, Raylib-powered graphics, input, audio, and optional Dear ImGui tools.

The Arepy quickstart running a bunny scene in a desktop window
The quickstart uses the included bunny texture, movement systems, and live input.

Start with something you can see

The documentation follows the way a game grows: open a window, draw a sprite, move it, respond to input, add sound, and then organize the project for performance and shipping. Each guide explains the idea first, then shows the code that makes it useful.

  • New to Arepy?


    Install the package and build the bunny scene one small step at a time.

    Follow the learning path

  • New to ECS?


    Learn what entities, components, systems, worlds, and queries mean in a running game.

    Learn the core concepts

  • Working on performance?


    See how pools, recycled entity slots, Query, and BatchQuery reduce work in the frame loop.

    Read the performance guide

  • Ready to share a build?


    Package a project and understand which optional tools belong in a release workflow.

    Build and ship

What Arepy gives you

  • A World that owns entities, component storage, resources, and systems.
  • Plain Python components and systems that keep gameplay code readable.
  • Typed Query filters and array-oriented BatchQuery access for different workloads.
  • Graphics, keyboard, mouse, gamepad, audio, timers, animation, and optional ImGui tools.
  • Reusable gameplay components such as transforms, sprites, and 2D rigid bodies.
  • A build command for turning a project into something other people can run.

Arepy is designed for Python 3.11 through 3.14. When you need exact signatures, the public API reference sits alongside the task-oriented guides instead of replacing them.