Skip to main content

A Yoruba-first programming language

Project description

OduduwaLang Logo

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:

  1. Open Visual Studio Code.
  2. Go to the Extensions tab (or press Ctrl+Shift+X).
  3. Search for OduduwaLang.
  4. 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

oduduwalang-0.2.0.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

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

oduduwalang-0.2.0-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

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

Hashes for oduduwalang-0.2.0.tar.gz
Algorithm Hash digest
SHA256 43e3d5f47b7fc46868e3dad2dffcfc0bfd37ac4dea58b00759401888bafd3a3e
MD5 0b9bf468cd82dd96fa2972bc10495bcc
BLAKE2b-256 186d058ff8ebe83207575ac5f24442f5c0f5d695609edfa58e6a729dc487c7d4

See more details on using hashes here.

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

Hashes for oduduwalang-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5227e0ca8a4cf765d2695f11802bcde9227d8bca8c4a910dd3b5abe8374304a7
MD5 5d6493c1312ce160677fdfcb85674d54
BLAKE2b-256 6a34c0326de3975ff974ba1fe5f6f2afe442df675cfa4c55e69e9633d468a09d

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