Tongues

March 14, 2026 · View on GitHub

Write your library once in Python. Get native, idiomatic code in every language.


For What

Leaf dependencies. The code everyone imports but that imports nothing:

  • Parsers and lexers
  • Codecs (Base64, MessagePack, Protobuf wire format)
  • Validators (JSON Schema, semver, email)
  • Text algorithms (diff, Levenshtein, glob matching)
  • Data structures (tries, bloom filters, ropes)
  • Hashing and checksums
  • State machines and interpreters

If it needs syscalls, networking, or threads—-Tongues isn't your tool. If you're content with stdin, stdout, stderr, argv, env vars, and main(), then Tongues is a perfect fit.

Status

The transpiler currently supports these target languages:

LanguageMin VersionStatus
JavaTemurin 21Alpha
JavascriptNode.js 21Alpha
PerlPerl 5.38Alpha
PythonCPython 3.12Alpha
RubyRuby 3.2Alpha
CGCC 13
C#.NET 8
DartDart 3.2
GoGo 1.21
LuaLua 5.4
PHPPHP 8.3
RustRust 1.75
SwiftSwift 6.0
Typescripttsc 5.3
ZigZig 0.14

We target language versions from ~3 years ago. New enough for modern idioms, old enough to be everywhere—LTS distros, corporate environments, CI images. No bleeding-edge features, no legacy baggage.

License

MIT