Skip to content
Python with braces. Because python is awesome, but whitespace is awful.
Branch: master
Clone or download
Latest commit 6e2e9ac Nov 29, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
etc Update year, it's time... Nov 29, 2018
scripts Update year, it's time... Nov 29, 2018
testcases updated py2by to translate dictionary definitions from {} into using … Jun 7, 2018
.gitignore updated gitignore to full python template May 23, 2018 more introduction May 31, 2018
LICENSE Initial commit Apr 6, 2016
Makefile made ready for PyPI upload May 24, 2018 Wrap terminal snippets in code blocks in readme Nov 29, 2018
setup.cfg made ready for PyPI upload May 24, 2018 remove download_url from setup script as this will quickly get outdat… Nov 29, 2018


Python with braces. Because Python is awesome, but whitespace is awful.

Bython is a Python preprosessor which translates curly brackets into indentation.

Content of README:

Key features

  • "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.

Code example

def print_message(num_of_times) {
    for i in range(num_of_times) {
        print("Bython is awesome!");

if __name__ == "__main__" {


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
$ 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.

Quick intro

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 arg1 arg2 ...

to run 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

This will create a Bython file called 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

Structure of the repository

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 script
  • etc contains manual pages and other auxillary files
  • scripts contains the runnable Python scripts, ie the ones run from the shell
  • testcases contains a couple of sample *.by and *.py files intended for testing the implementation
You can’t perform that action at this time.