Screenshot of Spyder on Windows
|Original author(s)||Pierre Raybaut|
|Developer(s)||Spyder project contributors|
|Initial release||18 October 2009|
4.0.1 / 2 January 2020
|Platform||Qt, Windows, macOS, Linux|
|Type||Integrated development environment|
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.
Initially created and developed by Pierre Raybaut in 2009, since 2012 Spyder has been maintained and continuously improved by a team of scientific Python developers and the community.
Spyder is extensible with first- and third-party plugins, includes support for interactive tools for data inspection and embeds Python-specific code quality assurance and introspection instruments, such as Pyflakes, Pylint and Rope. It is available cross-platform through Anaconda, on Windows, on macOS through MacPorts, and on major Linux distributions such as Arch Linux, Debian, Fedora, Gentoo Linux, openSUSE and Ubuntu.
Spyder uses Qt for its GUI, and is designed to use either of the PyQt or PySide Python bindings. QtPy, a thin abstraction layer developed by the Spyder project and later adopted by multiple other packages, provides the flexibility to use either backend.
- An editor with syntax highlighting, introspection, code completion
- Support for multiple IPython consoles
- The ability to explore and edit variables from a GUI
- A Help pane able to retrieve and render rich text documentation on functions, classes and methods automatically or on-demand
- A debugger linked to IPdb, for step-by-step execution
- Static code analysis, powered by Pylint
- A run-time Profiler, to benchmark code
- Project support, allowing work on multiple development efforts simultaneously
- A built-in file explorer, for interacting with the filesystem and managing projects
- A "Find in Files" feature, allowing full regular expression search over a specified scope
- An online help browser, allowing users to search and view Python and package documentation inside the IDE
- A history log, recording every user command entered in each console
- An internal console, allowing for introspection and control over Spyder's own operation
Available plugins include:
- Spyder-Unittest, which integrates the popular unit testing frameworks Pytest, Unittest and Nose with Spyder
- Spyder-Notebook, allowing the viewing and editing of Jupyter Notebooks within the IDE
- Spyder-Reports, enabling use of literate programming techniques in Python
- Spyder-Terminal, adding the ability to open, control and manage cross-platform system shells within Spyder
- Spyder-Vim, containing commands and shortcuts emulating the Vim text editor
- Spyder-AutoPEP8, which can automatically conform code to the standard PEP 8 code style
- Spyder-Line-Profiler and Spyder-Memory-Profiler, extending the built-in profiling functionality to include testing an individual line, and measuring memory usage
- "spyder-ide/spyder at v1.0.0". GitHub. Retrieved 3 April 2017.
- "(Python)(ANN) Spyder v1.0.0 released". 18 October 2009.
- "Migrating from MATLAB to Python | Greener Engineering". et.byu.edu. Retrieved 9 February 2014.
- "Spyder review – Techworld.com". review.techworld.com. Retrieved 9 February 2014.
- "Spyder license".
- "SpyderPlugins – spyderlib – Plugin development – Spyder is the Scientific PYthon Development EnviRonment – Google Project Hosting". code.google.com. Archived from the original on 24 October 2013. Retrieved 9 February 2014.
- "Pylint extension – Spyder 2.2 documentation". packages.python.org. Retrieved 9 February 2014.
- "Reviews for spyder". apps.ubuntu.com. Retrieved 9 February 2014.
- "Seznámení s Python IDE Spyder | Fedora.cz". fedora.cz. Archived from the original on 20 August 2013. Retrieved 9 February 2014.
- "Spyder runtime dependencies". github.com. 21 February 2015.
- "QtPy: Abstraction layer for PySide/PyQt4/PyQt5". github.com. 23 October 2015. Retrieved 28 December 2015.
- "Spyder Documention – Features Overview". Spyder Project. Retrieved 2018-07-30.
- "Spyder Plugins List". Spyder Project. Retrieved 2018-07-30.