Skip to content

EPL — English Programming Language

Write code the way you think. In plain English.

PyPI Stars License
pip install eplang

What is EPL?

EPL is an English-like programming language with its strongest coverage around interpreter/CLI workflows, package management, and maintained reference-app validation. Native compilation, transpilers, AI/data helpers, and generated platform targets are available, but their support level varies by toolchain and is defined by the support matrix.

Say "Hello, World!"

name = "Alice"
If name == "Alice" then
    Say "Welcome back, Alice!"
End

⚡ Key Features

🌐 Web Framework

Build routed web apps and maintained reference services. Production hosting uses the optional server extras and generated WSGI/ASGI entrypoints documented in the support matrix.

⚙️ LLVM Compiler

Compile EPL to native executables when llvmlite and a system compiler are available. Native builds are validated as an extra toolchain path, not the default install contract.

📱 Android & Mobile

Generate Android Studio projects and Kotlin output. The maintained Android reference app is CI-validated; broader mobile targets require additional validation.

🗄️ Database & ORM

SQLite workflows are bundled and documented. Additional database and ORM-style helpers exist, but non-SQLite production deployments should be validated in your own environment.

🤖 ML & Data Science

Python-bridge integrations are available when the required dependencies are installed. These integrations are useful, but they are not part of the core release gate.

🎮 Game Development

Game and graphics helpers exist for experimentation and targeted projects, but they sit outside the current production support boundary.


Quick Example: REST API

Create WebApp called app

db = db_open("todos.db")
db_create_table(db, "todos", Map with id = "INTEGER PRIMARY KEY AUTOINCREMENT" and title = "TEXT NOT NULL" and done = "INTEGER DEFAULT 0")

Route "/api/todos" responds with
    todos = db_query(db, "SELECT * FROM todos")
    Return Map with success = True and data = todos
End

Route "/api/todos" responds with
    body = request_body()
    db_execute(db, "INSERT INTO todos (title) VALUES (?)", [body.get("title")])
    Return Map with success = True
End

app.start(8000)
epl serve todo.epl
# Production server starts on http://localhost:8000

🚀 Get Started

  1. Install EPLpip install eplang
  2. Try the Playground — No install needed
  3. Read the Tutorials — Step-by-step guides
  4. Browse Examples — Real-world projects
  5. Language Reference — Full syntax docs

Hundreds of Built-in and Packaged Functions

EPL ships a broad set of built-in and packaged functions across web, data, crypto, file I/O, networking, concurrency, GUI, and tooling domains.

Exact counts evolve over time. Use the Full Standard Library Reference → as the source of truth for the currently shipped surface.