Echo
Echo is a small interpreted scripting language. Types are declared explicitly and checked at runtime. Abort is the default failure mode; recovery is inquiry and *Or twins, not try / catch.
Docs: https://deekshith-poojary98.github.io/echo/ — includes a browser playground.
import add from "lib/math";
import stdOk from "std/meta";
say("2+3 =", add(2, 3));
say("std ready:", stdOk());
2.0 is path resolution + std modules — nested / relative imports and import … from "std/…". It is not a package manager (no registry, lockfiles, or elang add).
2.1 is YAML + a thin LSP stub + std maturity on that surface — std/yaml, elang lsp / editor client, abort Stack: / trace, further peels (std/math, std/random, …), elang std, and generated inventories. Still not a package registry or full IDE language server.
What you get
- Typed declarations and parameters; runtime checks on bind / assign / return
listandhash, string interpolation, method calls,use mut, lexical scope- File modules:
export/import name from "module"(sibling,./…,../…, nested"lib/math", reserved"std/…") - Type aliases, object types (
exact { ... }too), unions (int | str), first-class functions and builtins-as-values - Nominal
classwithnew { ... }fields, methods (this), type methods, unbound methods, andinterface(optionalimplements; no inheritance) - Thin scripting stdlib via prelude and/or
std/…(std/fs,std/json,std/os,std/re,std/time,std/http,std/url,std/base64,std/yaml,std/math,std/random); optional--require-stdhides peeled prelude names; host-gated where noted - CLI: run a file, REPL,
check,test,fmt,lint,builtins,std,lsp - Editor: VS Code / Cursor extension with TextMate highlighting, tasks, and
elang lsp(hover, goto-def, diagnostics)
What you do not
- No class inheritance (
extends), no generics, notry/catch, no package registry - Type inference is limited — you still declare types
- See Known Limitations and failure model
Install
Python 3.10+. Prefer the command name elang — short, and shells often reserve echo. The package also registers echolang (and echo).
Package name on PyPI is echolang.
pipx (recommended)
python3 -m pip install --user pipx
python3 -m pipx ensurepath
pipx install echolang
elang --version
elang builtins --count
elang std
elang std --exports
From GitHub instead of PyPI:
pipx install git+https://github.com/deekshith-poojary98/echo.git
From a clone
pip install .
# or: pip install -e .
elang path/to/file.echo
Layout
src/echo/— frontend, semantics, modules, runtime, CLIsrc/echo/std/— install-tree modules forimport … from "std/…"docs/— VitePress site (this is the docs source)docs/language-semantics.md— language contract (v0.2 base; additive through 2.1.x)docs/module-semantics.md— v0.3 module contract (+ 2.0 / 2.1 path / std notes)docs/reference/builtin-inventory.md— generated prelude listdocs/reference/std-inventory.md— generatedstd/…modules + exports (python tools/sync_builtins.py)examples/— sample programs (std_imports.echo,yaml_and_math.echo,modules_demo/, …)
License / contributing
License and contribution guidelines are not filled in yet.
Metadata
Release files for echolang 2.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| echolang-2.2.1.tar.gz | 124.5 kB | Without provenance | Details for echolang-2.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| echolang-2.2.1-py3-none-any.whl | Python 3 | none | any | Details for echolang-2.2.1-py3-none-any.whl |
Total release size: 264.6 kB
Release files / echolang-2.2.1.tar.gz
| Download URL | echolang-2.2.1.tar.gz |
|---|---|
| Size | 124.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
321e16757f5bd7db20e507d10b53b2b8a83773c86117aa1155a4520142f98839
|
|
BLAKE2b-256 checksum How to use checksums |
ea1b98a3f831ef64613bc6fb7263677f556624369be72809dcb6c03084589e1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / echolang-2.2.1-py3-none-any.whl
| Download URL | echolang-2.2.1-py3-none-any.whl |
|---|---|
| Size | 140.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
780a6c1958280b8ec7315e38b31c4ebd0d917ec55545cb0def7b9a9fb49bedf7
|
|
BLAKE2b-256 checksum How to use checksums |
65264b0bb048047e26e1291103df20c7e1a72078cca874692c600b12293e9eff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for echolang 2.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.