Metadata-Version: 2.4
Name: oremi-akorin
Version: 1.0.0b5
Summary: Natural-language gateway for the Oremi ecosystem, routing HTTP and MQTT requests to the appropriate AI-powered services.
Project-URL: Say Thanks!, https://www.buymeacoffee.com/demsking
Project-URL: Source, https://gitlab.com/demsking/oremi-akorin
Project-URL: Tracker, https://gitlab.com/demsking/oremi-akorin/-/issues
Project-URL: Documentation, https://gitlab.com/demsking/oremi-akorin/-/blob/main/README.md
Author-email: Sébastien Demanou <demsking@gmail.com>
Maintainer-email: Sébastien Demanou <demsking@gmail.com>
License: Apache-2.0
License-File: LICENSE
License-File: LICENSE_HEADER.txt
Keywords: oremi
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Natural Language :: French
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Requires-Dist: fastapi[standard]<1.0.0,>=0.115.0
Requires-Dist: httpx>=0.28.1
Requires-Dist: ollama>=0.6.2
Requires-Dist: paho-mqtt<3.0.0,>=2.1.0
Requires-Dist: pydantic-ai>=2.5.0
Requires-Dist: pydantic-settings>=2.14.2
Requires-Dist: pydantic<3.0.0,>=2.10.0
Requires-Dist: uvicorn<1.0.0,>=0.34.0
Description-Content-Type: text/markdown

# Oremi Akọrin

[![Buy me a beer](https://img.shields.io/badge/Buy%20me-a%20beer-1f425f.svg)](https://www.buymeacoffee.com/demsking)

Oremi Akọrin is the natural-language gateway for the Oremi ecosystem.
It accepts user requests over HTTP or MQTT, uses a large language model (LLM)
to understand, normalize, and classify them, then intelligently routes each
request to the appropriate Oremi service. Whether the request concerns weather,
reminders, podcasts, radio, smart-home devices, or general conversation,
Akọrin preserves the user's original language and returns a natural response
while coordinating the underlying services on their behalf.

The name **Akọrin** comes from the Yoruba language and means **"singer"** or
**"one who sings."** In the Oremi ecosystem, the name symbolizes a component that
gives voice to user intent. Rather than performing every task itself, Akọrin
listens, interprets, and orchestrates communication between specialized services,
acting as the expressive voice and natural-language entry point of the platform.

![Oremi Akọrin Logo](htdocs/logo.png)

## Documentation

All project documentation—including architecture details, configuration reference, and the Home Assistant integration guide—can be found at:
https://demsking.gitlab.io/oremi-akorin/

## Development

Oremi Device is built with Python and uses `uv` for dependency management. The
project follows standard Python development practices with type hints, linting,
and automated testing.

For detailed information on setting up your development environment, running
tests, code style guidelines, and the pull request process, please refer to
[CONTRIBUTING.md](CONTRIBUTING.md).

,## Versioning

This project adheres to [Semantic Versioning](https://semver.org/) (SemVer).
Version numbers follow the `MAJOR.MINOR.PATCH` format:

- **MAJOR** version increments for incompatible API changes
- **MINOR** version increments for backward-compatible new functionality
- **PATCH** version increments for backward-compatible bug fixes

The current version can be found in `pyproject.toml` or by running:

```bash
oremi-akorin --version
```

Pre-release versions (alpha, beta, release candidates) may be published to PyPI for testing purposes and are clearly marked with version suffixes.

## License

Licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE).
