Metadata-Version: 2.4
Name: py-aiterm
Version: 0.0.1
Summary: A modern, voice-enabled AI terminal assistant with local LLM integration and Model Context Protocol (MCP) support.
Project-URL: Repository, https://github.com/vsaravind01/ai-term.git
Author-email: Sudharsan Aravind <vsaravind01@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: ai,assistant,llm,mcp,speech-to-text,terminal,text-to-speech,textual,voice
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.10
Requires-Dist: aiosqlite>=0.20.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: langchain-ollama>=0.2.0
Requires-Dist: langchain>=0.3.0
Requires-Dist: mcp>=1.0.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: python-dotenv>=1.2.1
Requires-Dist: sounddevice>=0.5.3
Requires-Dist: sqlalchemy[asyncio]>=2.0.0
Requires-Dist: textual>=0.80.0
Requires-Dist: typer>=0.21.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest-cov>=6.0.0; extra == 'dev'
Requires-Dist: pytest-mock>=3.14.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Requires-Dist: textual-dev>=0.80.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5.0; extra == 'docs'
Requires-Dist: mkdocs-mermaid2-plugin>=1.1.0; extra == 'docs'
Requires-Dist: mkdocs>=1.6.0; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.25.0; extra == 'docs'
Provides-Extra: server
Requires-Dist: fastapi>=0.112.0; extra == 'server'
Requires-Dist: python-multipart>=0.0.9; extra == 'server'
Requires-Dist: uvicorn>=0.30.0; extra == 'server'
Provides-Extra: stt
Requires-Dist: ai-term[server]; extra == 'stt'
Requires-Dist: openai-whisper>=20250625; extra == 'stt'
Provides-Extra: tts
Requires-Dist: ai-term[server]; extra == 'tts'
Requires-Dist: tts>=0.22.0; extra == 'tts'
Description-Content-Type: text/markdown

<div align="center">

![ai_term Banner](https://github.com/vsaravind01/ai-term/blob/master/docs/img/banner.png?raw=true)

**ai_term** is an open-source, voice-enabled terminal assistant that integrates LLMs (Large Language Models), Speech-to-Text (STT), and Text-to-Speech (TTS) into a powerful Command Line Interface (CLI) experience.

[![PyPI version](https://img.shields.io/pypi/v/py-aiterm.svg)](https://pypi.org/project/py-aiterm/)
[![Docs Deployment](https://github.com/vsaravind01/ai-term/actions/workflows/deploy_docs.yml/badge.svg)](https://github.com/vsaravind01/ai-term/actions/workflows/deploy_docs.yml)
[![Docker Images](https://github.com/vsaravind01/ai-term/actions/workflows/docker_images.yml/badge.svg)](https://github.com/vsaravind01/ai-term/actions/workflows/docker_images.yml)

</div>

## Features

- **🗣️ Voice Interaction**: Talk to your terminal and hear responses back.
- **🧠 LLM Integration**: Support for Local (Ollama) and Cloud (OpenAI, Anthropic) models.
- **🔌 MCP Support**: Model Context Protocol client for extensible tool use.
- **🖥️ TUI Interface**: Beautiful, responsive terminal UI built with [Textual](https://textual.textualize.io/).
- **⚙️ Dynamic Configuration**: Easy-to-use settings screen for managing providers and secrets.

## Prerequisites

- Python 3.10+
- `uv` (recommended) or `pip`
- `ffmpeg` (required for audio processing)

## Installation

### From PyPI (Recommended for users)
```bash
pip install py-aiterm
```

### From Source (For development)
1. **Clone the repository:**
   ```bash
   git clone https://github.com/vsaravind01/ai-term.git
   cd ai-term
   ```

2. **Install dependencies:**
   ```bash
   uv sync
   # OR with pip
   pip install -e .
   ```

## Quick Start

The application runs as a distributed system with a main CLI and two support microservices.

### 1. Start Support Services

Run the following command to start the STT and TTS services in the background:

```bash
ai-term start
```

This pulls pre-built Docker images from GHCR and starts the services.

### 2. Check Status (Optional)
You can verify the services are running with:

```bash
ai-term status
```

### 3. Start the CLI
In your main terminal:

```bash
uv run ai-term
```

## Documentation

Full documentation is available in the `docs/` directory. To view it locally:

```bash
uv run mkdocs serve
```

- [**Setup Guide**](docs/setup.md)
- [**Docker Guide**](docs/docker.md)
- [**CLI Documentation**](docs/cli/index.md)
- [**API Reference**](docs/api.md)

## License

[MIT](LICENSE)