Package: hapy
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.InstallationHapy can be installed using pip (pre-release versions)note:Hapy is still in development so it might changea lotbefore full release. You can still join us for the ride!pip install hapyIf you have installation problems on Windows, tryinstalling Pythonfrom the Python website gan and not Microsoft Store.Check if Hapy is accessible globally, open a new Command-line/terminal and runhapy --help. If you're not seeing Hapy your Python packages directory may not be in PATH or some other pip/python issue. We noticed all problems disappear when we get Python from their website.UsageAll these commands are to be run in the command line:hapy --help- prints the help messagehapy --versionorhapy -v- prints the installed Hapy versionhapyorhapy repl- launches the REPL. Exit viaexit(), orCtrl-C. Pass--englishto use Hapy english vocabulary.hapy <filename>- execute a script. Hapy uses.hapyfile extension. For example:hapy lagbaja.hapy. Pass--compile-onlyto just print the compiled script or you can pass--saveto save the compiled Python in a file.hapy run <filename>- same as above.hapy do "<code to evaluate>"- compiles and executes Hapy code as a string. Pass--compile-onlyto skip execution or pass--english/-eto use Hapy english vocabulary.More options on the way :)ExampleLet's say 'ayyana' isdefkeyword in Hausa and 'buga' is theprintkeyword.
Sample Hapy code# example.hapy# wannan sharhi neayyanamuje(){nuna("Let's Goooooo");};muje();Python output after runninghapy example.hapy --save# example.ha.py# wannan sharhi nedefmuje():print("Let's Goooooo")muje()>>>"Let's Goooooo"ContributingOH MY GOSH 😂😭, WE'RE SO DESPERATE FOR CONTRIBUTIONS THAT WE'RE LITERALLY BEGGING FOR PULL REQUESTS 🙏🏼💻! WE'RE SERIOUSLY ABOUT TO START CRYING OVER HERE. PLEASE, PLEASE, PLEASE SEND A PR AND MAKE OUR DAY. WE'LL LOVE YOU FOREVER AND EVER ❤️🤗.Documentationon it's way...Hausa -> English Dictionarykey (Hausa): value (English)keywords={"in":"if","kokuma":"elif","then":"then","indai":"while","ma":"for","karo":"import","tsarin":"class",#Changed from irin to tsarin(structure) in 0.5.0"yanada":"has","gada":"inherits","anfani":"use","wuce":"pass","daga":"from","imbahakaba":"else","cikin":"in","Babu":"None","dawo":"return","ayyana":"def","Gaskiya":"True","Karya":"False",}operators_words={"ba":"not","da":"and","ko":"or","shine":"=","cikin":"in","of":"of","ba cikin":"not in","is equal":"is equal","is not equal":"is not equal","times":"*","hada":"+","raba":"/","chire":"-"}builtin_functions={"__farada__":"__init__","__donnunawa__":"__repr__","nuna":"print","iri":"type","tsakanin":"range","kirga":"len","rubuta":"input","duka":"all","tace":"filter","koyar":"help","id":"id","lissafta":"eval",}GoalsBe able to write code in HausaSupport some Python constructsHave a limited set of custom modules :)Be able to upload and install other snippets (calledbites) online [soon...]Non-goals / LimitationsHapy won't try to support all Pythonthings.Error messages are not the best currently and won't be translatedNo multi-file Hapy packages, only single file modules (calledbites)Performance has not been measured yetDifferences with Python syntaxFor design and implementation reasons, Hapy uses braces :-)I'm not exactly surewhybut Hapy requires semi-colons at the end of statements :-(We have some arithmetic word operators such asplus,timesClasses aredifferent. More details in the (soon to come) docsStandard libraryOn it's way...Noticed something wrong with Hapy or have a suggestion?SEND A PR MY BROTHA/SISTA or create an issue on thegithubOther projectsOn it's way...Credits and inspiration(heavily) inspired by this great, easy-to-followtutorial on programming languagesThe REPL is based on this nicearticleWe useClickfor the CLITutorialon distributing Pypi packagesSome code fromBythonis used in our indent moduleSimilar projectsYorlang: Yoruba language programming language (Nodejs/Javascript)Enkelt: Swedish language programming language Enkelt (Python)LicenseHapy is released under theMIT LicenseReferenceIf you found Hapy useful enought to cite, please cite using the following BibTeX:@software{segunlean2021,
  author = {Segun-Lean, Emmanuel and Wuta, Shugaba},
  title = {Hapy: Hausa Programming Language},
  month = December,
  year = 2021,
  url = {https://github.com/hapy-lang/hapy}
}