Giter VIP home page Giter VIP logo

expresspython's Introduction

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

expresspython's People

Contributors

codacy-badger avatar jadogg avatar mirzazulfan avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.