Migrate to v2

The v2 release of the Lattice SDK represents a significant breaking change from v1. If you’re an existing Lattice developer, migrate to v2 to maintain access to the latest updates, capabilities, and support for your integrations.

Determine your SDK version

If your integration uses a package from a package manager, check the version of the Lattice SDK package. If your version starts with 1.x.x, continue with the migration guide.

To determine your Lattice SDK version, run the following command in a terminal:

$pip freeze | grep anduril-lattice-sdk

Choose between REST or gRPC

The GitHub repositories that previously hosted gRPC clients now host generated SDKs for RESTful integrations. The protocol you use will depend on your use-case. We recommend that you consider the following before making a choice:

RESTgRPC
InstallationPackages via PyPi, Maven, npm, source via GitHubPackages generated in Buf Schema Registry
Language SupportPython, Typescript, Java, GolangAuto-generated bindings for 16 languages
Streaming On the roadmap
Familiarity and toolingMore frequently usedLess frequently used
API availabilityEntities, Tasks, and ObjectsEntities and Tasks
On-the-wire size JSON Encoding Binary Encoding
Browser support Better Weaker

After you’ve determined which protocol fits your use-case, follow the setup instructions for REST, or gRPC.

Choose a gRPC plugin version

If you want to generate clients compatible with Lattice SDK v1, use the versions listed in the following table:

LanguagePrevious gRPC SDK build versions
C++grpc/cpp@1.68.0
Javagrpc/java@1.54.1
Gogrpc/go@1.5.1
Javascript/Typescriptes@2.2.0
Pythonbetterproto@2.0.0b7
Rustneoeinstein-prost@0.3.1
Python

We do not recommend using betterproto moving forward, as the plugin does not support type Any.

What’s next?