Skip to main content

Basic Python using Hausa vocabulary

Project description

Hapy - Write Python in Hausa with braces!

Hapy is a simple programming language that uses Hausa vocabulary and compiles to Python. Originally as a final year school project.

Installation

Hapy can be easily installed using pip (Test PyPi for now)

pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ Hapy=0.0.1

Check if Hapy is accessible globally hapy --help, if not your Python packages directory may not be in PATH

Usage

All these commands are to be run in the command line:

hapy repl - launch REPL. Exit via exit(), or Ctrl-C.

hapy <filename> - execute a script. Hapy uses .hapy file extension. For example: hapy lagbaja.hapy. Pass --compile-only to just get the compiled script and you can add --save to save the compiled Python in a file ending in .ha.py.

hapy run <filename> - same as above.

hapy eval "<code to evaluate>" - compiles and executes hapy code as a string. Pass --compile-only to skip execution.

More options on the way :)

Example

Let's say 'kira' is def keyword in Hausa and 'buga' is the print keyword. Sample Hapy code

    # example.hapy

    # wannan sharhi ne
    kira muje(){
        buga("Let's Goooooo");
    };

    muje();

Python output after running hapy example.hapy --save

    # example.ha.py

    # wannan sharhi ne
    def muje():
        print("Let's Goooooo")

    muje()
    >>> "Let's Goooooo"

Contributing

On it's way...

Documentation

on it's way...

Goals

  • Be able to write code in Hausa
  • Support some Python constructs
  • Have a limited set of custom modules :)
  • Be able to upload and install other snippets (called bites) online [soon...]

Non-goals / Limitations

  • Hapy won't try to support all Python things.
  • Error messages are not the best currently and won't be translated
  • No multi-file Hapy packages, only single file modules (called bites)
  • Performance has not been measured yet

Differences with Python syntax

  • For design and implementation reasons, Hapy uses braces :-)
  • I'm not exactly sure why but Hapy requires semi-colons at the end of statements :-(
  • We have some arithmetic word operators such as plus, times
  • Classes are different. More details in the (soon to come) docs

Standard library

On it's way...

Noticed something wrong with Hapy or have a suggestion?

Please feel free to email us or create an issue on the github

Other projects

On it's way...

Credits and inspiration

Similar projects

  • Yorlang: Yoruba language programming language (Nodejs/Javascript)
  • Enkelt: Swedish language programming language Enkelt (Python)

License

Hapy is released under the MIT License

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

Hapy-0.1.2.tar.gz (24.6 kB view hashes)

Uploaded Source

Built Distribution

Hapy-0.1.2-py3-none-any.whl (29.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page