Skip to content
πŸš„πŸ expressPython - A small Python editor for learning and competitive programming.
C++ Python QMake HTML
Branch: master
Clone or download

README.md

contributions welcome Downloads Build status Codacy Badge BCH compliance License: GPL v2 Say Thanks! OPEN open source software

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 πŸš„.
  • 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 😎

Screenshot

User Guide

Installation

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.

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

  • Using time.sleep() in your code will make it impossible to retrieve output.
  • Lacks keyboard shortcuts.

Credits

Standing on the shoulders of the giants.

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 of python.exe of a 32bit Python 3.7 installation.
  • PYTHON37_LIB_LOCATION and PYTHON37_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

Image

You can’t perform that action at this time.