# Software Development Kit (SDK)

Unique AI offers a specialised solution crafted for the financial sector, aimed at boosting productivity by leveraging AI and ChatGPT technologies to automate tasks traditionally done manually.

The Unique Python SDK grants access to the public API of Unique AI and includes features for verifying Webhook signatures, confirming the legitimacy of incoming Webhook requests.

## SDK Documentation

Find the documentation on Github explaining documenting all the possibilites it offers

[Documentation Link](https://unique-ag.github.io/ai/unique-sdk/)

## Code samples:

Find code Samples here:

[Code Samples](https://github.com/Unique-AG/ai/tree/main/tutorials/unique_basics/sdk_examples)

## Package

The python package is publicly available and can be found on the Python Package Index (PyPI).

[PyPI Link](https://pypi.org/project/unique-sdk/)

## Get an API key for your personal Script:

[Personal API Key](https://unique-ag.github.io/ai/unique-toolkit/authentication/#1-personal-api-key)

## Get an API key for an App

[App API Key](https://unique-ag.github.io/ai/unique-toolkit/authentication/#2-creating-an-app)

[Event Driven Applications](https://unique-ag.github.io/ai/unique-toolkit/application_types/event_driven_applications/)

[As App with Ngrok](https://unique-ag.github.io/ai/unique-toolkit/application_types/event_driven_as_app_with_ngrok/)

## Deploying an assistant that uses the SDK

This diagram depicts the general principle of how the SDK can be deployed and operated.

Clients must self-host modules with the SDK on any hyperscaler or even on-premise. The generic process that is modeled above includes five key components:

| **Component**                 | **Function**                                                                                                   | **Examples**                                                                                                                   |
|-------------------------------|----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
| A code repository             | Developers develop the module and then iterate it<br>Most of these tools allow enforcing four-eye principles for developing and deploying separately | GitHub<br>GitLab<br>Bitbucket<br>On premise Git solution                                                                      |
| Automation                     | Runs tests and checks, builds the image, ships it to a registry and triggers a deployment                     | GitHub Actions<br>GitLab CI Runners<br>Bitbucket Pipelines<br>Jenkins                                                         |
| Container Registry             | Stores immutable versions of the modules                                                                        | Azure Container Registry<br>DockerHub                                                                                       |
| Container-running infrastructure| Since its only a docker image, it can be ran literally nearly everywhere, the only requirement being able to run container images. | Azure Container Apps<br>Azure Functions<br>AWS Lambda<br>Google Kubernetes Engine<br>etc.                                      |
| Unique                        | Calls the modules                                                                                               | [Installing and Upgrading Unique](https://docs.unique.ai/it-operators/installing-and-upgrading-unique)                     |

### Unique examples

- [SDK Deploy Template](https://github.com/Unique-AG/sdk-deploy-template)

Clients are free to reuse this code or use it as inspiration to rebuild the same on another Git platform or respective CI/CDs.
