A language that speaks for itself.
Ethos transpiles English-like syntax to Python. Every statement ends with a period. No brackets, no semicolons.
I built this solo. Class 9 student from India. Every line of code is mine.
ask "What's your name? " into name.
set greeting to "Hello, ".
say greeting.
say name.
set score to 95.
if score is above 90.
say "That's an A.".
otherwise if score is at least 75.
say "That's a B.".
otherwise.
say "Keep going.".
end.
Download the installer from releases. The installer includes both Ethos and Forge (the package manager).
See LINUX_INSTALL.md for distro-specific instructions.
Nuitka builds on termux are not supported due to restrictions and linker issue so ethos in termux requires python and is just a wrapper to run python source code compressed using zipapp. After rust rewrite the termux prebuilt binaries would be provided till then .deb file and termux pkg integration is just done. Supported after v0.5.0 beta.
Run after downloading the deb file manually or using wget or curl
pkg update && pkg upgrade
pkg install python
pkg install ./termux-deb-path-here-which-you-downloaded.deb- English syntax -
if,while,repeat,countloops all read like sentences - Type casting -
set age to "25" to number. - String slicing -
set piece to text from 0 to 5. - Functions -
how to greet with name./run greet with "Aman". - Imports -
bring in math.thenrun math.sqrt with 16. - Hard Traits - Load compiled C/C++/Rust binaries via ctypes
- Soft Traits - Install Python packages to
~/.ethos/traits/
ethos-lang/
├── main.py
├── requirements.txt
└── src/ethos/
├── cli.py # REPL + file runner
├── lexer.py # Sentence splitter + tokenizer
├── parser.py # Transpiler (Ethos → Python)
├── executer.py # Runtime + Hard Trait loader
├── stdlib_shim.py # Forces stdlib into Nuitka binary
└── version.py # Version string
- Rust rewrite of the transpiler (planned for performance + memory safety)
Not planning right now: LSP, VSCode extensions, GUI IDE.
Solo project. Contributions welcome, especially:
- Hard Trait SDK bindings (Go, Java, Zig — I'm handling C/C++/Rust)
- Bug reports and fixes
Open an issue before starting large features to avoid duplicate work.
- Full language reference: DOCS.md
- Build instructions: BUILDING.md
- Standard library shims: STDLIB_SHIMS.md
- Forge (package manager): github.com/AmanCode22/forge
