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

🆚 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, code generation, explanation via Groq/OpenAI
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)
  • 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.4.2.tar.gz (746.3 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.4.2-py3-none-any.whl (738.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for eplang-7.4.2.tar.gz
Algorithm Hash digest
SHA256 3fc444109448fa2eb42cb9a6c0261f88f480d390d057f561cbc9113f08e78e1e
MD5 3c3e710811a883e381d8365c9eb0990c
BLAKE2b-256 aff8e43951418fb921a251ea6962e16e836f9ef06d995981360197ac8e437b0f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eplang-7.4.2-py3-none-any.whl
  • Upload date:
  • Size: 738.9 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.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ef3887b5b915ed3a140829df9b5506cf01e5de8683119a6b72a1532122237e47
MD5 e05d70a5fb49ead32617019052bdc735
BLAKE2b-256 4b925ad5e33c5a5a513cf3b74d7380708ab2e71fb6a4c25f867b2189a7714551

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