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.
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.
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.