# SDKs
TIP
Examples used in this documentation can be found in immudb examples repository (opens new window).
In the most common scenario, you would perform write and read operations on the database talking to the server. In this case your application will be a client to immudb.
SDKs make it comfortable to talk to the server from your favorite language, without having to deal with details about how to talk to it.
The most well-known and recommended immudb SDK is written in Golang (opens new window), but there are other SDKs available, both maintained by the internal team and by the community.
Language | Maintainer | Immdb version | link | Notes |
---|---|---|---|---|
go | immudb team | 1.3.0 | link (opens new window) | |
python | immudb team | 1.2.4 | link (opens new window) | |
JAVA | immudb team | 1.2.1 | link (opens new window) | Verification is not working |
NODE | immudb team | 1.2.1 | link (opens new window) | Verification is not working |
JS | immudb team | 1.2.1 | link (opens new window) | Verification is not working |
ruby | Community (Ankane (opens new window)) | 1.2.1 | link (opens new window) | Verification is not working |
The immudb server manages the requests from the outside world to the store. In order to insert or retrieve data, you need to talk with the server.
# immugw communication
For other unsupported programming languages, immugw provides a REST gateway that can be used to talk to the server via generic HTTP.
immugw can be found in its own repository (opens new window)
immugw proxies REST client communication and gRPC server interface. For security reasons, immugw should not run on the same server as immudb. The following diagram shows how the communication works: