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
input
section 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
expressPython.exe
.
- 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()
- This is not a full IDE and is not planning to be.
- Using
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 ofpython.exe
of a 32bit Python 3.7 installation.PYTHON37_LIB_LOCATION
andPYTHON37_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