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.
- Online IDEs cannot access my file system I need to access files If I wanted to.
- Online IDEs are sometimes slow at peak times or for non premium uses.
- You cannot access Online IDEs once you are in the underground train
- 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.
- Type some text in to
inputsection and process it using quick scripts.
- Bhathiya Perera (JaDogg) - Maintainer and original author
- Mirza Zulfan (mirzazulfan) - Logo & Icon
This is fairly simple to use.
- Download a standalone version from the releases. (Currently only Windows binaries available)
- Scan the binary package for viruses if you want ✔.
- Extract it using 7-zip or a similar software and run
- 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
- This is not a full IDE and is not planning to be.
time.sleep()in your code will make it impossible to retrieve output.
- Lacks keyboard shortcuts.
Standing on the shoulders of the giants.
- Qt 5.9.x (Or newer is used)
- Python 3.7.x
- Jedi (latest) - https://github.com/davidhalter/jedi
- Frankie Simon's Python Syntax Highlight Code (Modified)
- Mateusz Loskot's Embedding Code (Modified)
- Train Icon from https://www.awicons.com
- All Other Icons from Open Icon Library
This project uses
QMake to build.
- Python 3.7.x (32bit)
- Qt 5.9.x (GPL Version, MinGW 32bit)
64Bit versions should also work. But it is not tested yet.
Easiest way to compile is to use QtCreator and to build the binary.
PYTHON37_LOCATION- On windows set this to parent of
python.exeof a 32bit Python 3.7 installation.
PYTHON37_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