# Language bindings for RGB Lib

Bindings for other languages are generated using either [uniffi] or [c-ffi].

See each project's documentation for more details.

## Official

These are the officially supported languages:

| Language | Tool   | Platform              | Location         |
| -------- | ------ | --------------------- | ---------------- |
| C        | c-ffi  | Linux, macOS, Windows | [c-ffi]          |
| C++      | c-ffi  | Linux, macOS, Windows | [c-ffi]          |
| Kotlin   | uniffi | android               | [rgb-lib-kotlin] |
| Node.js  | c-ffi  | Linux, macOS, Windows | [rgb-lib-nodejs] |
| Python   | uniffi | Linux, macOS, Windows | [rgb-lib-python] |
| Swift    | uniffi | iOS, macOS            | [rgb-lib-swift]  |

## Unofficial

These are the unofficially supported languages:

| Language | Tool   | Platform              | Location         |
| -------- | ------ | --------------------- | ---------------- |
| Go       | uniffi | Linux, macOS, Windows | [rgb-lib-go]     |

[rgb-lib-go]: https://github.com/RGB-OS/rgb-lib-go
[rgb-lib-kotlin]: https://github.com/RGB-Tools/rgb-lib-kotlin
[rgb-lib-nodejs]: https://github.com/RGB-Tools/rgb-lib-nodejs
[rgb-lib-python]: https://github.com/RGB-Tools/rgb-lib-python
[rgb-lib-swift]: https://github.com/RGB-Tools/rgb-lib-swift
[c-ffi]: c-ffi/
[uniffi]: uniffi/
