# SDKs

Choose a Volcano SDK for authentication, databases, storage, functions, durable functions, logs, distributed locks, and realtime events.

Use a Volcano SDK to connect your application to your project's services.
Choose your language and follow its authentication quickstart.

| SDK | Runtime | Quickstart |
| --- | --- | --- |
| JavaScript and TypeScript | Browsers or Node.js 20 and later | [JavaScript quickstart](https://docs.volcano.dev/sdk/js/getting-started.md) |
| Python | Python 3.11 and later | [Python quickstart](https://docs.volcano.dev/sdk/python.md) |
| Ruby | Ruby 3.3 and later | [Ruby quickstart](https://docs.volcano.dev/sdk/ruby.md) |

All three SDKs cover authentication, database queries and mutations, storage, function invocation, logs, distributed locks, realtime events, and durable functions: starting them, and sending, listing, and subscribing to their messages. JavaScript and Python can also author durable functions, including waiting for messages and publishing them.
JavaScript returns result envelopes; Python and Ruby raise typed exceptions.
Follow each language's guide for its API names and realtime lifecycle.

Use an anonymous key for user authentication and keep service keys in trusted server code.
See [API authentication](https://docs.volcano.dev/platform/api-reference/authentication.md) for credential scopes.
