/spyder-terminal

Run system terminals inside Spyder. Works on Linux, macOS and Windows.

Primary LanguagePythonMIT LicenseMIT

Spyder-Terminal

License (MIT) PyPI development status Latest PyPI version Latest Conda-Forge version Circle-CI build status Appveyor build status Coveralls Code Coverage OpenCollective Backers Join the chat at https://gitter.im/spyder-ide/spyder-terminal

Copyright © 2017–2018 Spyder Project Contributors

Animated GIF of Spyder-Terminal on Linux


Plugin development paused until Spyder 4 release

Currently, work on official Spyder plugins is paused to focus our limited resources on the development and release of Spyder 4, the next generation of the Scientific Python Development Environment. Thanks to your continuing support, we are on track for the final release of Spyder 4 in early 2019 with many highly anticipated features, including exposing a new public API for external plugins, to make them easier to develop and more powerful. Once that happens, active plugin development will resume, to add new features and fix outstanding bugs. However, organizations or the community are welcome to offer funding to continue development sooner; if so, please contact us!

Spyder development is made possible by contributions from our global user community, along with organizations like NumFOCUS and Quansight. There are numerous ways you can help, many of which don't require any programming. If you'd like to make a donation to help fund further improvements, we're on OpenCollective.

Thanks for all you do to make the Spyder project thrive! More details


Overview

Spyder plugin for displaying an OS independent virtual terminal inside the main Spyder window. 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; or, on Windows, console applications such as powershell.

Animated GIF of Spyder-Terminal on Windows

Installation

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

Using pip:

pip install spyder-terminal

Using conda:

conda install spyder-terminal -c spyder-ide

Dependencies

This project depends on

Changelog

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

Server implementation

Besides a Qt console, 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:

cd spyder_terminal/server

# 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 main.py --port <PORT> --shell <Path to the terminal backend to execute>

Development and contribution

To start contributing to this project, you must have installed the yarn package manager, then you can execute python setup.py install to test your changes on Spyder. We follow PEP8 and PEP257 style guidelines.


Support us with a monthly donation and help us continue our activities.

Backers

Sponsors

Become a sponsor to get your logo on our README on Github.

Sponsors

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