Python with braces. Because Python is awesome, but whitespace is awful.
Bython is a Python preprosessor which translates curly brackets into indentation.
-
"Forget" about indentaition. You should still write beautiful code, but if you mess up with tabs/spaces, or copy one piece of code to another that uses a different indentation style, it won't break.
-
Uses Python for interpretation, that means that all of your existing modules, like NumPy and Matplotlib still works.
def print_message(num_of_times) {
for i in range(num_of_times) {
print("Bython is awesome!");
}
}
if __name__ == "__main__" {
print_message(10);
}
You can install Bython directly from PyPI using pip (with or without sudo -H
, depending on your Python installation):
$ sudo -H pip3 install bython
If you for some reason want to install it from the git repository you can use git clone
and do a local install instead:
$ git clone https://github.com/mathialo/bython.git
$ cd bython
$ sudo -H pip3 install .
The git version is sometimes a tiny bit ahead of the PyPI version, but not significantly.
To uninstall, simply run
$ sudo pip3 uninstall bython
which will undo all the changes.
Bython works by first translating Bython-files (suggested file ending: .by) into Python-files, and then using Python to run them. You therefore need a working installation of Python for Bython to work.
To run a Bython program, simply type
$ bython source.by arg1 arg2 ...
to run source.by
with arg1, arg2, ... as command line arguments. If you want more details on how to run Bython files (flags, etc), type
$ bython -h
to print the built-in help page. You can also consult the man page by typing
$ man bython
Bython also includes a translator from Python to Bython. This is found via the py2by
command:
$ py2by test.py
This will create a Bython file called test.by
. A full explanation of py2by
, is found by typing
$ py2by -h
or by consulting the man page:
$ man py2by
For a more in-depth intro, consult the bython introduction
At the moment, Bython is written in Python. The git repository is structured into 4 directories:
bython
contains a Python package containing the parser and other utilities used by the main scriptetc
contains manual pages and other auxillary filesscripts
contains the runnable Python scripts, ie the ones run from the shelltestcases
contains a couple of sample *.by and *.py files intended for testing the implementation