Show HN: Transpilatron – an AI tool that converts Python code into C binaries
Transpilatron is an AI-powered tool that converts Python projects to C and compiles them into native binaries without a runtime. It achieves significant speedups (up to 58x) and supports popular libraries, offering static and dynamic linking modes.
Notifications You must be signed in to change notification settings
Fork 0
Star 1
BranchesTags
Open more actions menu
Folders and files
NameName
Last commit message
Last commit date
Latest commit
History
5 Commits
5 Commits
examples
examples
src/transpilatron
src/transpilatron
.gitignore
.gitignore
.python-version
.python-version
README.md
README.md
pyproject.toml
pyproject.toml
test_transpile.py
test_transpile.py
uv.lock
uv.lock
Repository files navigation
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.
Reads your Python entry file and follows all imports
Transpiles the full project to C
Writes a Makefile and compiles (static linking for minimal, dynamic for usual)
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 (usual) — 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/. That's it.
What it handles
Pure Python logic → idiomatic C
HTTP (requests, urllib3) → raw BSD sockets (minimal) or libcurl (usual)
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 (usual only)
torch / tensorflow → libtorch / TFLite C API (usual 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
usual ✓ 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.
About
AI agent that transpiles Python to static C binaries. No runtime, no interpreter, no dependencies.
Topics
python
c
linux
toolchain
ai
transpiler
compilers
initramfs
static-binary
uv
poolside
llm
Resources
Readme
Uh oh!
There was an error while loading. Please reload this page.
Activity
Custom properties
Stars
1 star
Watchers
0 watching
Forks
0 forks
Report repository
Releases
No releases published
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
Python 100.0%