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.

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 highlighting 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.

  • Added support for Django and TurboGears (later transformed to plug-ins)

|-

|

| 2012-02-04

|

  • Added Mac OS X to the officially supported platforms

|-

|rowspan=6|5

|

| 2010-07-04

|

  • The eric 5 branch represents the new Python 3 variant of eric. It is not supporting Python 2 (yet). For Python 2 support the development of the eric 4 branch is continued.

|-

|

| 2014-01-07

|

  • Added support for PyQt5 projects

|-

|

| 2014-10-27

|

  • Added Python 2 support to the eric 5 branch, so that from now on both, Python 3 and Python 2, are supported by one single version of eric, making the eric 4 branch for Python 2 obsolete, which is not further continued

|-

|rowspan=2|16

|

| 2016-11-12

|

  • Switching the release scheme

|-

|

| 2016-12-03

|-

|rowspan=12|17

|

| 2017-01-01

|-

|

| 2017-02-04

|-

|

| 2017-03-03

|-

|

| 2017-04-07

|

  • Minimum required Python versions increased: Python 2 - 2.7.10; Python 3 - 3.4.0

|-

|

| 2017-05-06

|-

|

| 2017-06-03

|-

|

| 2017-07-02

|-

|

| 2017-08-03

|-

|

| 2017-09-01

|-

|

| 2017-10-07

|-

|

| 2017-11-03

|-

|

| 2017-12-02

|-

|rowspan=12|18

|

| 2018-01-06

|-

|

| 2018-02-03

|

  • Added support for attributes introduced with Qt 5.9 and Qt 5.10
  • New session file format

|-

|

| 2018-03-04

|-

|

| 2018-04-02

|-

|

| 2018-05-01

|-

|

| 2018-06-02

|-

|

| 2018-07-07

|-

|

| 2018-08-02

|-

|

| 2018-09-02

|-

|

| 2018-10-03

|-

|

| 2018-11-01

|-

|

| 2018-12-01

|-

|rowspan=12|19

|

| 2019-01-10

|-

|

| 2019-02-02

|-

|

| 2019-03-02

|-

|

| 2019-04-06

|-

|

| 2019-05-04

|-

|

| 2019-06-02

|-

|

| 2019-07-07

|-

|

| 2019-08-03

|-

|

| 2019-09-07

|-

|

| 2019-10-03

|-

|

| 2019-11-01

|-

|

| 2019-12-07

|-

|rowspan=2|20

|

| 2020-01-01

|-

|

| 2020-02-02

|-

|}

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, as does IDLE, the standard python IDE shipped with most distributions.

Criticism

The Eric Python IDE does not feature an integrated toolchain for now.

See also

  • Comparison of integrated development environments for Python

References