Skip to content
expressPython - A small Python editor for learning and competitive programming.
C++ Python QMake HTML
Branch: master
Clone or download
Latest commit 9365173 Jun 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CodeEditor Remove jedi-completor because it crashed the app May 11, 2019
Features New feature: python code runner, stop is very stable on windows Sep 22, 2018
Icons New feature: python code runner, stop is very stable on windows Sep 22, 2018
Logo logo Feb 8, 2019
PythonAccess New feature: python code runner, stop is very stable on windows Sep 22, 2018
UI Removed floating windows/float ability Feb 1, 2019
WindowsResources Docking, New Icons, Resources Changed Nov 30, 2014
.astylerc New feature: python code runner, stop is very stable on windows Sep 22, 2018
.gitignore initial Nov 22, 2014
About.htm Removed floating windows/float ability Feb 1, 2019
LICENSE Initial commit Nov 25, 2014
PyRun.pro Fixed QMake Script Sep 22, 2018
PyRunResources.qrc New feature: python code runner, stop is very stable on windows Sep 22, 2018
README.md Update README.md Jun 16, 2019
_config.yml Update _config.yml Sep 25, 2018
appveyor.yml Fix build script Feb 1, 2019
ep_jedi.py New feature: python code runner, stop is very stable on windows Sep 22, 2018
ep_runner.py Use environment variables for build, Updated README.md Sep 22, 2018
main.cpp

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.