A scripting language you can read like instructions.

Ezy is built for automation — files, processes, HTTP, and JSON are first-class, the syntax stays close to plain English without becoming a natural-language parser, and nothing about the runtime depends on AI.

# hello.ezy
name = "World"
say "Hello, {name}!"

# files and conditions read like sentences
if file "config.json" exists
    config = parse_json(read "config.json")
    say config.name

# HTTP, structured, no curl flags to memorize
response = get "https://api.example.com/users"
if response is successful
    for each user in response.json
        say user.name

Built for automation, not general demos

files

create, write, append, read, delete, and list — with real error messages, not stack traces.

processes

run commands without a shell, so nothing you pass in can be interpreted as shell syntax.

http

get, post, put, patch, delete with headers, query params, JSON bodies, and timeouts.

json

map and list literals already are JSON — parsing and pretty-printing are one call away.

concurrency

a parallel block runs independent requests on their own threads and waits for all of them.

deterministic

the lexer, parser, and interpreter are plain code. no model sits in the execution path.

Clear error reporting

When things go wrong, Ezy pinpoints the exact location of the error instead of dumping a stack trace:

Error: Syntax Error: expected expression

  backup.ezy:1:18

  1 | files = list files in
    |                  ^

Official Formatter

Ezy includes a built-in deterministic formatter (ezy fmt) that standardizes indentation, spacing, and blank lines, while safely preserving your comments.

Before:

# user script
let   x=10
if x>5
 say "big"

After:

# user script
let x = 10
if x > 5
    say "big"

Get started

  1. Clone the repository
    git clone https://github.com/SinghCod3r/ezy.git
    cd ezy
  2. Install it
    pip install -e .

    Needs Python 3.9+. On a system that blocks global pip installs, add --break-system-packages or use a virtual environment.

  3. Run a script
    ezy run examples/hello.ezy

Documentation