NepaliCode is a modern programming language from Nepal with native keywords, Unicode support, and a bytecode VM. Explore the docs or watch the demo.
"Programming should be simple enough that a Nepali beginner can understand what the code is doing."
NepaliCode is designed to be simple, expressive, and accessible while being powerful enough for real projects. It brings the beauty of Nepali language to programming with native keywords and full Unicode support.
Option 1: All-in-One Installer (Recommended)
# Download NepaliCode_Setup.exe from releases
# Run the installer
# Select options: PATH, VS Code extension, shortcuts
# Ready to use!Option 2: Using Python (Development)
git clone https://github.com/NepaliSource/NepaliLang.git
cd NepaliLang
python main.py examples/01_hello_world.npOption 3: VS Code Extension
# Install from VS Code Marketplace
# Search "NepaliCode" and install- ✅ Python-like syntax - Familiar and intuitive
- ✅ Nepali keywords -
yedi(if),kaam(def),firta(return) - ✅ Full Unicode support - Nepali text and identifiers
- ✅ Bytecode VM - Stack-based virtual machine
- ✅ Module system - Professional Python-like imports
- ✅ OOP support - Classes, inheritance, methods
- ✅ Error handling - Try/except with Nepali keywords
- ✅ Async foundation - async/await patterns
- 🧮 ganit - Mathematics operations
- ⏰ samaya - Date and time functions
- 🎲 randomlib - Random number generation
- 📄 jsonlib - JSON parsing and stringifying
- 📁 file - File operations
- 🗄️ database - SQLite database support
- 🌐 anurodh - HTTP requests (requests-like API)
- ⚡ asyn - Async programming foundation
- 🤖 telegram - Telegram bot foundation
- 🌍 browser - Browser automation foundation
- 💻 CLI - Command-line interface with full options
- 🔧 REPL - Interactive shell for testing
- 🎨 VS Code Extension - Syntax highlighting, run/debug
- 📖 50+ Examples - Comprehensive learning resources
- 📝 Bytecode compiler - Compile .np to bytecode
- 🏗️ Interpreter - Fallback for complex features
name = "Diwas"
age = 21
is_student = sacho
items = [1, 2, 3, 4, 5]
user = {"name": "Diwas", "age": 21}
yedi age >= 18:
print("Adult")
athawa age >= 13:
print("Teen")
natra:
print("Child")
ko_lagi item ma items:
print(item)
jabasamma count < 10:
count += 1
kaam add(a, b):
firta a + b
kaam greet(name="World"):
print(f"Namaste {name}!")
kakshya Person:
kaam __init__(self, name, age):
self.name = name
self.age = age
kaam greet(self):
firta f"Namaste, I am {self.name}"
lyau ganit
lyau jsonlib
lyau file
print(ganit.jod(5, 3))
data = jsonlib.parse('{"name": "Diwas"}')
content = file.read("file.txt")
| English | Nepali | Meaning |
|---|---|---|
| def | kaam | function |
| return | firta | return |
| if | yedi | if |
| else | natra | else |
| elif | athawa | elif |
| for | ko_lagi | for |
| while | jabasamma | while |
| in | ma | in |
| class | kakshya | class |
| import | lyau | import |
| from | bata | from |
| try | koshish | try |
| except | samau | except |
| finally | antya | finally |
| raise | uthau | raise |
| with | bhitra | with |
| and | ra | and |
| or | wa | or |
| not | hoina | not |
| True | sacho | true |
| False | jhut | false |
| None | khali | none |
| break | rok | break |
| continue | agadi | continue |
NepaliCode/
├── src/ # Core language implementation
│ ├── lexer.py # Lexical analysis
│ ├── parser.py # Parsing and AST
│ ├── interpreter.py # Interpreter
│ ├── bytecode.py # Bytecode VM
│ └── cli.py # Command-line interface
├── stdlib/ # Standard library modules
│ ├── ganit.py # Mathematics
│ ├── samaya.py # Date/time
│ ├── randomlib.py # Random
│ ├── jsonlib.py # JSON
│ ├── file.py # File operations
│ ├── database.py # SQLite
│ ├── anurodh.py # HTTP
│ └── ...
├── examples/ # 50+ example programs
│ ├── 01_hello_world.np
│ ├── 02_variables_and_types.np
│ └── ...
├── tests/ # Test suite
├── vscode-extension/ # VS Code extension
├── dist/ # Build artifacts
│ ├── NepaliCode_Setup.exe
│ └── nepali.exe
├── docs/ # Documentation
│ ├── index.html # Website
│ ├── installation.html
│ ├── syntax.html
│ └── ...
└── README.md
# Run all tests
python tests/run_all_tests.py
# Run specific test
python tests/test_bytecode.py
# Run examples
python main.py examples/01_hello_world.np- 🌐 Website: https://nepalisource.github.io/NepaliLang/
- 📖 Installation Guide: docs/installation.html
- 🎯 First Program: docs/first_program.html
- 📝 Syntax Reference: docs/syntax.html
- 📚 Standard Library: docs/stdlib.html
- 💡 Examples Catalog: docs/examples.html
- 🔧 GitHub Repository: https://github.com/NepaliSource/NepaliLang
- Language core (lexer, parser, interpreter)
- Bytecode VM
- Module system
- Standard library (10+ modules)
- CLI and REPL
- VS Code extension
- 50+ examples
- Documentation
- Windows installer
- GitHub Pages website
- Enhanced HTTP library with full runtime support
- Improved async runtime
- Type system foundation
- Package manager foundation
- Android APK - Mobile version (planned, requires Android Studio)
- macOS Installer - Cross-platform support
- Linux Installer - Cross-platform support
- Native runtime (no Python dependency)
- Full LSP implementation
- Package manager (nppm)
- Advanced compiler optimizations
- Cloud tools and integrations
Contributions are welcome! Please read CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
Diwas Khatri
- 👤 GitHub: DiwasKhatri07
- 📧 Email: diwaskhatri@proton.me
- 🏢 Organization: NepaliSource
- 🌐 Website: https://nepalcode.com
- 📍 Location: Nepal
- 💡 Inspired by Python's simplicity and elegance
- 🇳🇵 Built with love for the Nepali programming community
- 🙏 Thanks to all contributors and supporters
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub Repository: https://github.com/NepaliSource/NepaliLang
- Documentation: https://nepalisource.github.io/NepaliLang/
- Releases: https://github.com/NepaliSource/NepaliLang/releases
- Issues: https://github.com/NepaliSource/NepaliLang/issues
- Discussions: https://github.com/NepaliSource/NepaliLang/discussions
- Email: diwaskhatri@proton.me
Categories:
- 🖥️ Programming Language
- 🇳🇵 Nepali Language
- 👨💻 Beginner-Friendly
- 📚 Educational
- 🔤 Unicode Support
- ⚡ Bytecode VM
- 🐍 Python-like
- VS Code Extension: Syntax highlighting, snippets, file icons, run/debug integration
- REPL: Interactive shell for testing code
- CLI: Full command-line interface with options
- Debugger: Integrated debugging support
- Formatter: Code formatting (planned)
- LSP: Language Server Protocol (planned)
Principles:
- 🎯 Simple - Easy to learn and write
- 💡 Expressive - Clean, natural syntax
- 🇳🇵 Nepali - Native Nepali identity
- 🔧 Professional - Production-ready features
- 👨👩 Beginner-Friendly - Accessible to everyone
- 🌍 Community - Open and welcoming
- ⚡ Bytecode compilation - Faster execution
- 🔄 Interpreter fallback - Complex features supported
- 🎯 Optimized performance - Efficient execution model
- 💾 Memory management - Automatic garbage collection
- 🔒 MIT License - Permissive open source license
- 📜 Open Code - All code is visible and auditable
- 🔐 No secrets - No hardcoded credentials
- ✅ Safe by default - Secure default configurations
- 💬 Discussions: Join the conversation
- 🐛 Issues: Report bugs and request features
- 📝 Pull Requests: Contribute code
- 🌟 Stars: Show your support
- 🍴 Forks: Create your own version
- 📖 50+ Examples - From basics to advanced topics
- 📚 Complete Documentation - Installation, syntax, stdlib
- 🎯 Learning Path - Structured learning resources
- 💡 Quick Start - Get started in minutes
- 🔧 Practical Examples - Real-world use cases
- ✅ 50+ comprehensive examples covering all features
- ✅ 10+ standard library modules for common tasks
- ✅ Bytecode VM for efficient execution
- ✅ GitHub Pages website with full documentation
- ✅ VS Code extension with syntax highlighting
- ✅ Professional installer (like Python setup.exe)
- ✅ MIT License - Open source and permissive
- ✅ Complete documentation - Installation, syntax, stdlib
- 📝 Lines of Code: 18,000+
- 📁 Files: 135
- 📚 Examples: 50+
- 📦 Modules: 10+
- 🎯 Language Features: 20+
- 🎓 Education - Teaching programming in Nepal
- 📜 Scripting - Automation and task automation
- 🤖 Automation - Desktop and web automation
- 👨🏫 Teaching - Programming education
- 🌐 Web Development - Web applications
- 📱 Mobile Development - Mobile apps (future)
- 🎮 Game Development - Game development (future)
- 🇳🇵 Nepali Keywords - Native language support
- 🔤 Unicode Identifiers - Nepali variable names
- ⚡ Bytecode VM - Stack-based virtual machine
- 🎨 VS Code Integration - Professional IDE support
- 📦 All-in-One Installer - Easy setup like Python
- 🌐 GitHub Pages - Professional documentation website
- ✅ Initial release
- ✅ Complete language implementation
- ✅ Bytecode VM
- ✅ Standard library
- ✅ 50+ examples
- ✅ VS Code extension
- ✅ Windows installer
- ✅ GitHub Pages website
Windows Installer:
- 📦
NepaliCode_Setup.exe(13.6 MB) - All-in-one installer - ⚡
nepali.exe(9.0 MB) - Standalone runtime
Source Code:
- 📦 Clone repository:
git clone https://github.com/NepaliSource/NepaliLang.git
Create hello.np:
print("Namaste Nepal!")
Run it:
nepali.exe hello.np- 📖 Installation Guide: docs/installation.html
- 🎯 First Program: docs/first_program.html
- 📝 Syntax Reference: docs/syntax.html
- 📚 Standard Library: docs/stdlib.html
- 💡 Examples: docs/examples.html
- 💡 Inspired by Python's simplicity and elegance
- 🐍 Built with love for the Nepali programming community
- 🙏 Thanks to all contributors and supporters
- 🌟 Thanks to the open source community
- 🐛 Issues: https://github.com/NepaliSource/NepaliLang/issues
- 💬 Discussions: https://github.com/NepaliSource/NepaliLang/discussions
- 📧 Email: diwaskhatri@proton.me
Made with ❤️ in Nepal 🇳🇵
NepaliCode - Programming from Nepal, for the World

