Skip to content

Sift client libraries and protocol buffers

License

Notifications You must be signed in to change notification settings

sift-stack/sift

Repository files navigation

Sift

Build status Build status Build status Build status

This repository contains utilities to interface with Sift's API. Currently, the primary way to interact with our API is through the code generated via our protobufs (protocol buffers). Comprehensive documentation for our protobufs can be found at this link or in the actual proto files themselves as doc-comments. If certain protobufs are not yet available for a particular API, please refer to the documentation for our REST API which may expose those services via gRPC gateway.

Please note that some protobufs that appear in our protobuf documentation may not appear in this repository. Those protobufs are either actively being ported over or are in the process of being deprecated.

Table of Contents

Installation

To install Sift's client utilities for the languages we currently support, you can either use your language's package manager or proceed with a manual installation process if you have particular requirements for how the protobufs should be generated.

Installation via Package Managers

The following demonstrates how to install Sift's client utilities for each supported language using their respective official package managers. The source is currently hosted only on Github, but in the future we may move these to the official package repositories for each language.

Go

$ go get github.com/sift-stack/sift/go@main && go mod tidy

Rust

$ cargo add --git https://github.com/sift-stack/sift sift

Python

$ pip install 'git+https://github.com/sift-stack/sift.git#subdirectory=python'

Manual Installation

For manual installation instructions for a particular supported programming language, click on one of the following links:

Please keep in mind that the manual installation instructions aims to be general and do not need to be strictly followed. Users are encouraged to modify any of the steps or proceed with a custom setup if it better suits the needs of their project.

If there aren't instructions for your particular programming language consider one of the following options:

  • Request for the Sift team to include instructions for your language of choice. Keep in mind that there are varying degrees of support for each language throughout the protobuf ecosystem. Depending on the language, support might be totally unavailable.
  • Compile the protobufs manually.
  • Use our REST API.

In the near future we will plan to provide more installation options.

Examples

For usage examples you may also refer to the examples directory which demonstrates basic usage of the code generated from the protobufs.