Make Python Fast in 60 Seconds
Eä is a compute kernel compiler. You write small, focused compute functions — Eä compiles them to native code and gives you Python functions that take NumPy arrays.
No C. No Cython. No Numba JIT warmup. Just fast code.
The pitch
pip install ea-compiler
Write a kernel (scale.ea):
export func scale(src: *f32, dst: *mut f32, factor: f32, n: i32) {
let mut i: i32 = 0
while i < n {
dst[i] = src[i] * factor
i = i + 1
}
}
Call it from Python:
import ea
import numpy as np
kernel = ea.load("scale.ea")
src = np.random.randn(1_000_000).astype(np.float32)
dst = np.empty_like(src)
kernel.scale(src, dst, factor=2.0)
That's it. ea.load() compiles your kernel to a native shared library, caches it, and gives you a callable Python function. No Rust, no LLVM, no build step — just pip install and go.
What makes Eä different?
- Explicit SIMD. You control the vector width. No auto-vectorization guessing.
- No runtime. Compiles to plain
.so/.dllfiles. Zero overhead beyond function call. - No magic. If your code looks like it processes 8 floats at a time, it does. No silent scalar fallback.
- Instant bindings. Python, Rust, C++, PyTorch — generated from one source.