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: Apache 2.0 VS Code GitHub Stars CI/CD Lint


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

☁️ AWS Cloud Integration

Import "epl-cloud"

Note: Use AWS services natively
s3_bucket = cloud_s3_bucket("my-epl-bucket")
cloud_s3_upload(s3_bucket, "data.txt", "Hello Cloud!")

queue = cloud_sqs_queue("task-queue")
cloud_sqs_send(queue, "Start background job")

🗄️ 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

🔌 JavaScript/TypeScript Bridge

Use javascript "lodash" as lodash
Use javascript "axios" as axios

Say lodash.capitalize("hello from epl")
response = axios.get("https://api.example.com/data")
Say response.data

☸️ Kubernetes Deployment

epl deploy k8s myapp/main.epl --image myapp:1.0 --host myapp.example.com --tls

📊 Observability & Monitoring

Create WebApp called app

Import "epl.observability" As obs
obs.attach(app)

Note: Auto-adds /_health, /_ready, /_metrics endpoints

📦 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 fix <file>            # AI Error Diagnostics
epl check [file]          # Static type checking
epl fmt <file>            # Format source code
epl lint [file]           # Lint source code
epl js <file.epl>         # Transpile to JavaScript
epl python <file.epl>     # Transpile to Python
epl kotlin <file.epl>     # Transpile to Kotlin
epl android <file.epl>    # Generate Android project
epl ios <file.epl>        # Generate iOS project
epl desktop <file.epl>    # Generate desktop app
epl web <file.epl>        # Generate web app (WASM/JS/Kotlin-JS)
epl deploy k8s <file>     # Generate Kubernetes manifests
epl deploy aws <file>     # Deploy to AWS ECS
epl deploy gcp <file>     # Deploy to GCP Cloud Run
epl deploy azure <file>   # Deploy to Azure Container Apps
epl playground            # Start browser playground
epl copilot               # AI code assistant
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, AI Error Explainer (epl fix), Dual "Thinking" Mode via Groq/Gemini
DevOps K8s manifests, AWS/GCP/Azure deploy, Prometheus metrics, health checks, structured logging
JS Bridge Use javascript/typescript for NPM ecosystem access, persistent Node.js subprocess
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! We have strict enterprise guidelines to maintain code quality.

Before contributing, please read:

git clone https://github.com/abneeshsingh21/EPL.git
cd EPL
pip install -e ".[dev,cloud]"
ruff format .
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)
  • iOS transpiler (SwiftUI project generation)
  • EPL Notebook (Jupyter-style)
  • Kubernetes & Cloud Deploy (AWS/GCP/Azure)
  • JavaScript/TypeScript Bridge (NPM interop)
  • Observability (health checks, metrics, structured logging)
  • Community package registry
  • WebSocket real-time collaboration

📄 License

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

Licensed under the Apache License 2.0. See LICENSE for details.

"EPL" and "English Programming Language" are trademarks of Abneesh Singh. See NOTICE for strict attribution requirements.


⭐ 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.3.tar.gz (853.1 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.3-py3-none-any.whl (851.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: eplang-7.5.3.tar.gz
  • Upload date:
  • Size: 853.1 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.3.tar.gz
Algorithm Hash digest
SHA256 b7bc1767432b89aa2d2a4a79d307f51c88e9463e8b1286a55009631b3d6ffcb9
MD5 ee4042e2f25258434be7fdc57c7803d6
BLAKE2b-256 f639043e2e10fd159f7a396552fd436a2f3ab327e57f8d6b12650415d36243c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eplang-7.5.3-py3-none-any.whl
  • Upload date:
  • Size: 851.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b2bca89920db6ce75c3e6a73aaed45063ef910c0e43dc36a70bcef4480d5449
MD5 877a4831c2d83ec897efc827c3c94055
BLAKE2b-256 04c5b3f51d7e5acb7fab543215c97bac8773bfd8a50c6e7b42222b30d81a4ce0

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