Metadata-Version: 2.4
Name: ai-parrot-integrations
Version: 0.0.8
Summary: Messaging channel integrations for AI-Parrot (Slack, Telegram, MS Teams, WhatsApp, Matrix, Voice)
Author-email: Jesus Lara <jesuslara@phenobarbital.info>
License-Expression: MIT
Project-URL: Homepage, https://github.com/phenobarbital/ai-parrot
Project-URL: Source, https://github.com/phenobarbital/ai-parrot
Keywords: ai,chatbot,messaging,telegram,slack,msteams,whatsapp,matrix
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Communications :: Chat
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Framework :: AsyncIO
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: ai-parrot
Provides-Extra: slack
Requires-Dist: slack-sdk>=3.27; extra == "slack"
Requires-Dist: slack-bolt>=1.18; extra == "slack"
Provides-Extra: telegram
Requires-Dist: aiogram>=3.12; extra == "telegram"
Provides-Extra: msteams
Requires-Dist: azure-teambots>=0.1.1; extra == "msteams"
Requires-Dist: parrot-formdesigner; extra == "msteams"
Requires-Dist: redis[asyncio]>=5.0; extra == "msteams"
Provides-Extra: whatsapp
Requires-Dist: pywa>=3.8.0; extra == "whatsapp"
Provides-Extra: matrix
Requires-Dist: mautrix>=0.20; extra == "matrix"
Requires-Dist: python-olm>=3.2.16; extra == "matrix"
Provides-Extra: voice-local
Requires-Dist: faster-whisper; extra == "voice-local"
Provides-Extra: voice-openai
Requires-Dist: openai>=1.0; extra == "voice-openai"
Provides-Extra: voice-tts
Requires-Dist: pydub>=0.25; extra == "voice-tts"
Provides-Extra: voice
Requires-Dist: ai-parrot-integrations[voice-local]; extra == "voice"
Requires-Dist: ai-parrot-integrations[voice-openai]; extra == "voice"
Requires-Dist: ai-parrot-integrations[voice-tts]; extra == "voice"
Provides-Extra: messaging
Requires-Dist: ai-parrot-integrations[slack]; extra == "messaging"
Requires-Dist: ai-parrot-integrations[telegram]; extra == "messaging"
Requires-Dist: ai-parrot-integrations[msteams]; extra == "messaging"
Requires-Dist: ai-parrot-integrations[whatsapp]; extra == "messaging"
Provides-Extra: all
Requires-Dist: ai-parrot-integrations[messaging]; extra == "all"
Requires-Dist: ai-parrot-integrations[matrix]; extra == "all"
Requires-Dist: ai-parrot-integrations[voice]; extra == "all"

# ai-parrot-integrations

Messaging channel integrations for [AI-Parrot](https://github.com/phenobarbital/ai-parrot):
Slack, Telegram, MS Teams, WhatsApp, Matrix, and Voice.

This package uses **PEP 420 namespace extension** to contribute modules under the
`parrot.integrations.*`, `parrot.voice.*`, and `parrot.human.channels.*` namespaces.
All existing import paths remain unchanged.

> **IMPORTANT**: Do NOT create a `src/parrot/__init__.py` in this package.
> It would break the PEP 420 namespace extension provided by `ai-parrot`'s
> `parrot/__init__.py:extend_path`. This is a known maintenance hazard.

## Installation

Install only the channels you need:

```bash
# Core AI-Parrot only (no channel SDKs)
pip install ai-parrot

# Individual channels
pip install "ai-parrot-integrations[slack]"
pip install "ai-parrot-integrations[telegram]"
pip install "ai-parrot-integrations[msteams]"
pip install "ai-parrot-integrations[whatsapp]"
pip install "ai-parrot-integrations[matrix]"
pip install "ai-parrot-integrations[voice]"

# Combo extras
pip install "ai-parrot-integrations[messaging]"   # slack + telegram + msteams + whatsapp
pip install "ai-parrot-integrations[all]"         # messaging + matrix + voice
```

## Extras Reference

| Extra | SDK(s) installed |
|---|---|
| `slack` | `slack-sdk>=3.0`, `slack-bolt>=1.18` |
| `telegram` | `aiogram>=3.12` |
| `msteams` | `azure-teambots>=0.1.1`, `parrot-formdesigner` |
| `whatsapp` | `pywa>=3.8.0` |
| `matrix` | `mautrix>=0.20`, `python-olm>=3.2.16` |
| `voice` | `faster-whisper`, `openai` |
| `messaging` | slack + telegram + msteams + whatsapp |
| `all` | messaging + matrix + voice |

## Import Paths (unchanged)

```python
from parrot.integrations import IntegrationBotManager
from parrot.integrations.telegram.wrapper import TelegramWrapper
from parrot.integrations.slack.wrapper import SlackWrapper
from parrot.integrations.msteams.wrapper import MSTeamsWrapper
from parrot.integrations.whatsapp.wrapper import WhatsAppWrapper
from parrot.integrations.matrix.client import MatrixClientWrapper
from parrot.voice import VoiceTranscriber
from parrot.human.channels import ChannelRegistry
```

## Migration Guide

See [docs/migration/feat-202-ai-parrot-integrations.md](../../docs/migration/feat-202-ai-parrot-integrations.md)
for full migration details.

### Breaking changes from `ai-parrot` core

- `from parrot.integrations.oauth2.X import Y` is now `from parrot.auth.oauth2.X import Y`
- `from parrot.integrations.zoom.client import ZoomUsInterface` is now `from parrot_tools.zoom.client import ZoomUsInterface`
- `pywa`, `aiogram`, `azure-teambots`, `mautrix` are no longer installed with `pip install ai-parrot`
