Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mathialo/bython
Python with braces. Because python is awesome, but whitespace is awful.
https://github.com/mathialo/bython
braces bython indentation python whitespace
Last synced: about 1 month ago
JSON representation
Python with braces. Because python is awesome, but whitespace is awful.
- Host: GitHub
- URL: https://github.com/mathialo/bython
- Owner: mathialo
- License: mit
- Created: 2016-04-06T09:09:11.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-11-26T05:23:59.000Z (almost 4 years ago)
- Last Synced: 2024-10-01T16:21:49.845Z (about 1 month ago)
- Topics: braces, bython, indentation, python, whitespace
- Language: Python
- Homepage:
- Size: 128 KB
- Stars: 2,021
- Watchers: 19
- Forks: 48
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Bython
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](#key-features)
* [Code example](#code-example)
* [Installation](#installation)
* [Quick intro](#quick-intro)
* [Structure of the repository](#structure-of-the-repository)## 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
```python
def print_message(num_of_times) {
for i in range(num_of_times) {
print("Bython is awesome!");
}
}if __name__ == "__main__" {
print_message(10);
}
```## Installation
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.
## 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 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](INTRODUCTION.md)
## 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