Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions integrations/unirate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
layout: integration
name: UniRate
description: Currency exchange rates, conversion, and currency listings for Haystack pipelines via the UniRate API.
authors:
- name: UniRate Team
socials:
github: UniRate-API
pypi: https://pypi.org/project/haystack-unirate/
repo: https://github.com/UniRate-API/haystack-unirate
type: Custom Component
report_issue: https://github.com/UniRate-API/haystack-unirate/issues
logo: /logos/unirate.png
version: Haystack 2.0
toc: true
---

### **Table of Contents**

- [Overview](#overview)
- [Installation](#installation)
- [Usage](#usage)
- [License](#license)

## Overview

`haystack-unirate` integrates the [UniRate API](https://unirateapi.com) into
Haystack 2.x pipelines. It ships three `@component`-decorated building blocks:

- **`UniRateExchangeRate`** — latest rate for a currency pair (or all targets).
- **`UniRateConverter`** — convert a monetary amount between two currencies.
- **`UniRateCurrencies`** — list every supported currency code.

UniRate covers 593+ fiat, crypto, and commodity instruments. Latest rates,
conversion, and currency listings are available on the free tier; historical
data requires a Pro plan.

## Installation

```bash
pip install haystack-unirate
```

## Usage

Set your API key in the `UNIRATE_API_KEY` environment variable (get one free at
[unirateapi.com](https://unirateapi.com)), then:

```python
from haystack import Pipeline
from haystack.utils import Secret
from haystack_unirate import UniRateConverter

pipeline = Pipeline()
pipeline.add_component(
"convert", UniRateConverter(api_key=Secret.from_env_var("UNIRATE_API_KEY"))
)

result = pipeline.run(
{"convert": {"from_currency": "USD", "to_currency": "EUR", "amount": 100}}
)
print(result["convert"]["result"]) # e.g. 92.5
```
Comment on lines +49 to +63

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A pipeline usage should present more than just one component. Typically, we highlight how it might be combined with a chat generator.


All components support `to_dict` / `from_dict` for pipeline serialization and
use Haystack `Secret` for API-key handling.

## License

`haystack-unirate` is distributed under the terms of the
[MIT license](https://github.com/UniRate-API/haystack-unirate/blob/main/LICENSE).
Binary file added logos/unirate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.