> This is the Markdown version of the page. For the complete Lattice Developers documentation index, fetch https://developer.anduril.com/llms.txt. Append .md to any page URL for its clean Markdown. > **Existing developers** > > This major version update introduces breaking changes from SDK v1. > If you are a current Lattice SDK developer, version v1 will continue to work but will no longer be maintained. > We recommend upgrading to Lattice SDK v2. > > Lattice SDK v1 is built to natively support gRPC, while v2 uses OpenAPI to offer a > more streamlined experience. To choose a migration path that works for you, see > [migration guide](/reference/overview/versioning/migrating-to-v2). ## New REST SDKs The Lattice SDK introduces improved access to the Lattice SDK with REST support. Simply [install the Lattice SDK](/guides/getting-started/set-up#get-the-sdk) in a language of your choice to get started building with Lattice: **`Go`** ```go title="Go" package main import ( "os" "fmt" "github.com/anduril/lattice-sdk-go/v2/client" "github.com/anduril/lattice-sdk-go/v2/option" ) func main() { latticeEndpoint := os.Getenv("LATTICE_ENDPOINT") environmentToken := os.Getenv("ENVIRONMENT_TOKEN") client := client.NewClient( option.WithToken(environmentToken), option.WithBaseURL(fmt.Sprintf("https://%s", latticeEndpoint)), ) client.Entities.GetEntity( context.TODO(), "ENTITY_ID", ) } ``` **`Java`** ```java title="Java" package com.example; import com.anduril.Lattice; public class Example { public static void main(String[] args) { Lattice client = Lattice.builder() .url(endpoint) .token(token) .httpClient(httpClient) .build(); Entity entity = client.entities().getEntity(ENTITY_ID); } } ``` **`Python`** ```python title="Python" from anduril import Lattice client = Lattice( base_url=f"https://{lattice_endpoint}", token=environment_token, ) entity = client.entities.get_entity( entity_id=entity_id ) ``` **`TypeScript`** ```js title="TypeScript" import { LatticeClient } from "@anduril-industries/lattice-sdk"; const client = new LatticeClient( { baseUrl: `https://${latticeEndpoint}/api/v1`, token: `${environmentToken}`, } ) const entity = await client.entities.getEntityById(entityId); ``` ## The Buf Schema registry The Lattice Protobuf definitions are now published, and available from the [Buf Schema registry](https://buf.build/anduril/lattice-sdk/). ![Shows the Buf schema registry.](/_fern-img/7cf7ebc2f433fec5e77a2b7061b720f89bc2932716d34c05a73360a24cef1943.webp) Use the Lattice protos and a plugin of your choice, to generate SDK artifacts for your language of choice. For more information, and to see an example in Go, see [Generate the Lattice SDK for gRPC](/guides/getting-started/set-up#generate-the-sdk-for-grpc). ## Objects API Lattice now supporting a resilient, distributed binary object store, letting you efficiently store binary data and relate them to entities in your environment. Some use cases include: * Creating image thumbnails for tracks in the Lattice UI. * Maintaining CSV data for entities for implementing vessel manifests, or other relevant entity metadata. ![Lattice UI object store.](/_fern-img/dc72382af2efe25a3f117a76ec39a7aaf531e7d501fadb6d805e24cdab27578b.webp) The [Objects API](/reference/rest/objects/list-objects) lets you upload, retrieve, and delete objects across the Lattice mesh. For more information, see [Objects](/guides/objects/overview) in the *Lattice SDK Guide*.