Eric (software)

Last updated
eric
Original author(s) Detlev Offenbach
Developer(s) Detlev Offenbach
Initial release2002;22 years ago (2002)
Stable release
23.8 [1] [2]   OOjs UI icon edit-ltr-progressive.svg / 1 August 2023;6 months ago (1 August 2023)
Repository
Written in Python
Operating system Linux, macOS, Microsoft Windows
Platform Python, Qt, PyQt
Available inEnglish, German, French, Russian, Czech, Spanish, Italian, Turkish, Chinese
Type Integrated Development Environment
License GPL version 3 or later
Website eric-ide.python-projects.org

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.

Contents

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. [3] 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. [4] Additionally, the author offers access to the source code via a public Mercurial repository. [5]

Characteristics

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

Features

The key features of eric 6 are: [8]

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. [9]

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. [10]

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.

Legend:Old version, not maintainedOlder version, still maintainedCurrent stable versionLatest preview versionFuture release
BranchVersionRelease dateMajor changes
4Old version, no longer maintained: 4.0.02007-06-03
Old version, no longer maintained: 4.1.02008-02-03
Old version, no longer maintained: 4.2.02008-08-09
  • Added a toolbar manager
Old version, no longer maintained: 4.3.02009-02-08
  • Changed license to GPL "v3 or later"
Old version, no longer maintained: 4.4.02010-01-09
  • Changed the help viewer to a full blown web browser (based on QtWebKit) [12]
Old version, no longer maintained: 4.5.02012-02-04
  • Added Mac OS X to the officially supported platforms [13]
5Old version, no longer maintained: 5.0.02010-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. [12]
Old version, no longer maintained: 5.1.02011-02-27
Old version, no longer maintained: 5.2.02012-02-18
  • Added Mac OS X to the officially supported platforms [13]
Old version, no longer maintained: 5.3.02013-02-03
  • Added support for Qt5 [14]
Old version, no longer maintained: 5.4.02014-01-07
  • Added support for PyQt5 projects [9]
Old version, no longer maintained: 5.5.02014-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 [9]
6Old version, no longer maintained: 6.0.02014-12-28
  • eric 6 replaces the eric 5.5.x line of development. It is usable with any combination of Python 2 or Python 3, Qt5 or Qt4 and PyQt5 or PyQt4, on Linux, Mac OS X and Windows platforms
Old version, no longer maintained: 6.1.02015-12-05
  • Added multithreading support for checkers to make use of multiple CPUs/CPU-Cores [15]
16Old version, no longer maintained: 16.112016-11-12
  • Switching the release scheme [10]
Old version, no longer maintained: 16.122016-12-03
17Old version, no longer maintained: 17.012017-01-01
Old version, no longer maintained: 17.022017-02-04
Old version, no longer maintained: 17.032017-03-03
Old version, no longer maintained: 17.042017-04-07
  • Minimum required Python versions increased: Python 2 - 2.7.10; Python 3 - 3.4.0
Old version, no longer maintained: 17.052017-05-06
Old version, no longer maintained: 17.062017-06-03
Old version, no longer maintained: 17.072017-07-02
Old version, no longer maintained: 17.082017-08-03
Old version, no longer maintained: 17.092017-09-01
Old version, no longer maintained: 17.102017-10-07
Old version, no longer maintained: 17.112017-11-03
Old version, no longer maintained: 17.122017-12-02
18Current stable version:18.012018-01-06
Current stable version:18.022018-02-03
  • Added support for attributes introduced with Qt 5.9 and Qt 5.10 [16]
  • New session file format
Current stable version:18.032018-03-04
Current stable version:18.042018-04-02
Current stable version:18.052018-05-01
Current stable version:18.062018-06-02
Current stable version:18.072018-07-07
Current stable version:18.082018-08-02
Current stable version:18.092018-09-02
Current stable version:18.102018-10-03
Current stable version:18.112018-11-01
Current stable version:18.122018-12-01
19Current stable version:19.012019-01-10
Current stable version:19.022019-02-02
Current stable version:19.032019-03-02
Current stable version:19.042019-04-06
Current stable version:19.052019-05-04
Current stable version:19.062019-06-02
Current stable version:19.072019-07-07
Current stable version:19.082019-08-03
Current stable version:19.092019-09-07
Current stable version:19.102019-10-03
Current stable version:19.112019-11-01
Current stable version:19.122019-12-07
20Current stable version:20.012020-01-01
Current stable version:20.022020-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. [17]

See also

Related Research Articles

An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop and NetBeans, do not.

<span class="mw-page-title-main">Qt (software)</span> Object-oriented framework for software development

Qt is cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

<span class="mw-page-title-main">KDevelop</span> Integrated development environment

KDevelop is a free and open-source integrated development environment (IDE) for Unix-like computer operating systems and Windows. It provides editing, navigation and debugging features for several programming languages, and integration with build automation and version-control systems, using a plugin-based architecture.

<span class="mw-page-title-main">Gambas</span> Integrated development environment

Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a recursive acronym for Gambas Almost Means Basic. Gambas is also the word for prawns in the Spanish, French, and Portuguese languages, from which the project's logos are derived.

<span class="mw-page-title-main">PyQt</span> Python GUI library

PyQt is a Python binding of the cross-platform GUI toolkit Qt, implemented as a Python plug-in. PyQt is free software developed by the British firm Riverbank Computing. It is available under similar terms to Qt versions older than 4.5; this means a variety of licenses including GNU General Public License (GPL) and commercial license, but not the GNU Lesser General Public License (LGPL). PyQt supports Microsoft Windows as well as various kinds of UNIX, including Linux and MacOS.

<span class="mw-page-title-main">IntelliJ IDEA</span> Integrated development environment

IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development.

<span class="mw-page-title-main">Komodo Edit</span> Text editor for dynamic programming languages

Komodo Edit is a free and open source text editor for dynamic programming languages. It was introduced in January 2007 to complement ActiveState's commercial Komodo IDE. As of version 4.3, Komodo Edit is built atop the Open Komodo project. Komodo IDE is no longer supported and maintained by developers for Python.

<span class="mw-page-title-main">Aptana</span> Text editor

Aptana, Inc. is a company that makes web application development tools for use with a variety of programming languages. Aptana's main products include Aptana Studio, Aptana Cloud and Aptana Jaxer.

The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.

<span class="mw-page-title-main">Komodo IDE</span>

Komodo IDE is an integrated development environment (IDE) for dynamic programming languages. It was introduced in May 2000. Many of Komodo's features are derived from an embedded Python interpreter.

<span class="mw-page-title-main">PyDev</span>

PyDev is a third-party plug-in for Eclipse. It is an Integrated Development Environment (IDE) used for programming in Python supporting code refactoring, graphical debugging, code analysis among other features.

<span class="mw-page-title-main">IDLE</span> Integrated development environment for Python

IDLE is an integrated development environment for Python, which has been bundled with the default implementation of the language since 1.5.2b1. It is packaged as an optional part of the Python packaging with many Linux distributions. It is completely written in Python and the Tkinter GUI toolkit.

Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such as developing web forms from scratch, although a web developer may build a form from scratch if required.

<span class="mw-page-title-main">Qt Creator</span> QT development environment

Qt Creator is a cross-platform C++, JavaScript, Python and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which encapsulates host OS GUI function calls. It includes a visual debugger and an integrated WYSIWYG GUI layout and forms designer. The editor has features such as syntax highlighting and autocompletion. Qt Creator uses the C++ compiler from the GNU Compiler Collection on Linux. On Windows it can use MinGW or MSVC with the default install and can also use Microsoft Console Debugger when compiled from source code. Clang is also supported.


The Wing Python IDE is a family of integrated development environments (IDEs) from Wingware created specifically for the Python programming language, with support for editing, testing, debugging, inspecting/browsing, and error-checking Python code.

<span class="mw-page-title-main">Ninja-IDE</span>

NINJA-IDE, is a cross-platform integrated development environment (IDE) designed to build Python applications.

<span class="mw-page-title-main">PyCharm</span> Python IDE

PyCharm is an integrated development environment (IDE) used for programming in Python. It provides code analysis, a graphical debugger, an integrated unit tester, integration with version control systems, and supports web development with Django. PyCharm is developed by the Czech company JetBrains.

<span class="mw-page-title-main">Spyder (software)</span> IDE for scientific programming in Python

Spyder is an open-source cross-platform integrated development environment (IDE) for scientific programming in the Python language. Spyder integrates with a number of prominent packages in the scientific Python stack, including NumPy, SciPy, Matplotlib, pandas, IPython, SymPy and Cython, as well as other open-source software. It is released under the MIT license.

<span class="mw-page-title-main">Lector (software)</span>

Lector is a free e-book reading application for desktop Linux systems that also has basic collection management features.

References

  1. "News".
  2. Detlev Offenbach. "ANN: eric 23.8 released".
  3. Sourceforge: Eric Integrated Development Environment
  4. Ubuntu package search: eric
  5. Official website: Access information for mercurial repository
  6. Reitz, Kenneth; Schlusser, Tanya (August 30, 2016). The Hitchhiker's Guide to Python: Best Practices for Development. O'Reilly Media, Inc. p. 31. ISBN   9781491933237 . Retrieved January 18, 2019.
  7. Charney, Reg (August 30, 2004). "Programming Tools: Eric3". Linux Journal. Retrieved January 18, 2019.
  8. eric-ide.python-projects.org: Features
  9. 1 2 3 eric news 2014
  10. 1 2 eric news 2016
  11. 1 2 eric news 2007
  12. 1 2 eric news 2010
  13. 1 2 eric news 2012
  14. eric news 2013
  15. eric news 2015
  16. eric news 2018
  17. Bidwell, Jonni (April 14, 2018). "Best IDE for Python in 2018". TechRadar. Retrieved January 18, 2019.