eric is a free integrated development environment (IDE) used for computer programming. Since it is a full featured IDE, it provides by default all necessary tools needed for the writing of code and for the professional management of a software project.

eric is written in the programming language Python and its primary use is for developing software written in Python. It is usable for development of any combination of Python 3 or Python 2, Qt 5 or Qt 4 and PyQt 5 or PyQt 4 projects, on Linux, macOS and Microsoft Windows platforms.

License, price and distribution
eric is licensed under the GNU General Public License version 3 or later and is thereby Free Software. This means in general terms that the source code of eric can be studied, changed and improved by anyone, that eric can be run for any purpose by anyone and that eric - and any changes or improvements that may have been made to it - can be redistributed by anyone to anyone as long as the license is not changed (copyleft).

eric can be downloaded at SourceForge and installed manually with a python installer script.
Most major Linux distributions include eric in their software repositories, so when using such Linux distributions eric can be obtained and installed automatically by using the package manager of the particular distribution.
Additionally, the author offers access to the source code via a public Mercurial repository.

Characteristics
eric is written in Python and uses the PyQt Python bindings for the Qt GUI toolkit. By design, eric acts as a front end for several programs, for example the QScintilla editor widget.

Features
The key features of eric 6 are:
Source code editing:
 Unlimited number of editors
 Configurable window layout
 Configurable syntax highlighting
 Sourcecode autocompletion
 Sourcecode calltips
 Sourcecode folding
 Brace matching
 Error highlighting
 Advanced search functionality including project wide search and replace
 Integrated class browser
 Integrated profiling and code coverage support
GUI designing:
 Integration of Qt Designer, a Graphical user interface builder for the creation of Qt-based Graphical user interfaces
Debugging, checking, testing and documenting:
 Integrated graphical python debugger which supports both interactive probing while suspended and auto breaking on exceptions as well as debugging multi-threaded and multiprocessing applications
 Integrated automatic code checkers (syntax, errors and style, PEP-8) for static program analysis as well as support of Pylint via plug-in
 Integrated source code documentation system
 Integrated unit testing support by having the option to run python code with command-line parameters
 Integrated interface to the enchant spell checking library
 Application diagrams
Version control:
 Integrated version control support for Mercurial and Subversion repositories (as core plug-ins) and git (as optional plug-in)
Project management and collaboration:
 Advanced project management facilities
 Integrated task management with a self-updating To-do list
 Integrated cooperation functions (chat, shared editor)
Other:
 Integrated web browser
 Integrated support for Django (as optional plug-in)
 Running external applications from within the IDE
 Interactive Python shell including syntax hilighting and autocompletion
 Integrated CORBA support based on omniORB
 Integrated rope refactoring tool (as optional plug-in)
 Integrated interface to cx_freeze (as optional plug-in)
 Many integrated wizards for regex and Qt dialogs (as core plug-ins)
 Tools for previewing Qt forms and translations

Support for Python 2 and 3
Prior to the release of eric version 5.5.0, eric version 4 and eric version 5 coexisted and were maintained simultaneously, while eric 4 was the variant for writing software in Python version 2 and eric version 5 was the variant for writing software in Python version 3.

With the release of eric version 5.5.0 both variants had been merged into one, so that all versions as of eric version 5.5.0 support writing software in Python 2 as well as in Python 3, making the separate development lanes of eric version 4 and 5 obsolete. Those two separate development lanes are no longer maintained, and the last versions prior to merging them both to 5.5.0 were versions 4.5.25 and 5.4.7.

Gallery

Releases

Versioning scheme
Until 2016, eric used a software versioning scheme with a three-sequence identifier, e.g. 5.0.1. The first sequence represents the major version number which is increased when there are significant jumps in functionality, the second sequence represents the minor number, which is incremented when only some features or significant fixes have been added, and the third sequence is the revision number, which is incremented when minor bugs are fixed or minor features have been added.

From late 2016, the version numbers show the year and month of release, e.g. 16.11 for November 2016.

Release strategy
eric follows the development philosophy of Release early, release often, following loosely a time-based release schedule. Currently a revision version is released around the first weekend of every month, a minor version is released annually, in most cases approximately between December and February.

Version history
The following table shows the version history of eric, starting from version 4.0.0.
Only major (e.g. 6.0.0) and minor (e.g. 6.1.0) releases are listed; revision releases (e.g. 6.0.1) are omitted.

Name
Several allusions are made to the British comedy group Monty Python, which the Python programming language is named after. Eric alludes to Eric Idle, a member of the group, and IDLE, the standard python IDE shipped with most distributions.

See also

 Comparison of integrated development environments for Python

References

External links
 
 

Code navigation tools
Cross-platform free software
Debuggers
Free HTML editors
Free integrated development environments
Free integrated development environments for Python
Free software programmed in Python
Linux integrated development environments
Linux programming tools
MacOS programming tools
Programming tools for Windows
Python (programming language) software
Software that uses Qt
Software that uses Scintilla
Software using the GPL license