Releases: olivierdevelops/molt-python
Releases · olivierdevelops/molt-python
molt v0.2.0
Transport Glue — call Go/Rust functions from Python over IPC
The biggest new feature: declare [[tool.molt.glue]] blocks in your project config and
molt sync auto-generates a typed Python module that calls your Go or Rust code through
a zero-configuration IPC server. No .so, no cgo, no ABI constraints — any type that
survives JSON round-trip works.
- Go support — local packages (
src = "./mylib"), Go stdlib (src = "crypto/sha256"),
and third-party modules (src = "golang.org/x/crypto/sha3"). Third-party:go getruns
automatically. Stdlib: clean go.mod, no require entries needed. - Rust support — thin adapter
.rsfile (src = "compress_glue.rs") included directly
into the generated server viainclude!. Extra crates added to the generatedCargo.toml
viacrates = [...]. - Three transports:
stdio(subprocess per Python process, default),unix_socket
(persistent daemon, concurrent threads),tcp(network-addressable daemon). - Type system:
i32/i64/f32/f64/bool/string/bytes/[]i32/[]f64/[]string/json— full
bidirectional mapping between Go, Rust, Python, and JSON wire format.bytesargs/returns
are base64-encoded on the wire, transparent in Python. - Python shim fix: re-writes
python/python3shims after glue build so the glue
directory is included in the hardcodedPYTHONPATHinside the shim. - Typed stubs:
.pyifiles generated alongside.pyclients for full IDE completion. - Glue driver system:
~/.molt/glue-drivers.yamlfor custom language drivers; built-in
drivers for Go and Rust; extensible to Nim, Zig, Crystal, etc. - CLI:
molt glue list/show/regen/start/stopandmolt glue-driver list/show/add. - 3 new demos: 19 (Go stdio), 20 (Go library imports), 21 (Rust unix_socket).
- Site: 21 demos, Transport Glue feature card, demos 19–21 on GitHub Pages.