Skip to main content

bfpy

bfpy is a Brainfuck Jit Interpreter written in python.

Usage

usage: bfpy [-h] [-o] [-i INPUT] [-f FILE] [-g] [-j] [-r]

brainfuck visualizer

optional arguments:
  -h, --help            show this help message and exit
  -o, --optimize        turn on to enable optimize, note that only if ir was enabled will this option make sense
  -i INPUT, --input INPUT
                        input to the program
  -f FILE, --file FILE  bf program
  -g, --graphic         turn on to enable visualize
  -j, --jit             turn on to enable jit(NOT compatible with graphic), with this on, you CANNOT pass input by argument, please use a pipe
  -r, --ir              turn on to enable ir

On graphic mode

Hold key left to continuously execute step by step, release to stop;Keys up and down to scroll the output.Key space to execute one_step, if you are curious.Press key j, and input some number, and press j again to execute number steps before display current status. While executing, screen won't be freshed so it's much faster than holding key left. If you input nothing between two pressing j, then vm will execute until end. Backspace in j mode is supported.

Note that the graphic part is written with pygame, quick-and-dirty, by me drunk. You cannot expect too much from it.

License

bfpy is under LGPLv3, which is chosen by asking this web site, for I am not good at licensing. If I made things wrong, please let me know.

Requirements

This thing uses peachpy and pygame. pygame can be installed directly via pip, while peachpy needs manual installation(i don't know why but pip just didn't work as expected), the installation guide can be found here.

Release files for bfpy 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bfpy 1.0.4
File Size Uploaded
bfpy-1.0.4.tar.gz 29.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bfpy 1.0.4
File Interpreter ABI Platform
bfpy-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 61.5 kB

Release files / bfpy-1.0.4.tar.gz

Download URL bfpy-1.0.4.tar.gz
Size 29.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c3e3707d240105dd9365124081f63a5448850df42a81c3bcc04f7130b90d29c3
BLAKE2b-256 checksum
How to use checksums
4b4fdca6304ecb775ba380dde4ff40a404a0c7cb46c548008c69110367d02c0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / bfpy-1.0.4-py3-none-any.whl

Download URL bfpy-1.0.4-py3-none-any.whl
Size 32.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
098f36bae1587cd12b5bb2ea472721de55254205565047ab6c6456fa45c8f777
BLAKE2b-256 checksum
How to use checksums
4e148bd5afff802ae8ff70af2858179c1fbc535caa77c1df7ab16313efa6eb7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.9

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page