terminado
Tornado websocket backend for the Xterm.js Javascript terminal emulator library.
Install
terminado on PyPI
pip
pip install terminadouv
uv add terminadopoetry
poetry add terminadoPackage facts
| License | BSD 2-Clause License - Copyright (c) 2014-, Jupyter development team - Copyright (c) 2014, Ramalingam Saravanan <sarava@sarava.net> All rights reserved. Redistribution and use in source and binary… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — ptyprocess, pywinpty, tornado |
| Maintenance | aging — 884 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: terminado-0.18.1-py3-none-any.whl
About terminado
from the package's own PyPI description — quoted content, verbatim
Terminado
Build Status (image) Documentation Status (image)
This is a Tornado websocket backend for the Xterm.js Javascript terminal emulator library.
It evolved out of pyxterm, which was part of GraphTerm (as lineterm.py), v0.57.0 (2014-07-18), and ultimately derived from the public-domain Ajaxterm code, v0.11 (2008-11-13) (also on Github as part of QWeb).
Modules:
terminado.management: controls launching virtual terminals, connecting them to Tornado's event loop, and closing them down.terminado.websocket: Provides a websocket handler for communicating with a terminal.terminado.uimodule: Provides aTerminalTornado [UI...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Terminado provides a Tornado websocket backend that connects the Xterm.js browser terminal emulator to system shells, enabling interactive terminal sessions over the web.
Low friction: pure Python wheel with three runtime dependencies (ptyprocess, pywinpty, tornado). Last release was 884 days ago; repository is active but aging, with 373 GitHub stars indicating established use in the Jupyter ecosystem.
BSD 2-Clause permissive license allows commercial and private use with minimal restrictions; you must retain copyright and license notices in source and binary distributions.
Usage
pip install terminado
import terminado
import tornado.web
import tornado.ioloop
term_manager = terminado.SingleTermManager(shell_command=["bash"])
handlers = [(r"/websocket", terminado.TermSocket, {"term_manager": term_manager})]
app = tornado.web.Application(handlers)
app.listen(8765, "localhost")
tornado.ioloop.IOLoop.instance().start()
Requires Python ≥3.8 and a Tornado application framework; ptyprocess (Unix) or pywinpty (Windows) must be available for the target OS.
Verdict: Terminado is a mature, permissively licensed websocket terminal backend suitable for Jupyter and other Tornado-based web applications. No known vulnerabilities, low install friction, and active maintenance within the Jupyter project make it a reliable choice for browser-based terminal access—though the 884-day gap since last release warrants checking for any pending fixes before production deployment.
Needs verification
- Whether the 884-day release gap reflects stability/completion or deferred maintenance requiring backported security patches.
- Compatibility of ptyprocess and pywinpty versions with current OS distributions and Python 3.12+.
Similar packages
permissive · top 1,000 on PyPI
websocketspermissive · top 100 on PyPI
debugpypermissive · top 1,000 on PyPI
jupyter-server-terminalspermissive · top 1,000 on PyPI
jupyter-lsppermissive · top 1,000 on PyPI
wcwidthpermissive · top 1,000 on PyPI
jupyter-eventspermissive · top 1,000 on PyPI
widgetsnbextensionpermissive · top 1,000 on PyPI
jupyter-corepermissive · top 1,000 on PyPI
elasticsearchpermissive · top 1,000 on PyPI