Spyder, the Scientific Python Development Environment, is a powerful open-source IDE written in Python, for Python, and designed by and for scientists, engineers and data analysts. It offers a unique combination of the advanced editing, code analysis, built-in debugging, and detailed profiling functionality of a comprehensive development tool with the data exploration, interactive execution, deep inspection, and beautiful visualization capabilities of a scientific package. What's more, its abilities can be extended even further via its plugin system and API.
Use as an IDE
Spyder is a Python development environment with many features for research, data analysis, and scientific package creation:
Work efficiently in a multi-language editor with a function/class browser, real-time code analysis tools (
pycodestyle), automatic code completion (
rope), horizontal/vertical splitting, and go-to-definition.
Multiple IPython consoles with workspace and debugging support to instantly evaluate the code written in the Editor. Spyder consoles also come with full Matplotlib integration.
Render documentation in real-time with Sphinx for any class or function, whether external or user-created from either the Editor or a Console.
Inspect any variables, functions or objects created during your session. Editing and interaction is supported with many common types, including numeric/strings/bools, Python lists/tuples/dictionaries, dates/timedeltas, Numpy arrays, Pandas index/series/dataframes, PIL/Pillow images, and more.
Examine your code with the static analyzer, trace its execution with the interactive debugger, measure its performance with the profiler, and keep things organized with project support and a builtin file explorer.
Find in files
Search for queries across multiple files in your project, with full support for regular expressions.
Plugin support API
This allows for extending Spyder to add more functionality right inside the IDE. (Beta!)
Use as a (Python) library
Spyder may also be used as a PyQt5 extension library (module
spyder). For example, the Python interactive shell widget used in Spyder may be embedded in your own PyQt5 application.