Python a high-level, general-purpose, structured, powerful, open-source programming language that is used for a wide variety of programming tasks created by Guido van Rossum in 1991.
Python comes with its own shell which is not an advanced and user-friendly one. The default shell for the Python interpreter has significant limitations which makes it hard to be used for normal users. As an example the regular Python interactive interpreter does not support Auto-completing, syntax highlighting or auto-indenting, etc.
Luckily there is some enhanced interactive python shell available to be used for more comfort. Here I present you 4 popular interactive shells for Python: IPython, bpython, DreamPie, and Spyder:
IPython is an enhanced interactive Python shell. IPython can be used as a replacement for the standard Python shell, or it can be used as a complete working environment for scientific computing when paired with the standard Python scientific and numerical tools.
- Easy to use, high performance tools for parallel computing
- Syntax highlighting
- Extensive configuration system
- Input history and Caching output results
- Comprehensive object introspection, allowing access to docstrings, source code, and other objects accessible to the interpreter
- Extendable tab completion for variables, keywords, functions, and filenames
- magic commands (denoted by a prepended %) to control the environment and interact with the OS
- Session logging and reload
- verbose and colored traceback reports
- Integrated access to debugger and profiler
- Multi-line editing
- Website: ipython.org
- Developer: The IPython Development Team
- Documentation: https://ipython.readthedocs.io
- Books: https://ipython.org/books.html
- License: BSD
bpython is a fancy interface to the Python interpreter for Linux, BSD, OS X and Windows. bpython was created for developers who want more functionality and less learning effort on IPython.
- In-line syntax highlighting
- Auto-complete suggestions
- Readline-like autocomplete with suggestions displayed as you type
- Expected parameter list for any Python function
- “Rewind” function to pop the last line of code from memory and re-evaluate
- Send the code you’ve entered off to a pastebin
- Save the code you’ve entered to a file
- Website: https://bpython-interpreter.org
- Developer: The IPython Development Team
- Documentation: https://docs.bpython-interpreter.org
- Code: https://github.com/bpython/bpython
- License: MIT License
DreamPie is a Python shell which is designed to be reliable and fun. DreamPie can use just about any Python interpreter (Jython, IronPython, PyPy).
- Splitting the interactive shell into a history box and a code box. Code box is like a text editor, allowing you to write as much code as desired before executing it.
- A copy code only command that copies only the code desired, allowing it to be pasted into a file while retaining indentation.
- Auto attribute and filename completion.
- Code introspection, displaying function arguments and documentation.
- The session history can be saved to an HTML file for future reference
- Automatic addition of parentheses and quotes after functions and methods.
- Cross-platform support.
- Automatically displays function arguments and documentation
- Keeps your recent results in the result history, for later use
- Can automatically fold long outputs, so you can concentrate on what’s important
- Automatically adds parentheses and optionally quotes when you press space after functions and methods.
- Website: www.dreampie.org
- Developer: Noam Yorav-Raphael
- License: GNU GPL v3
- Code: https://github.com/noamraph/dreampie
- Installation: http://www.dreampie.org/download.html
Spyder (Scientific PYthon Development EnviRonment) is a powerful interactive development environment for the Python language with advanced editing, interactive testing, debugging and introspection features and a numerical computing environment thanks to the support of IPython (enhanced interactive Python interpreter) and popular Python libraries such as NumPy (linear algebra), SciPy (signal and image processing) or matplotlib (interactive 2D/3D plotting).
- Within Spyder, the IPython console is the default Python interpreter
- code in the editor can be fully or partially be executed in this buffer.
- The editor supports automatic checking for Python errors using pyflakes, and
- the editor warns (if desired) if the code formatting deviates from the PEP8 style guide.
- An object explorer shows documentation for functions, methods etc on the fly and a
- variable explorer displays names, size and values for numerical variables.
- Website: https://www.spyder-ide.org
- License: MIT
- Code: https://github.com/spyder-ide/spyder
- Documentation: https://docs.spyder-ide.org/current/index.html