A Yoruba-first programming language
Project description
OduduwaLang
A powerful, open-source programming language that allows you to write real software natively in Yoruba. Oduduwa stands as a bridge between profound cultural heritage and modern software engineering.
It compiles directly to Python, meaning it has the full power of the Python ecosystem while maintaining Yoruba syntax and grammar.
🚀 Getting Started (How to Install)
To use OduduwaLang on any computer, follow these simple steps:
1. Install Python
OduduwaLang requires Python to run. If you don't have Python installed, download it from python.org.
2. Install OduduwaLang
Open your terminal (Command Prompt, PowerShell, or macOS Terminal) and type the following command to download OduduwaLang from the global PyPI registry:
pip install oduduwalang
(If you are on Mac/Linux, you may need to use pip3 install oduduwalang instead).
3. Install the VS Code Extension
To get beautiful syntax highlighting and the official Ife Bronze Head icon for your .odu files:
- Open Visual Studio Code.
- Go to the Extensions tab (or press
Ctrl+Shift+X). - Search for OduduwaLang.
- Click Install.
💻 Writing Your First Code
Once installed, create a new file named hello.odu and open it in VS Code.
Type the following Yoruba code to print a message to the screen:
tejade("E kaaro Aye! (Hello World)")
Running the Code
Open your terminal inside the folder where you saved hello.odu and run:
python -m oduduwa.cli sise hello.odu
(Or, if your Python Scripts folder is added to your Windows PATH, you can simply type: oduduwa run hello.odu)
⚡ The Interactive REPL
Want to just test some Yoruba code quickly without creating a file? You can open the Oduduwa Interactive Shell!
Just open your terminal and type:
python -m oduduwa.cli
You will see the interactive prompt where you can type code line-by-line:
=======================================
OduduwaLang REPL v0.1.0
Tẹ 'iranlowo' (tabi 'help') fun itọsọna.
Tẹ 'jade()' lati kuro (Type 'jade()' to exit)
=======================================
odu> tejade("Bawo ni?")
Bawo ni?
📚 Language Features
OduduwaLang supports variables, conditionals, loops, nested dictionaries, lists, object-oriented programming, and standard library modules!
Variables & Conditionals
odun = 20
ti odun > 18:
tejade("O to lati se idibo!")
bibeeko:
tejade("O ti kere ju.")
OOP (Classes) & Functions
egbe Aja:
ise __ibere__(ara, oruko):
ara.oruko = oruko
ise gbo(ara):
tejade(ara.oruko, "wipe: Gboyen gbo!")
aja_mi = Aja("Okin")
aja_mi.gbo()
Error Handling
gbiyanju:
abajade = 10 / 0
mu_asise:
tejade("A ti mu asise! O ko le pin pelu odo.")
ni_ipari:
tejade("Eyi ma sise ni gbogbo igba.")
Imports & Standard Library
mu_wole onka
mu_wole akoko
tejade("100 l'ede Yoruba ni:", onka.yipada(100))
tejade("Asiko yii ni:", akoko.asiko_kika())
🛠️ CLI Tooling
OduduwaLang comes with built-in development tools to keep your code clean:
- Format:
oduduwa se_eto app.odu(Perfectly indents your code) - Lint:
oduduwa yewo app.odu(Scans for syntax errors) - Run:
oduduwa sise app.odu - REPL:
oduduwa soro
📄 Documentation
For the full technical details on how to write OduduwaLang, view our guides:
🤝 Contributing
This is an open-source project. We welcome Yoruba linguists and software engineers to join us in building this legacy. Feel free to open an issue or submit a Pull Request on our GitHub Repository.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oduduwalang-0.2.0.tar.gz.
File metadata
- Download URL: oduduwalang-0.2.0.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43e3d5f47b7fc46868e3dad2dffcfc0bfd37ac4dea58b00759401888bafd3a3e
|
|
| MD5 |
0b9bf468cd82dd96fa2972bc10495bcc
|
|
| BLAKE2b-256 |
186d058ff8ebe83207575ac5f24442f5c0f5d695609edfa58e6a729dc487c7d4
|
File details
Details for the file oduduwalang-0.2.0-py3-none-any.whl.
File metadata
- Download URL: oduduwalang-0.2.0-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5227e0ca8a4cf765d2695f11802bcde9227d8bca8c4a910dd3b5abe8374304a7
|
|
| MD5 |
5d6493c1312ce160677fdfcb85674d54
|
|
| BLAKE2b-256 |
6a34c0326de3975ff974ba1fe5f6f2afe442df675cfa4c55e69e9633d468a09d
|