Metadata-Version: 2.1
Name: aimq
Version: 0.1.0
Summary: A robust message queue processor for Supabase pgmq with AI-powered document processing capabilities
Home-page: https://github.com/bldxio/aimq
License: MIT
Keywords: ai,ocr,document-processing,supabase,pgmq,queue,machine-learning
Author: AIMQ Contributors
Requires-Python: >=3.11,<3.13
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: easyocr (>=1.7.1,<2.0.0)
Requires-Dist: filetype (>=1.2.0,<2.0.0)
Requires-Dist: humanize (>=4.11.0,<5.0.0)
Requires-Dist: langchain (>=0.3.10,<0.4.0)
Requires-Dist: langchain-openai (>=0.2.12,<0.3.0)
Requires-Dist: mkdocs-dracula-theme (>=1.0.7,<2.0.0)
Requires-Dist: openai (>=1.57.1,<2.0.0)
Requires-Dist: pillow (>=10.2.0,<11.0.0)
Requires-Dist: pydantic-settings (>=2.6.1,<3.0.0)
Requires-Dist: pypdfium2 (>=4.30.1,<5.0.0)
Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
Requires-Dist: rich (>=13.7.0,<14.0.0)
Requires-Dist: supabase (>=2.10.0,<3.0.0)
Requires-Dist: torch (>=2.1.2,<3.0.0)
Requires-Dist: typer[all] (>=0.9.0,<0.10.0)
Project-URL: Documentation, https://bldxio.github.io/aimq
Project-URL: Repository, https://github.com/bldxio/aimq
Description-Content-Type: text/markdown

# AIMQ

AIMQ (AI Message Queue) is a robust message queue processor designed specifically for Supabase's pgmq integration. It provides a powerful framework for processing queued tasks with built-in support for AI-powered document processing and OCR capabilities.

## Features

- **Supabase pgmq Integration**: Seamlessly process messages from Supabase's message queue
- **Document OCR Processing**: Extract text from images using EasyOCR
- **Queue-based Processing**: Efficient handling of document processing tasks
- **AI-powered Analysis**: Leverage machine learning for advanced text analysis
- **Flexible Architecture**: Easy to extend with new processing tools and capabilities

## Installation

This project uses Poetry for dependency management. To get started:

```bash
# Install Poetry if you haven't already
curl -sSL https://install.python-poetry.org | python3 -

# Clone the repository
git clone <your-repo-url>
cd aimq

# Install dependencies
poetry install
```

## Configuration

1. Create a `.env` file in the project root:
```env
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key
QUEUE_NAME=your_queue_name
```

2. Configure your Supabase project with pgmq following the [official documentation](https://supabase.com/docs/guides/database/extensions/pgmq).

## Usage

1. Start the processor:
```bash
poetry run python -m aimq.processor
```

2. Process documents by adding messages to your Supabase queue:
```python
from aimq.core import QueueMessage

message = QueueMessage(
    type="ocr",
    payload={
        "image_url": "https://example.com/document.jpg"
    }
)
```

## Development

To contribute to AIMQ:

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Run tests: `poetry run pytest`
5. Submit a pull request

## License

MIT License - see [LICENSE](LICENSE) for details.

