Spyder (software)
Original author(s) | Pierre Raybaut |
---|---|
Developer(s) | Spyder project contributors |
Initial release | 18 October 2009[1][2] |
Stable release | 6.0.2[3]
/ 31 October 2024 |
Repository | |
Written in | Python |
Operating system | Cross-platform |
Platform | Qt, Windows, macOS, Linux |
Type | Integrated development environment |
License | MIT |
Website | www |
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, as well as other open-source software.[4][5] Created by Pierre Raybaut[6] and released in 2009[1][2] under the MIT license,[7] since 2012 Spyder has been maintained and continuously improved by Python developers and the community.[citation needed]
Spyder is extensible with first-party and third-party plugins,[8] and includes support for interactive tools for data inspection and embeds Python-specific code quality assurance and introspection instruments, such as Pyflakes, Pylint[9] and Rope.[10][11] Spyder uses Qt for its GUI and is designed to use either of the PyQt or PySide Python bindings.[12] QtPy, a thin abstraction layer developed by the Spyder project and later adopted by multiple other packages, provides the flexibility to use either backend.[13]
History
[edit]Initially created and developed by Pierre Raybaut,[6] it is released under the MIT license.[7] It was published on October 18, 2009.[1][2]
Since 2012 Spyder has been maintained and continuously improved by a team of scientific Python developers and the community.[citation needed] As of 2024, the Spyder website lists the Chan Zuckerberg Initiative and NumFocus as their two major sponsors, also noting donations received from users through Open Collective.[14] Carlos Cordoba was listed as the lead maintainer of the software, with Daniel Althiz as co-maintainer.[6]
Software
[edit]It 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.[4][5]
Spyder is extensible with first-party and third-party plugins,[8] includes support for interactive tools for data inspection and embeds Python-specific code quality assurance and introspection instruments, such as Pyflakes, Pylint[9] 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.[10][11]
Spyder uses Qt for its GUI and is designed to use either of the PyQt or PySide Python bindings.[12] QtPy, a thin abstraction layer developed by the Spyder project and later adopted by multiple other packages, provides the flexibility to use either backend.[13]
Features
[edit]Features include:[15]
- 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
Plugins
[edit]Available plugins include:[16]
- 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
- Download Spyder Notebook
- Using conda: conda install spyder-notebook -c spyder-ide
- Using pip: pip install spyder-notebook
- 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
- Download Spyder Terminal
- Using conda: conda install spyder-terminal -c spyder-ide
- Using pip: pip install spyder-terminal
- 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
See also
[edit]References
[edit]- ^ a b c "spyder-ide/spyder at v1.0.0". GitHub. Retrieved 3 April 2017.
- ^ a b c "(Python)(ANN) Spyder v1.0.0 released". 18 October 2009.
- ^ "Release Spyder 6.0.2". 31 October 2024. Retrieved 18 November 2024.
- ^ a b "Migrating from MATLAB to Python". Greener Engineering. et.byu.edu. Archived from the original on 2014-10-10. Retrieved 9 February 2014.
- ^ a b "Spyder review". review.techworld.com. Archived from the original on 3 December 2013. Retrieved 9 February 2014.
- ^ a b c "About". spyder-ide.org. 2024. Retrieved December 2, 2024.
- ^ a b "Spyder license". GitHub.
- ^ a b "SpyderPlugins – spyderlib – Plugin development – Spyder is the Scientific PYthon Development EnviRonment". Archived from the original on 24 October 2013. Retrieved 9 February 2014.
- ^ a b "Pylint extension – Spyder 2.2 documentation". packages.python.org. Archived from the original on 1 February 2014. Retrieved 9 February 2014.
- ^ a b "Reviews for spyder". apps.ubuntu.com. Retrieved 9 February 2014.
- ^ a b "Seznámení s Python IDE Spyder". fedora.cz. Archived from the original on 20 August 2013. Retrieved 9 February 2014.
- ^ a b "Spyder runtime dependencies". github.com. 21 February 2015.
- ^ a b "QtPy: Abstraction layer for PySide/PyQt4/PyQt5". github.com. 23 October 2015. Retrieved 28 December 2015.
- ^ "Spyder website main page". spyder-ide.org. 2024. Retrieved December 2, 2024.
- ^ "Spyder Documention – Features Overview". Spyder Project. Archived from the original on 2019-01-23. Retrieved 2018-07-30.
- ^ "Spyder Plugins List". Spyder Project. Retrieved 2018-07-30.