Familiar
Dudu uses Python's syntax and type inference while keeping static types, native data layouts, and predictable compiled behavior.
Write like Python, run like C++.
Use Python's familiar syntax with static types and native performance. Dudu compiles to readable C++ and works directly with existing C and C++ libraries.
Dudu uses Python's syntax and type inference while keeping static types, native data layouts, and predictable compiled behavior.
Import C and C++ headers directly. Use existing libraries, CMake projects, debuggers, profilers, and platform APIs.
Dudu compiles to ordinary C++20. Generated code is available for inspection and works with existing native tools.
Language
Dudu keeps the source compact while preserving native types and ordinary control flow. The compiler emits readable C++20 and hands serious project builds to CMake.
from c import raylib.h
class Player:
hp: i32
pos: Vec2
def main() -> i32:
player = Player(hp=100, pos=Vec2(400.0, 300.0))
InitWindow(800, 600, "dudu")
while not WindowShouldClose():
BeginDrawing()
DrawCircle(player.pos.x, player.pos.y, 40.0, BROWN)
EndDrawing()
CloseWindow()
return 0

Projects
The compiler is exercised through real projects using SDL3, raylib, ImGui, glm, SQLite, the C and C++ standard libraries, and generated multi-module CMake builds.