Building an executable
ecko build app.ecko # -> ./app
ecko build app.ecko -o server # choose the name
Produces a single self-contained executable: the interpreter and your program in one file, with no Ecko installation required on the target.
What ends up inside
Your program, the modules it imports, its vendor/ tree, and the runtime. The standard library is already part of the binary, so a program that serves HTTP and queries SQLite has no external dependency to install.
What it is for
Handing someone a tool. A colleague, a container, a machine you do not control: one file, chmod +x, run. No language to install, no version to match, no pip install step that fails in six months.
What it is not
Not a compiler to native code. The program is still interpreted by the bundled runtime, so ecko build changes distribution, not performance. A program does not get faster by being built.
Not a cross-compiler either. The output runs on the platform you built it on. Build on Linux for Linux, on macOS for macOS - which for CI means a job per target.
Size
The runtime is the floor, so a five-line program and a five-thousand-line program produce executables of similar size. If size matters more than convenience, ship the script and install ecko once.
Containers
For a server, a container is usually the better unit than a bare executable - same self-containment, plus the surrounding environment. See Docker.