Spyder (Scientific PYthon Development EnviRonment, previously known as Pydee) is a simple and lightweight, yet powerful interactive development environment for scientific programming in the Python language. This software is open source and cross-platform. It can be installed on Windows using Python(x,y), WinPython or Anaconda, on Mac OS via Anaconda or MacPorts. Spyder also can be integrated to widely used Linux distributions (Ubuntu, Debian, Fedora, OpenSuse, Gentoo, ArchLinux).
Spyder is useful and reliable Python software that features advanced editing, tools for data inspection, interactive testing and debugging. Also it embeds Python-specific code quality assurance and introspection instruments, such as Pyflakes, Pylint and rope. This IDE integrates such tools as NumPy, SciPy, Matplotlib and IPython, as well as other open source software.
Spyder is a part of spyderlib, a Python module based on PyQt4, pyflakes, rope and sphinx that provides robust PyQt4 or PySide widgets like source code editors, Python console or GUI-based dictionary, lists/tuples and NumPy array editors. Spyder offers MATLAB-like PYTHONPATH management dialog box (works with all consoles).
Since IDE is mainly directed on code writing and testing, a powerful editor is a key element of Spyder. The main editor’s features are:
- syntax coloring for Python, C/C++, Fortran;
- breakpoints and conditional breakpoints (debugger: pdb);
- powerful dynamic code introspection features (powered by rope), including code completion and calltips;
- integrated pylint code analysis;
- class and function browser;
- code outline explorer: functions, classes, if/else/try/... statements;
- occurrence highlighting;
- to-do lists (TODO, FIXME, XXX);
- errors and warnings with real-time code analysis (provided by pyflakes);
- opportunity to run a whole script or any portion of it from the editor;
- code completion and automatic link to documentation through the Object Inspector.
Basic Console features:
- all consoles are executed in a separate process;
- open Python interpreters or basic terminal command windows;
- many Python and Ipython consoles work simultaniously;
- Python interpreter;
- running Python script;
- User Module Deleter ( forces the Python interpreter to reload modules completely when executing a Python script);
- variable explorer: GUI-based editors for a lot of data types (numbers, strings, lists, arrays, dictionaries, etc.); import/export data from/to a lot of file types (text files, !NumPy files, MATLAB files); multiple array/list/dict editor instances at once, thus allowing to compare variable contents; data visualization.
Other features include history log, Object inspector (provides documentation or source code that may be displayed as an html page due to the rich text mode, powered by sphinx), and Project Explorer (support Pydev project import). Spyder is a powerful IDE for scientific programming in Python. It is efficient and free alternative to MatLab.