Metadata-Version: 2.4
Name: ptymini
Version: 0.0.1
Summary: Asyncio pty sessions: spawn, write, multi-client attach with replay, and a named registry
Author-email: Jeremy Howard <github@jhoward.fastmail.fm>
License: Apache-2.0
Project-URL: Repository, https://github.com/AnswerDotAI/ptymini
Project-URL: Documentation, https://AnswerDotAI.github.io/ptymini/
Keywords: nbdev
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastcore>=2.1.18
Requires-Dist: ptyprocess>=0.7
Dynamic: license-file

# ptymini


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

`ptymini` fills the gap between `ptyprocess` (a raw pty fd), `pexpect` (sync expect loops), and `terminado` (a pty server welded to tornado): asyncio-native pty *sessions*. A [`PtySession`](https://AnswerDotAI.github.io/ptymini/core.html#ptysession) is one spawned pty that any number of clients can attach to as independent byte streams, each primed from a byte-bounded replay buffer — so a reconnecting client resumes with recent scrollback instead of a blank screen. A [`PtyRegistry`](https://AnswerDotAI.github.io/ptymini/core.html#ptyregistry) adds named get-or-create sessions, injected shell setup (`rc`), and inactivity culling. It carries no server, no framework, and no session persistence beyond the process: web exposure belongs to the embedding app (e.g. [jupygate](https://github.com/AnswerDotAI/jupygate)), and durable session management belongs to tmux.

## Usage

### Installation

Install latest from the GitHub [repository](https://github.com/AnswerDotAI/ptymini):

``` sh
$ pip install git+https://github.com/AnswerDotAI/ptymini.git
```

or from [conda](https://anaconda.org/AnswerDotAI/ptymini)

``` sh
$ conda install -c AnswerDotAI ptymini
```

or from [pypi](https://pypi.org/project/ptymini/)

``` sh
$ pip install ptymini
```

### Documentation

Documentation can be found hosted on this GitHub [repository](https://github.com/AnswerDotAI/ptymini)’s [pages](https://AnswerDotAI.github.io/ptymini/). Additionally you can find package manager specific guidelines on [conda](https://anaconda.org/AnswerDotAI/ptymini) and [pypi](https://pypi.org/project/ptymini/) respectively.
