Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time


Project status

License (MIT) PyPI development status Latest PyPI version Latest Conda-Forge version OpenCollective Backers Join the chat at

Build status

Circle-CI build status Azure build status Coveralls Code Coverage Crowdin

Copyright © 2017–2020 Spyder Project Contributors


This is a Spyder plugin for displaying an OS independent virtual terminal inside the main Spyder window. It currently supports both Unix-like and Windows operating systems.

Spyder-Terminal allows you to easily execute any bash command inside Spyder, even ncurses programs like nano or vi:

Animated GIF of Spyder-Terminal on Linux

On Windows you can run console applications such as IPython or powershell:

Animated GIF of Spyder-Terminal on Windows


To install this plugin, you can use either the conda or pip package managers, as follows:

Using conda:

conda create -n spyder-env -c conda-forge spyder-terminal
conda activate spyder-env

Using pip (only if you don't use conda!):

pip install spyder-terminal

Note: At the moment it is not possible to use this plugin with the Spyder installers for Windows and macOS. We're working to make that a reality in the future.


This project depends on


Visit our CHANGELOG file to know more about our new features and improvements.

Server implementation

Besides a Qt terminal, spyder-terminal also provides a web-based terminal interface based on Tornado, which allows you to deploy and serve terminals from a Web/Javascript frontend. To deploy only the server, you can execute the following bash script:

# Shell option:

# On Unix systems this can be bash/tcsh/zsh or any Unix shell:
# bash: /usr/bin/env bash

# On Windows systems this might be cmd or powershell:
# cmd: %SystemRoot%\windows\system32\cmd.exe
# powershell: %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe

python -m spyder_terminal.server --port <PORT> --shell <Path to the terminal backend to execute>

Development and contribution

To start contributing to this project, you need to install the yarn and npm package managers. If you use conda, you can run the following command to do that:

conda install -c conda-forge nodejs yarn

Then, please install the package's dependencies with:

conda create -n spyder-terminal-dev -c conda-forge --file requirements/{conda,conda_win}.txt

depending on your operating system.

Afterwards, you need to run

python build_static

to build the Javascript components for this plugin.

Finally, in order to run our test suite, please install its required dependencies with

conda install -c conda-forge --file requirements/tests.txt

and use pytest to run the server and client tests for the terminal like this

pytest .


Spyder is funded thanks to the generous support of

Quansight Numfocus

And the donations we have received from our users around the world through Open Collective:


More information

Main Website

Download Spyder (with Anaconda)

Spyder Github

Troubleshooting Guide and FAQ

Development Wiki

Gitter Chatroom

Google Group

@Spyder_IDE on Twitter

@SpyderIDE on Facebook

Support Spyder on OpenCollective