ExpressPython A small Python 3 editor
source link: https://www.tuicool.com/articles/7JZnUfY
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
A small Python 3 editor for learning and competitive programming.
Why expressPython?
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 :bullettrain_side: .
- 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.
Contributors
- Bhathiya Perera (JaDogg) - Maintainer and original author
- Mirza Zulfan (mirzazulfan) - Logo & Icon :sunglasses:
User Guide
Installation
This is fairly simple to use.
expressPython.exe
Editor
- 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.
Known Limitations
time.sleep()
Credits
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
Compiling
This project uses QMake
to build.
Dependencies
- 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.
Environment Variables
-
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.
Editor API
You can safely ignore this section if you are not interested in customizing/developing.
Documentation
# 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.
- Copy
ep_runner.py
to_express_startup_.py
near expressPython binary. - Edit
_express_startup_.py
as you see fit.
Appendix
Learning Python
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
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK