skillfed

terminado

Tornado websocket backend for the Xterm.js Javascript terminal emulator library.

terminado Permissive 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) AGING 373 v0.18.1 released

Install

terminado on PyPI

pip

pip install terminado

uv

uv add terminado

poetry

poetry add terminado

Package 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

Environment :: Web EnvironmentLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Topic :: Terminals :: Terminal Emulators/X Terminals

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 a Terminal Tornado [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+.
web terminal emulatortornado websocket terminalxterm.js backendbrowser shell accessremote terminal serverterminal over websocketjupyter terminal backend

Similar packages