PyFuck is a minimalist esoteric programming language interpreter inspired by Brainfuck. It provides a simple interpreter for executing PyFuck scripts and includes an updater.
- Interpret and execute
.pyfPyFuck files - Compile valid python code into PyFuck files
- Debugging options for easier troubleshooting
- Automatic updates via GitHub API
- Command-line interface with multiple options
- None that matter
- Maybe obfuscation
Go to the releases page and download the latest executable. Then add the executable to PATH
If the executable in releases doesn't work you can still use the interpreter as a normal python script. Remember to add pyfuck.exe to PATH before trying to run it! Ensure you have Python installed and added to PATH. Then, clone the repository:
git clone https://github.com/Trenclik/PyFuck.git
cd PyFuckThen run it with:
python main.py
# main.py replaces pyfuckAll commands have a shortenned version e.g.
pyfuck run -> pyfuck rTo execute a .pyf script open it with pyfuck.exe or run:
pyfuck run <path_to_file>Use --debug to enable debugging output (useless outside of developement):
pyfuck run --debug <path_to_file>Use --silent to suppress output:
pyfuck run --silent <path_to_file>To see available commands and options:
pyfuck --helpTo check the current installed version:
pyfuck versionTo update pyfuck interpreter:
pyfuck updatePyFuck consists of three main commands:
>: Move to the next character in the character set<: Move to the previous character in the character set!: Print the selected character
Example PyFuck script that executes print("Hello World!"):
>>>>>>>>>>>>>>>>>>>>>>>>>!
>>!
<<<<<<<<<!
>>>>>!
>>>>>>!
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>!
<<<<<<!
<<<<<<<<<<<<<<<<<<<<!
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<!
>>>>>>>!
!
>>>!
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>!
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<!
<<<<<<<<!
>>>!
<<<<<<!
<<<<<<<<!
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>!
>!
>>>>>>>!
The interpreter includes an updater that checks the latest version from GitHub releases.
Feel free to fork the repository, create a branch, and submit a pull request. Contributions are welcome!
This project is licensed under the MIT License.
This is an experimental project and may contain bugs. If you intend to use this project anywhere important, please don't.