> For the complete documentation index, see [llms.txt](https://docs.autonomi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.autonomi.com/developers/sdk/install.md).

# Build with the SDKs

Build applications that store and retrieve data on the Autonomi Network. The software development kits (SDKs) provide language libraries and supporting tools; your application calls the library for your language.

## Choose how your application connects

Choose based on where your application runs and whether you want it to manage its own network connection or share a local service. Native applications and browser applications can both connect directly, using different SDK packages.

| Connection                                       | Choose it when                                                                             | Installation and usage                                      |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------ | ----------------------------------------------------------- |
| Direct from a native application                 | You are building in Python, Node.js or .NET and want no separate network service to start  | [Native SDKs](/developers/sdk/install/native.md)            |
| Direct from the browser using WebAssembly (WASM) | You are building a web application that accesses data through the experimental browser SDK | [Browser SDK](/developers/sdk/install/build-in-browser.md)  |
| Through a local daemon                           | Several applications should share one service, or you prefer a local REST or gRPC API      | [Local-Daemon Clients](/developers/sdk/install/use-antd.md) |

The packages and APIs differ. Use the package for the connection arrangement you choose; a Python or Node.js library for one is not interchangeable with the other.

## Libraries for native applications

The package manager installs the language library and its compiled network client together. Import the library into your application; there is no separate executable to start.

| Language reference                                                                    | Package                                     |
| ------------------------------------------------------------------------------------- | ------------------------------------------- |
| [Python SDK](/developers/sdk/reference/python.md)                                     | `ant-sdk` on PyPI; import `ant_ffi`         |
| [Node.js SDK](/developers/sdk/reference/nodejs.md), including TypeScript declarations | `@withautonomi/ant-sdk` on npm              |
| [.NET SDK](/developers/sdk/reference/csharp.md)                                       | `Autonomi.Ffi` on NuGet; namespace `AntFfi` |

Each language reference covers installation and its API. Python and Node.js also include a complete public-file download example. For storage methods and payment setup, use the [Native SDK Reference](/developers/sdk/reference/native-sdks.md).

## Browser applications

Use `@withautonomi/ant-browser-sdk` to connect directly from JavaScript or TypeScript running in a browser. WebAssembly runs the network client; WebRTC carries its connections to nodes. Visitors do not need a local daemon.

The browser SDK is experimental. Read the [Browser SDK overview](/developers/sdk/install/build-in-browser.md) for capabilities and application ideas, then follow [Retrieve Data in the Browser](/developers/sdk/how-to-guides/retrieve-data-in-browser.md) for a complete public-image example.

## Clients for a local daemon

A local daemon is a background service running separately on your computer. Autonomi's daemon, [antd](/developers/sdk/install/use-antd.md), manages the network connection and provides a local REST or gRPC API. Installing a client library does not install or start this service.

| Client                                                                                                                                            | Package or setup                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| cURL                                                                                                                                              | Call the [REST API](/developers/sdk/reference/rest-api.md) without a language library                               |
| [Python](/developers/sdk/reference/language-bindings/python.md)                                                                                   | `antd[rest]` on PyPI                                                                                                |
| [JavaScript](/developers/sdk/reference/language-bindings/javascript.md) / [TypeScript](/developers/sdk/reference/language-bindings/typescript.md) | `@withautonomi/antd` on npm                                                                                         |
| [Rust](/developers/sdk/reference/language-bindings/rust.md)                                                                                       | `antd-client` from the source checkout in its installation instructions                                             |
| Other languages                                                                                                                                   | See [Language Bindings](/developers/sdk/reference/language-bindings.md) for package and source-install instructions |

The walkthroughs include client installation in matching language tabs:

* [Start the Local Daemon](/developers/sdk/how-to-guides/start-the-local-daemon.md): install and run the service for your operating system.
* [Retrieve Data from the Network](/developers/sdk/how-to-guides/retrieve-data-from-the-network.md): download a supplied public image without a wallet or payment.
* [Store Data on the Network](/developers/sdk/how-to-guides/store-data-on-the-network.md): configure upload payments, store a public payload, and read it back.

## Public and private storage

Uploads require a wallet and storage payment. Choose public storage when you want to share a file by its address, or private storage when you want to keep its access information secret. See [Keys, Addresses, and DataMaps](/developers/core-concepts/keys-addresses-and-datamaps.md) for how you retain access to each.

## Related pages

* [Browser SDK](/developers/sdk/install/build-in-browser.md): build web applications with direct access to stored data.
* [SDK How-To Guides](/developers/sdk/how-to-guides.md)
* [SDK Reference](/developers/sdk/reference.md)
* [Use the CLI](/developers/cli/use-the-cli.md) for command-line access
* [Build Directly in Rust](/developers/direct-rust/build-directly-in-rust.md)
* [Build with AI Tools](/developers/agent-tools/use-mcp-with-ai-tools.md)
