Metadata-Version: 2.4
Name: pythinker-host
Version: 1.0.0
Summary: Pythinker OS-abstraction layer (local + SSH filesystem and shell).
Keywords: ssh,filesystem,shell,async,asyncssh,host
Author: Mohamed Elkholy
Author-email: Mohamed Elkholy <moelkholy1995@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Filesystems
Classifier: Topic :: System :: Shells
Requires-Dist: aiofiles>=24.0,<26.0
Requires-Dist: asyncssh==2.22.0
Requires-Python: >=3.12
Project-URL: Changelog, https://github.com/mohamed-elkholy95/Pythinker-Code/blob/main/packages/pythinker-host/CHANGELOG.md
Project-URL: Homepage, https://github.com/mohamed-elkholy95/Pythinker-Code
Project-URL: Issues, https://github.com/mohamed-elkholy95/Pythinker-Code/issues
Project-URL: Repository, https://github.com/mohamed-elkholy95/Pythinker-Code
Description-Content-Type: text/markdown

# Pythinker Host

Pythinker Host is the OS-abstraction layer used by Pythinker agents. It exposes a `Host` Protocol that unifies local filesystem and shell execution with remote (SSH) and ACP-backed backends, so tools written against Pythinker Host run unchanged regardless of where the agent's work happens.

## Installation

Pythinker Host requires Python 3.12 or higher.

```bash
uv add pythinker-host
```

## Usage

```python
from pythinker_host import LocalHost, set_current_host
from pythinker_host.path import HostPath

backend = LocalHost()
set_current_host(backend)

path = HostPath("/etc/hostname")
```
