ASAysha Shafique
← Back to all projects
PYTHON · DEVELOPER TOOL

Textish

A Python library that serves any Textual app over SSH through a custom terminal driver, with isolated app instances coordinated on one asynchronous event loop.

0196× lower memory
024.3× faster startup
034 PyPI releases
04Load-hardened SSH service
01

The integration problem

A Textual application already has a complete terminal interface, but exposing it remotely usually means rebuilding terminal transport and session management. Textish packages that infrastructure behind a Python API and a custom terminal driver.

  • Users connect with a standard SSH client.
  • Application authors keep their existing Textual UI.
  • Rendering, input, and resize events flow between isolated app instances and AsyncSSH channels.
02

One asynchronous runtime

I re-architected Textish from a subprocess-per-connection model to isolated application instances coordinated by a single asyncio event loop.

  • Reduced per-connection memory usage by 96×.
  • Improved startup time by 4.3×.
  • Kept sessions isolated while removing process-per-connection overhead.
03

A production-shaped library

The service includes the controls needed to remain reliable under load rather than stopping at a demo: public-key authentication, idle cleanup, backpressure, and automated verification.

  • Published four automated releases to PyPI through GitHub Actions.
  • Added unit and integration coverage with pytest plus static checks with mypy.
  • Improved load behavior through idle-connection cleanup and backpressure.
Where to?