Spyder (software)

From Wikipedia, the free encyclopedia
(Redirected from Spyder IDE)
Jump to navigation Jump to search
Spyder
Original authorPierre Raybaut
DeveloperSpyder project contributors
Initial release18 October 2009; 16 years ago (2009-10-18)[1][2]
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inPython
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    PlatformQt, Windows, macOS, Linux
    TypeIntegrated development environment
    LicenseMIT

    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.[3][4] Created by Pierre Raybaut[5] and released in 2009[1][2] under the MIT license,[6] 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,[7] and includes support for interactive tools for data inspection and embeds Python-specific code quality assurance and introspection instruments, such as Pyflakes, Pylint[8] and Rope.[9][10] Spyder uses Qt for its GUI and is designed to use either of the PyQt or PySide Python bindings.[11] QtPy, a thin abstraction layer developed by the Spyder project and later adopted by multiple other packages, provides the flexibility to use either backend.[12]

    History

    [edit | edit source]

    Initially created and developed by Pierre Raybaut,[5] it was published on October 18, 2009[1][2] under the MIT license.[6]

    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.[13] Carlos Cordoba was listed as the lead maintainer of the software, with Daniel Althiz as co-maintainer.[5]

    Software

    [edit | edit source]

    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.[3][4]

    Spyder is extensible with first-party and third-party plugins,[7] includes support for interactive tools for data inspection and embeds Python-specific code quality assurance and introspection instruments, such as Pyflakes, Pylint[8] 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.[9][10]

    Spyder uses Qt for its GUI and is designed to use either of the PyQt or PySide Python bindings.[11] QtPy, a thin abstraction layer developed by the Spyder project and later adopted by multiple other packages, provides the flexibility to use either backend.[12]

    Features

    [edit | edit source]

    Features include:[14]

    • 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 | edit source]

    Available plugins include:[15]

    • 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 | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]
    • Lua error in Module:Official_website at line 94: attempt to index field 'wikibase' (a nil value).
    • Documentation
    • spyder on GitHub