Metadata-Version: 2.4
Name: openpylot
Version: 0.1.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Rust
Classifier: Topic :: Software Development :: Libraries
Requires-Dist: pytest>=7.0 ; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21 ; extra == 'dev'
Provides-Extra: dev
Summary: OpenPylot — A Rust-powered personal AI assistant (Python bindings)
Keywords: ai,assistant,agent,personal-assistant,llm,pylot
License-Expression: Apache-2.0
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/gmvofficial/OpenPylot
Project-URL: Repository, https://github.com/gmvofficial/OpenPylot

# OpenPylot — Python Bindings

Python bindings for [OpenPylot](https://github.com/gmvofficial/OpenPylot), a Rust-powered personal AI assistant.

## Installation

```bash
pip install openpylot
```

> **Note:** The Rust binary must also be installed. The Python package wraps
> the native binary via PyO3 and also provides a CLI shim.

## Quick Start

### Interactive Setup

```python
from pylot import PylotAgent

PylotAgent.init()  # Launches the terminal wizard
```

### Chat

```python
from pylot import PylotAgent

agent = PylotAgent.from_config("~/.pylot/secrets.enc")
response = agent.chat("What meetings do I have today?")
print(response)
```

### Programmatic / CI Setup

```python
from pylot import PylotAgent, Config

config = Config(
    llm_provider="openai",
    llm_model="gpt-4o",
    openai_api_key="sk-...",
    telegram_bot_token="...",
)
agent = PylotAgent(config)
response = agent.chat("Schedule a meeting with John tomorrow at 3pm")
```

### Custom Tools

```python
def search_web(query: str) -> str:
    # your implementation
    return "results..."

agent.register_tool(
    name="search_web",
    schema='{"type":"object","properties":{"query":{"type":"string"}}}',
    callback=search_web,
)
```

## CLI

Once installed, `pylot` is available on your PATH:

```bash
pylot init          # Interactive setup
pylot chat "Hi"     # One-shot chat
pylot serve         # Background daemon
pylot doctor        # Diagnostics
```

## Development

```bash
# Install maturin
pip install maturin

# Build and install in development mode
cd python
maturin develop

# Run tests
pip install -e ".[dev]"
pytest
```

## License

MIT

