# Install an SDK

Choose a language, install from source or a local artifact, and keep provider execution on your server.

Canonical: https://searchsdk.dev/docs/installation
Markdown: https://searchsdk.dev/docs/installation.md

<a id="install"></a>

## Choose a package

All twelve SDKs are alpha source packages. Install from a reviewed checkout or its locally built artifacts. Package names and versions describe those artifacts; they do not establish availability in npm, PyPI, Maven Central, crates.io, NuGet or a release tag. Alpha APIs may change. Record the source revision and retain your application's dependency lock.

| Language / platform | Package | Installation guide |
| --- | --- | --- |
| TypeScript / JavaScript | `@belweave/search-sdk` | [Install TypeScript / JavaScript](https://searchsdk.dev/docs/sdks/typescript) |
| Python | `searchsdk` | [Install Python](https://searchsdk.dev/docs/sdks/python) |
| Go | `github.com/Belweave/searchSDK/packages/go` | [Install Go](https://searchsdk.dev/docs/sdks/go) |
| Java | `dev.belweave:search-sdk` | [Install Java](https://searchsdk.dev/docs/sdks/java) |
| Rust | `searchsdk` | [Install Rust](https://searchsdk.dev/docs/sdks/rust) |
| C# / .NET | `SearchSdk` | [Install C# / .NET](https://searchsdk.dev/docs/sdks/dotnet) |
| C | `searchsdk::searchsdk / searchsdk::curl` | [Install C](https://searchsdk.dev/docs/sdks/c) |
| C++ | `searchsdk::cpp / searchsdk::cpp_curl` | [Install C++](https://searchsdk.dev/docs/sdks/cpp) |
| Swift | `SearchSDK` | [Install Swift](https://searchsdk.dev/docs/sdks/swift) |
| Android / Kotlin | `dev.searchsdk:searchsdk-android` | [Install Android / Kotlin](https://searchsdk.dev/docs/sdks/android) |
| React Native | `@belweave/search-sdk-react-native` | [Install React Native](https://searchsdk.dev/docs/sdks/react-native) |
| Expo | `@belweave/search-sdk-expo` | [Install Expo](https://searchsdk.dev/docs/sdks/expo) |

<a id="requirements"></a>

## Use the matching toolchain

Start with the language guide's minimum runtime and dependency requirements. The TypeScript SDK is ESM and dependency-free at runtime. Other packages have their own dependency contracts: for example, Rust uses Tokio/Reqwest/Serde and Android uses coroutines/OkHttp. A zero-dependency claim for one SDK does not apply to all of them.

<a id="server-credentials"></a>

## Configure credentials at the right boundary

Direct provider credentials belong in server secret configuration. Mobile and browser applications use your own authenticated gateway with application tokens. Never put a provider key in a client bundle, device storage, chat or logs.

- [TypeScript server environment setup](https://searchsdk.dev/docs/sdks/typescript#server-credentials)
- [Application gateway setup](https://searchsdk.dev/docs/guides/application-gateway)

<a id="pack-locally"></a>

## Build from a reviewed checkout

**Source checkout**

```bash
git clone https://github.com/Belweave/searchSDK.git
cd searchSDK
# Record this revision with your application's dependency lock.
git rev-parse HEAD
```

Use the selected language's packaging command. Building an archive, installing it locally, pushing a Git commit, deploying the website and publishing a registry package are separate operations.
