GitHub - NoodlixProject/transpilatron: AI agent that transpiles Python to static C binaries. No runtime, no interpreter, no dependencies.

4 min read Original article ↗

Write Python. Get a native C binary. No C knowledge required.

uvx transpilatron your_code.py

Benchmarks

Benchmark Python C Speedup
Sieve of Eratosthenes (10M numbers) 0.526s 0.022s 24x
Selection sort (10K elements) 1.963s 0.033s 58x

Verified on the same machine. Same output. Fully static binaries.

Benchmarker's PC:

CPU: Ryzen 5 5500

Python 3.14

Zorin OS 18

How it works

transpilatron uses an AI agent to convert your Python project into C, compiles it (using -O2 or -O3 flags), and hands you a native binary. No runtime, no interpreter, no dependencies.

  1. Reads your Python entry file and follows all imports
  2. Transpiles the full project to C
  3. Writes a Makefile and compiles (static for --minimal, dynamic for --full)
  4. Drops the binary in out/

Requirements

Tool Why
uv Run transpilatron instantly with uvx

Note: You only need uv on your host machine. The AI agent automatically detects, installs, and configures all other development and verification dependencies (like C compilers, make, valgrind, and system headers) inside the build environment.

Install

# Run without installing
uvx transpilatron your_code.py

# Or install globally
uv tool install transpilatron

On first run, the tool installs its dependencies and asks you to authenticate with poolside.

Usage

# Default mode (full) — dynamic linking, libcurl, torch/tflite, web frameworks
uvx transpilatron your_code.py

# Minimal mode — fully static, raw sockets, no torch/tflite
uvx transpilatron --minimal your_code.py

The binary lands at out/<your_code>. That's it.

What it handles

  • Pure Python logic → idiomatic C
  • HTTP (requests, urllib3) → raw BSD sockets (--minimal) or libcurl (--full)
  • JSON → cJSON
  • Threading → pthreads
  • File I/O → POSIX syscalls
  • Multi-file projects → one binary
  • Detects and fixes common Python bugs during transpilation
  • Supports many major Python libraries with C extensions by using their C backends or alternatives
  • The system attempts to translate pure Python libraries as well
  • Web frameworks (flask, fastapi, django) → libmicrohttpd (--full only)
  • torch / tensorflow → libtorch / TFLite C API (--full only)

Modes

Mode Default Linking HTTP torch/tensorflow Web Frameworks Best for
minimal Static only Raw BSD sockets Aborts with error Not supported Zero-dependency binaries for initramfs, scratch containers, embedded
full Dynamic permitted libcurl libtorch / TFLite C API libmicrohttpd General use, speed + versatility

Limitations

  • Linux and macOS only
  • torch / tensorflow not supported under minimal mode
  • Some dynamic Python patterns (metaclasses, heavy monkey-patching) may not translate cleanly

Examples

examples/
├── sieve.py      # Prime number sieve — 24x speedup
└── sort.py       # Selection sort — 58x speedup

Comparison

While tools like Nuitka and PyInstaller package the CPython interpreter (and its dynamic standard libraries) to guarantee compatibility, transpilatron completely strips the CPython runtime. By translating Python logic into pure, dependency-free C, it allows you to build single, fully static binaries that run in environments with zero external libraries.

Tool Approach CPython Runtime Dependency? Fully Static Binaries? Output Size Ideal For
transpilatron Source-to-source C translation via LLM No Yes < 1MB CLI tools, microservices, serverless, initramfs, scratch containers, embedded
Nuitka Translates Python to C calling CPython APIs Yes No ~30MB+ Maximum CPython compatibility
PyInstaller Bundles Python interpreter + .pyc files Yes No ~30MB - 100MB+ Desktop app distribution
Cython Compiles Python/Cython to extension modules Yes No N/A Accelerating Python code
PyPy Alternative JIT interpreter Yes No N/A Long-running server workloads

Why uv?

uv is the fastest Python package manager on the planet. uvx lets you run any Python tool instantly without installing it. If you're not using uv yet, you should be.


transpilatron was originally created to compile standalone initramfs boot scripts for Noodlix, a Python-only operating system — but works for many Python applications.

minimal mode outputs fully static binaries. Runs even in initramfs. No dynamic linker required.