IEP (pronounced as 'eep') is a cross-platform Python IDE focused on interactivity and introspection, which makes it very suitable for scientific computing.
IEP features an intuitive and practical design and is aimed at simplicity and efficiency.
IEP was written in Python 3 and Qt.
Detailed instructions on how to install and use the IEP utility on your Mac are available HERE.
Here are some key features of "IEP":
· Powerful introspection (see below).
· Allows various ways to interactively run code (see below).
· Highly customizable using the menu.
· Using an intuitive shortcut editor, a shortcut can be created for any item in the menu.
· Various handy tools, plus the ability to make your own.
· Choose between different QT themes.
· Full Unicode support in both editor and shell.
· The pythonic shells run in a subprocess and can therefore be interrupted or killed.
· Several shells can be used simultaneously, and can be of different Python versions.
· Command history.
· Text in the shell can be selected and copied. Text can be pasted to the command line.
· Integrated post-mortem debugging.
· Enables using several GUI toolkits interactively: Tk, wx, PyQt4, fltk, GTK.
· Supports removing previously written text by using the backspace char.
· Supports magic commands similar to IPython.
· Iep automatically detects installed python versions.
· Intuitive way to organize open files using the EditorStack.
· Enables auto indentation.
· Automatically determines the indentation width when loading a file.
· Matlab-style cell system to mark code sections (by starting a line with '##').
· Syntax highlighting for Python, Pyrex/Cython, Matlab, C, xml, and more.
· Syntax schemes easily editable and extendable (saving the style file updates the styles).
· Supports commenting and uncommenting selected lines.
· Drag-'n-drop files or directories to open them.
· Find/Replace (also supports regular expressions).
· The line ending style can be changed.
· Optionally use tabs, or insert tabs as spaces.
Editor continued (features "inherited from" Scintilla):
· Indentation guides.
· Code folding.
· Brace matching.
· View whitespace / line endings / wrapped lines.
· Undo / redo.
· Highlighting of current line.
· Long line indicator.
· Introspection information is queried from the active shell, and from the source code (by continuously parsing the file in a separate thread).
· Auto completion for any object in the active Python session and all __builtins__.
· Optional auto completion for Python keywords.
· Auto completion for functions, classes, and class attributes defined in the current file in the editor (taking inheritance into account, even if a super class is defined in the shell).
· Shows signature of functions (from the shell or from the source) using a call-tip.
· Interactive help for all objects in the active Python session by moving up/down the auto completion list, by double-clicking on a name, or by filling in the name directly.
· Interactive help show the docstrings of properties (rather than of the returned object).
Interactivity (ways to run code):
· Run code by typing directly in the interactive shell.
· Run selected lines (or current line if none selected).
· Run cell (a cell is the piece of code between two lines starting with '##').
· Run current file.
· Run main file of project.
· Run current file as a script.
· Run main file of project as a script.
· Source structure: a tool that lists the structure of the source in a tree widget. It can list classes, functions (and methods), import statements, cells, and todo items.
· Interactive help: a tool that displays help information interactively (on selection and scrolling through an autocompletion list.)
· Workspace: lists all variables (also in debug mode).
· File browser: browse files and search inside files.
· Web browser: a simple Qt web browser.
· Logger: a logger shell that displays iep's log messaged and can be used for development or for changing advanced settings.
What's New in This Release: [ read full changelog ]
List of issues that are fixed in this release:
· issue 82 : most texts are now translatable
· issue 86 : redesign of file browser tool
· issue 149 and issue 150 : better context menu in the editor
· issue 156 : Popup window for autocompletion can now be resized (via the config)
· issue 157 : Ctrl+Shift+Enter execute cell and go to next cell (as in Matlab)
· issue 159 : Exit code of Python process was incorrect
· issue 163 , issue 164 , issue 165 : Fixed problems running on Python 3.3 and Pyside.
· issue 166 : smart handling of indentation when deleting text.
· issue 178 : The font can now be chosen in the menu, and IEP ships with a good default font.
· Further: issue 14 , issue 138 , issue 139 , issue 144 , issue 147 , issue 158 , issue 186
· Tools can now be packages, allowing their code to be better structured.
· Fault handler module is used on Python 3.3 to debug hard crashes.
· When IEP closes, it takes better care of stopping daemon threads.
· Some cosmetic enhancements of the t...