Skip to main content

EPL - English Programming Language: write code in plain English. Build apps, web servers, and more.

Project description

🌐 EPL — English Programming Language

Write code the way you think. In plain English.

PyPI version Python License: MIT VS Code GitHub Stars


EPL is a fully-featured, production-ready programming language where every keyword is natural English. Build web apps, APIs, Android apps, desktop tools, AI pipelines — all in a syntax anyone can read.


pip install eplang

✨ What does EPL look like?

Note: Hello World
Say "Hello, World!"

Note: Variables
name = "Abneesh"
age = 20

Note: Conditionals
If age is greater than 18 then
    Say "Welcome, " + name
Otherwise
    Say "Access denied"
End

Note: Functions
Function greet takes person
    Return "Hello, " + person + "!"
End

Say greet("World")

Note: Loops
Repeat 5 times
    Say "EPL is awesome!"
End

Note: Lists
fruits = ["apple", "banana", "mango"]
For Each fruit in fruits
    Say fruit
End

Note: Web Server
Create WebApp called app

Route "/" shows
    Page "Welcome"
        Heading "Welcome to EPL"
        Text "This page is served by the native EPL web runtime."
    End
End

Route "/api/health" responds with
    Send json Map with status = "ok"
End

No semicolons. No curly braces. No cryptic symbols. Just English.


🚀 Quick Start

Install

pip install eplang

Run your first program

echo 'Say "Hello from EPL!"' > hello.epl
epl hello.epl

Start the interactive REPL

epl repl

Create a full project

epl new myapp --template web
epl new authapp --template auth
epl new botapp --template chatbot
epl new studio --template frontend
cd myapp
epl serve

Production serving

pip install "eplang[server]"

EPL supports production WSGI and ASGI deployment through generated adapters and the epl serve runtime surface.

  • WSGI: Waitress and Gunicorn
  • ASGI: Uvicorn and Hypercorn
  • Adapter generation: WSGI / ASGI deploy entrypoints for external servers such as Daphne or other ASGI hosts

For multi-worker ASGI deployment, use the generated deploy/asgi.py entrypoint with your server's import-string form rather than an in-process app object launch.


🆚 EPL vs Other Languages

Feature EPL Python JavaScript Java
Syntax readability ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐
Learning curve Minutes Days Days Weeks
Web framework built-in
Android transpiler
WASM compilation
Native compiler (LLVM)
Package manager pip npm Maven
LSP / IDE support
AI assistant built-in

🏗️ What Can You Build?

🌐 Web Applications

Create WebApp called apiApp

Route "/api/users" responds with
    users = ["Alice", "Bob"]
    Send json Map with users = users and count = length(users)
End

🤖 AI & Machine Learning

Import "epl.ai" As ai

messages = [Map with role = "user" and content = "Explain quantum computing simply"]
response = ai.chat(messages)
Say response

🗄️ Database Apps

Import "epl-db"

db = open("myapp.db")
create_table(db, "users", Map with name = "TEXT" and email = "TEXT")
insert(db, "users", Map with name = "Ada" and email = "ada@example.com")
Say query(db, "SELECT * FROM users")

📱 Android Apps (Kotlin transpile)

epl android myapp/main.epl   # Generates full Android Studio project

🍎 iOS Apps (SwiftUI project generation)

epl ios myapp/main.epl       # Generates Xcode / SwiftUI project

🖥️ Desktop Apps

epl desktop myapp/main.epl   # Generates Compose Multiplatform desktop app

⚡ Native Executables

epl build myapp/main.epl     # Compiles via LLVM to native .exe / binary

📦 CLI Reference

epl run <file.epl>        # Run a program
epl repl                  # Interactive REPL
epl new <name>            # Create new project
epl build <file.epl>      # Compile to native executable
epl wasm <file.epl>       # Compile to WebAssembly
epl serve <file.epl>      # Start web server
epl test [dir]            # Run test suite
epl check [file]          # Static type checking
epl fmt <file>            # Format source code
epl lint [file]           # Lint source code
epl android <file.epl>    # Generate Android project
epl ios <file.epl>        # Generate iOS project
epl desktop <file.epl>    # Generate desktop app
epl install <package>     # Install a package
epl upgrade               # Update EPL

🔋 Feature Highlights

Category Features
Language OOP, async/await, generics, pattern matching, lambdas, generators
Performance Bytecode VM, LLVM native compiler, constant folding, dead code elimination
Web HTTP router, WebSocket, WSGI/ASGI, middleware, sessions, templates
Database SQLite ORM, Redis, PostgreSQL, Store/Fetch/Delete English APIs
Security Safe FFI sandbox, pickle allowlist, recursion limits, scope depth limits
Tooling LSP server, debugger, REPL, test framework, code coverage, formatter
Targets Interpreter, VM, LLVM native, JavaScript, Node.js, Kotlin, Python, WASM, MicroPython
Packaging SemVer package manager, lockfiles, checksums, PyPI integration
AI Built-in ai module, Web Playground AST-Aware Copilot, Dual "Thinking" Mode via Groq/Gemini
Standard Library 300+ functions across HTTP, DB, Math, Crypto, File I/O, JSON, Regex, Date

📚 Documentation

Resource Link
Official Book (PDF) docs/epl_book.pdf
Language Reference docs/language-reference.md
Getting Started docs/getting-started.md
Architecture docs/architecture.md
Package Manager docs/package-manager.md
Tutorials docs/tutorials.md
Changelog CHANGELOG.md

🛠️ VS Code Extension

Install the EPL extension for:

  • ✅ Syntax highlighting for .epl files
  • ✅ Real-time diagnostics (type errors, unused variables)
  • ✅ Auto-completions and hover docs
  • ✅ Run files with Ctrl+Shift+R
  • ✅ Type check with Ctrl+Shift+K

Install: Search EPL in VS Code Extensions, or visit the Marketplace.


🤝 Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

git clone https://github.com/abneeshsingh21/EPL.git
cd EPL
pip install -e ".[dev]"
python -m pytest tests/

See CONTRIBUTORS.md for the list of contributors.


🗺️ Roadmap

  • Core language (interpreter + VM + LLVM)
  • Web framework, ORM, async I/O
  • Package manager with lockfiles
  • LSP server, debugger, REPL
  • Android & Desktop transpilers
  • PyPI release (pip install eplang)
  • VS Code extension
  • Official documentation website
  • Online playground (try EPL in browser with AST-Aware AI Copilot)
  • Community package registry
  • iOS transpiler
  • EPL Notebook (Jupyter-style)

📄 License

Copyright © 2024–2026 Abneesh Singh (singhabneesh250@gmail.com)

Licensed under the MIT License with attribution requirements. See LICENSE for details.

"EPL" and "English Programming Language" are trademarks of Abneesh Singh.


⭐ Star this repo if EPL excites you!

Made with ❤️ by Abneesh Singh

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eplang-7.5.1.tar.gz (791.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eplang-7.5.1-py3-none-any.whl (789.8 kB view details)

Uploaded Python 3

File details

Details for the file eplang-7.5.1.tar.gz.

File metadata

  • Download URL: eplang-7.5.1.tar.gz
  • Upload date:
  • Size: 791.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for eplang-7.5.1.tar.gz
Algorithm Hash digest
SHA256 91efda65a7064b6f817b689652b1c7355f21254274b3ee4ace11cfeee779a4da
MD5 c1140bead9ef5b33357e7f7903b52fa3
BLAKE2b-256 13c5e09f9086dfd25a8647d9af4a95f13aab6ac72373a7a7529cdd8b4d7e8ca7

See more details on using hashes here.

File details

Details for the file eplang-7.5.1-py3-none-any.whl.

File metadata

  • Download URL: eplang-7.5.1-py3-none-any.whl
  • Upload date:
  • Size: 789.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for eplang-7.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5beb2b2a50a6a4e6f5739e6731c63a853fd671dacf8ccf39c6701155a643dc61
MD5 0630c72ebef9a3a2b61079df738639f2
BLAKE2b-256 c225f9e8d5f5090d75be5b98ccd327bc91be9598eded6cd3ce1f536bb30b8d97

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page