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
input
section 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
expressPython.exe
. - Linux: Install it using .deb package.
- Tabs are replaced by 4 spaces.
- Any
\t
(tab) character is highlighted in red. - There are basic auto-complete features. Use: ctrl + space
- Content in the input can be read using
input()
- You can write to output using
print()
. - 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.cmd
is for windows systems.build.sh
is 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 ofpython.exe
of a 32bit Python 3.8.x installation.PYTHON3_LIB_LOCATION
andPYTHON3_INC_LOCATION
should 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())
If you want to customize how your code is executed.
- Copy
ep_runner.py
to_express_startup_.py
near expressPython binary. - Edit
_express_startup_.py
as 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