OverviewΒΆ

Spyder is a Python development environment with the following key features:

Key features:

  • general features:
    • MATLAB-like PYTHONPATH management dialog box (works with all consoles)
    • Windows only: current user environment variables editor
    • direct links to documentation (Python, Matplotlib, !NumPy, !Scipy, etc.)
    • direct link to Python(x,y) launcher
    • direct links to !QtDesigner, !QtLinguist and !QtAssistant (Qt documentation)
  • preferences dialog box:
    • keyboard shortcuts
    • syntax coloring schemes (source editor, history log, help)
    • console: background color (black/white), automatic code completion, etc.
    • and a lot more...
  • Editor:
    • syntax coloring (Python, C/C++, Fortran)
    • breakpoints and conditional breakpoints (debugger: pdb)
    • run or debug Python scripts (see console features)
    • run configuration dialog box:
      • working directory
      • command line options
      • run in a new Python interpreter or in an existing Python interpreter or IPython client
      • Python interpreter command line options
    • code outline explorer: functions, classes, if/else/try/... statements
    • powerful code introspection features (powered by rope):
      • code completion
      • calltips
      • go-to-definition: go to object (any symbol: function, class, attribute, etc.) definition by pressing Ctrl+Left mouse click on word or Ctrl+G (default shortcut)
    • occurrence highlighting
    • typing helpers (optional):
      • automatically insert closing parentheses, braces and brackets
      • automatically unindent after ‘else’, ‘elif’, ‘finally’, etc.
    • to-do lists (TODO, FIXME, XXX)
    • errors/warnings (real-time code analysis provided by pyflakes)
    • integrated static code analysis (using pylint)
    • direct link to winpdb external debugger
  • Console:
    • all consoles are executed in a separate process
    • code completion/calltips and automatic link to help (see below)
    • open Python interpreters or basic terminal command windows
    • run Python scripts (see source editor features)
    • variable explorer:
      • GUI-based editors for a lot of data types (numbers, strings, lists, arrays, dictionaries, ...)
      • 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
  • History log
  • Help:
    • provide documentation or source code on any Python object (class, function, module, ...)
    • documentation may be displayed as an html page thanks to the rich text mode (powered by sphinx)
  • Online help: automatically generated html documentation on installed Python modules
  • Find in files: find string occurrences in a directory, a mercurial repository or directly in PYTHONPATH (support for regular expressions and included/excluded string lists)
  • File Explorer
  • Projects

Spyder may also be used as a PyQt5 or PyQt4 extension library (module ‘spyder’). For example, the Python interactive shell widget used in Spyder may be embedded in your own PyQt5 or PyQt4 application.