ptpython - A better Python REPL

  •        198

Ptpython is an advanced Python REPL. It should work on all Python versions from 2.6 up to 3.5 and work cross platform (Linux, BSD, OS X and Windows).

  • Syntax highlighting.
  • Multiline editing (the up arrow works).
  • Autocompletion.
  • Mouse support. [1]
  • Support for color schemes.
  • Support for bracketed paste [2].
  • Both Vi and Emacs key bindings.
  • Support for double width (Chinese) characters.



Related Projects

IPython - Interactive Computing

  •    Python

IPython provides a rich toolkit to help you make the most of using Python interactively. It provides a Jupyter kernel to work with Python code in Jupyter notebooks and other interactive frontends.

bpython - A fancy curses interface to the Python interactive interpreter

  •    Python

bpython is a lightweight Python interpreter that adds several features common to IDEs. These features include syntax highlighting, expected parameter list, auto-indentation, and autocompletion. bpython does not aim to be a complete IDE - the focus is on implementing a few ideas in a practical, useful, and lightweight manner.

monkey - Interpreter with support for class, linq, sql, net, http, fmt, json and A realtime syntax highlighting REPL

  •    Go

This project is no longer being maintained. All the contents have been moved to magpie. Monkey is a toy language interpreter, written in Go. It has C-style syntax, and is largely inspired by Ruby, Python, Perl and c# It support the normal control flow, functional programming and object oriented programming. It also has a REPL with realtime syntax highlighter.

gomacro - Interactive Go interpreter and debugger with REPL, Eval, generics and Lisp-like macros

  •    Go

gomacro is an almost complete Go interpreter, implemented in pure Go. It offers both an interactive REPL and a scripting mode, and does not require a Go toolchain at runtime (except in one very specific case: import of a 3rd party package at runtime). press TAB to autocomplete a word, and press it again to cycle on possible completions.

ansible-coreos-bootstrap - [NOT MAINTAINED] bootstrap a coreos machine for control via ansible

  •    Python

In order to effectively run ansible, the target machine needs to have a python interpreter. Coreos machines are minimal and do not ship with any version of python. To get around this limitation we can install pypy, a lightweight python interpreter. The coreos-bootstrap role will install pypy for us and we will update our inventory file to use the installed python interpreter. Unlike a typical role, you need to configure Ansible to use an alternative python interpreter for coreos hosts. This can be done by adding a coreos group to your inventory file and setting the group's vars to use the new python interpreter. This way, you can use ansible to manage CoreOS and non-CoreOS hosts. Simply put every host that has CoreOS into the coreos inventory group and it will automatically use the specified python interpreter.

biwascheme - Scheme interpreter written in JavaScript

  •    Javascript

BiwaScheme is a Scheme interpreter written in JavaScript. Works with web browsers (including mobile devices) and Node.js.

ok - An open-source interpreter for the K5 programming language.

  •    Javascript

oK is a toy interpreter for a dialect of the K programming language which aims to be an implementation of K5, the still-evolving bleeding edge version of the language. Expect oK to be buggy, incomplete and occasionally flat-out wrong, but slowly improving over time. Read the oK Manual for an overview of oK's operators and syntax. If you are interested in learning more about K, consider downloading the free version of kdb from Kx Systems, the fine makers of K. Alternatively, Kona is an open-source reimplementation of K3/K4.

jquery.terminal - jQuery Terminal Emulator

  •    Javascript

jQuery Terminal Emulator is a plugin for creating command line interpreters in your applications. It can automatically call JSON-RPC service when a user types commands or you can provide you own function in which you can parse user commands. It's ideal if you want to provide additional functionality for power users. It can also be used to debug your application. You can create an interpreter for your JSON-RPC service with one line of code (just use url as first argument).

Python Prompt Toolkit - Library for building powerful interactive command lines in Python

  •    Python

prompt_toolkit is a library for building powerful interactive command lines and terminal applications in Python. ptpython is an interactive Python Shell, build on top of prompt_toolkit. prompt_toolkit could be a replacement for GNU readline, but it can be much more than that.

hython - Haskell-powered Python 3 interpreter

  •    Haskell

A toy Python 3 interpreter implemented in Haskell. I wanted to learn Haskell, and I wanted a big project, so I decided to write a Python 3 interpreter. The result was extremely educational and easily the coolest project I've ever worked on. Because it's implemented in a naive fashion, it won't ever be a replacement for real Python implementations.

konch - Configures your Python shell.

  •    Python

konch is a CLI and configuration utility for the Python shell, optimized for simplicity and productivity.

rtv - Browse Reddit from your terminal

  •    Python

RTV provides a text-based interface to view and interact with reddit. It's compatible with most terminal emulators on Linux and macOS. RTV is built in python using the curses library.

lambdascript - A new pure functional language built on the top of Python

  •    Python

A new pure functional language built on the top of Python3. Warning: this is an alpha release; the core of the interpreter is working and should give a precise idea of the language, but the provided program parses the file (see the very last line of the code). This is because it should be discussed (on a mailing list) how to use the interpreter: as a standalone command line tool? as a module called from pure Python code? should it be turned into an interpreter or rather compile collection of functions to .pyc modules? In the initial days after the announcement of the project, I will be watching the #lambdascript channel on for discussing about the further evolutions of the project (answers may take a little time however).

neoterm - Wrapper of some vim/neovim's :terminal functions.

  •    Vim

Use the same terminal for everything. The main reason for this plugin is reuse the terminal easily. All commands opens a terminal if it's not open or reuse the open terminal. REPL commands, opens a terminal and the proper REPL, if it's not opened. To install this plugin, you should use one of the following methods. For Windows users, replace usage of the Unix ~/.vim directory with %USERPROFILE%\_vim, or another directory if you have configured Vim differently. On Windows, your ~/.vimrc file will be similarly stored in %USERPROFILE%\_vimrc.

tis-interpreter - An interpreter for finding subtle bugs in programs written in standard C

  •    OCaml

This is tis-interpreter, an interpreter of C for detecting undefined behavior. tis-interpreter detects subtle bugs in C programs that may not have eye-visible effects when executing the same programs compiled in the traditional way. Some of the bugs that are discovered lead to security vulnerabilities. Fortunately, most don’t.

py4j - Py4J enables Python programs to dynamically access arbitrary Java objects

  •    Java

Py4J enables Python programs running in a Python interpreter to dynamically access Java objects in a Java Virtual Machine. Methods are called as if the Java objects resided in the Python interpreter and Java collections can be accessed through standard Python collection methods. Py4J also enables Java programs to call back Python objects. The latest compiled release is available in the current-release directory.

SublimePythonIDE - ST3 only: A rewrite of SublimeRope for ST3, uses the Rope library to add python completions and refactoring to ST3

  •    Python

This plugin adds Python completions and some IDE-like functions to Sublime Text 3, through the use of the Rope library. It is a complete rewrite of SublimeRope for ST2. It should be a lot faster and easier to use than SublimeRope was. In contrast to SublimeRope, it does use the built in Python only for UI-related functions, the completions and refactorings are calculated using the exact same python interpreter you use for your project (e.g. the one in your virtualenv). This eliminates a lot of small and big problems that SublimeRope had, e.g., not recognizing dict comprehensions because Python2.6 is used in ST2, or not recognizing some of your libraries because you did not configure all the paths etc.. Everything your projects interpreter sees, should be visible to SublimePython -> easier configuration.

pyparallel - Experimental multicore fork of Python 3

  •    Python

PyParallel is an experimental, proof-of-concept fork of Python 3.3.5 designed to optimally exploit contemporary hardware: multiple CPU cores, fast SSDs, NUMA architectures, and fast I/O channels (10GbE, Thunderbolt, etc). It presents a solution for removing the limitation of the Python Global Interpreter Lock (GIL) without needing to actually remove it at all. The code changes required to the interpreter are relatively unobtrusive, all existing semantics such as reference counting and garbage collection remain unchanged, the new mental model required in order to write PyParallel-safe code is very simple (don't persist parallel objects), the single-thread overhead is negligible, and, most desirably, performance scales linearly with cores.

Binary Code Interpreter


The Binary Code Interpreter is a small and funny programming languaage. This interpreter works a bit like a Turing Machine.

renjin - JVM-based interpreter for the R language for the statistical analysis.

  •    R

Renjin is a new interpreter for the R Language for Statistical Computing, built on the Java Virtual Machine.The primary goals of the project are to provide a modern interpreter that serves as a drop-in replacement for GNU-R, but is easier to integrate with other systems, offers better performance, and is more extensible.