AI News HubLIVE
站内改写3 min read

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.

SourceHacker News AIAuthor: johnnytech

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%