A small Python 3 editor for learning and competitive programming.
I built expressPython to scratch an itch that I had. I wanted a tool that does following for me.
- Runs easily in windows, portable, doesn't affect system.
- I wanted a tool to test regexes, small scripts.
- It should start fast and I don't need to create files to test things
- Suitable to simulate HackerRank . (Has an input window and output window, works with stdin)
- I wanted to learn C++/Qt and polish Python knowledge.
- Compiled to 32bit will work on a 64bit machine. (Windows)
- Type some text in to
inputsection and process it using quick scripts.
- Works offline.
- Bhathiya Perera (JaDogg) - Maintainer and original author
- Mirza Zulfan (mirzazulfan) - Logo & Icon
- Harshit Verma (hv7214) - ANTLR Syntax Highlighting, Terminal, CI
This is fairly simple to use.
- Download a standalone version from the releases.
- Scan the binary package for viruses if you want
- Windows: Extract it using 7-zip or a similar software and run
- Linux: Install it using .deb package.
- Tabs are replaced by 4 spaces.
\t(tab) character is highlighted in red.
- There are basic auto-complete features. Use: ctrl + space
- Content in the input can be read using
- You can write to output using
- There is terminal intergrated, one can access it by clicking on the top right button(currently it is available for Ubuntu and MacOs distros).
- This is not a full IDE and is not planning to be.
- Lacks keyboard shortcuts(Coming soon).
Standing on the shoulders of the giants.
- Qt 5.12.x (Or newer is used)
- Python >= 3.8.x
- Jedi (latest) - https://github.com/davidhalter/jedi
- ANTLR tool by Terence Parr.
- Mateusz Loskot's Embedding Code (Modified)
- Train Icon from https://www.awicons.com
- All Other Icons from Open Icon Library
- This project uses Cmake to build.
- There are two different scripts for windows and Linux/MacOs, which setup the project and followingly generates the binary.
build.cmdis for windows systems.
build.shis for Linux and MacOs systems.
- Python 3.8.x (32bit)
- Qt 5.12.x (GPL Version, MinGW 32bit)
- ANTLR4(ANother Tool for Language Recognition)
64Bit versions should also work. But it is not tested yet.
Easiest way to compile is to use QtCreator and to build the binary.
PYTHON3_LOCATION- On windows set this to parent of
python.exeof a 32bit Python 3.8.x installation.
PYTHON3_INC_LOCATIONshould be set to lib and include paths.
You can safely ignore this section if you are not interested in customizing/developing.
# IDE's API # --------------------------- from express_api import get_input, set_input from express_api import get_output, set_output from express_api import get_code, set_code from express_api import write_output, get_apppath from express_api import set_search_regex, interrupt_requested # # get method's have no parameters and others have one # # get_input - get input textbox's text # set_input - set input textbox's text # get_output - get output textbox's text # set_output - get output textbox's text # get_code - get code textbox's text # set_code - set code textbox's text # write_output- append to output box # get_apppath - get exe path # interrupt_requested - returns 1 if we need to stop running # API Help/Code Sample # --------------------------- # get text from input box # parameters - none txt = get_input() # change output box's text # parameters - string set_output("") # append to output box # does not add a new line # parameters - string write_output("Hi You,\n") # get_apppath() -> get exe path print("expressPython.exe is at :", get_apppath())
Customising launch script
If you want to customize how your code is executed.
_express_startup_.pynear expressPython binary.
_express_startup_.pyas you see fit.
One of the reasons for creating this was to teach python. You can checkout my Python 3 tutorial series at http://pandabunnytech.com
Getting Started Guide : here
- Python 3 Tutorial for Beginners #01 – Getting Started
- Python 3 Tutorial for Beginners #02 – Arithmetic and Logical Operators
- Python 3 Tutorial for Beginners #03 – If Statement and Python 3 Script Syntax
- Python 3 Tutorial for Beginners #04 – Python 3 For Loop
- Python 3 Tutorial for Beginners #05 – Python 3 While Loop
- Python 3 Tutorial for Beginners #06 – Python 3 Sequence Basics
- Python 3 Tutorial for Beginners #07 – Python 3 Sequence Slicing
- Python 3 Tutorial for Beginners #08 – Python 3 Dictionary Basics
- Python 3 Tutorial for Beginners #09 – Python 3 Dictionary Usage