Brainfuck interpreter
Project description
brain·f
Yet another Brainfuck interpreter written in Python.
For sample programs navigate to esolangs wiki or here.
Usage
Run directly as a shell script:
$ cat > file.b
#!/usr/bin/env brainfuck.py
++++++++++[>++++++<-]>+++++.
^D
$ chmod +x file.b
$ ./file.b
A
Run as a Python script:
$ brainfuck.py /path/to/file.b
Run as a Python module:
$ python -m brainf /path/to/file.b
Run as a Python Executable (PEX):
$ python brainf-linux.pex /path/to/file.b
See technical documentation for more details.
Download
Source code:
$ git clone https://github.com/bzaczynski/brainf.git
Installation
In a new virtual environment:
$ pip install .
To uninstall:
$ pip uninstall brainf
Building
Binary Distribution
To build a binary distribution with Docker and PEX follow the steps below.
- Create a new Docker image.
$ docker build -t brainf:linux -f Dockerfile.linux .
- Run interim container to extract .pex file from the image.
$ docker run --rm brainf:linux cat /root/brainf-1.0.0-linux.pex > brainf-linux.pex
Documentation
To build Sphinx documentation:
$ pip install -r requirements-dev.txt
$ cd docs/
$ make clean html
Publishing
The recommended way to publish a project on PyPI is with twine since it uses SSL by default.
- Make sure twine is installed:
$ pip install twine
- Create source and binary distributions:
$ python setup.py sdist bdist_wheel
-
Upload to Python Package Index.
Test PyPI:
$ twine upload --repository-url https://test.pypi.org/legacy/ dist/*
PyPI:
$ twine upload dist/*
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
brainf-0.0.1.tar.gz
(7.4 kB
view hashes)
Built Distribution
brainf-0.0.1-py3-none-any.whl
(10.0 kB
view hashes)