This project is currently in alpha. The API should be considered unstable and likely to change.
The Tulip Exchange API is a gRPC API for interacting with the Tulip Exchange backend. Use it to place and cancel orders, monitor the orderbook, stream trades and any other interactions. The API is defined in a set of protobuf files that are used to generate language specific stubs. In addition to these stubs, the Tulip Exchange Client Library also contains some helper functions to aid authentication.
To install Bazel itself:
For Java examples, either:
Please see the Getting started section for more details steps.
For the Python examples: Install Python 2 and 3. If you're using your operating system's package manager, also install the development packages. Python 2 is still required unfortunately, due to an issue with the gRPC-Bazel rules (#21963).
Run an example with
bazelisk run //examples/<lang>/<example>, e.g.:
bazelisk run //examples/go/hello_exchange
Include this project as an external dependency in your
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") git_repository( name = "nl_tulipsolutions_tecl", commit = "<commit ID>", remote = "https://github.com/tulipsolutions/tecl.git", )
Depend on the API parts that you need in your build files, for example:
java_library( name = "lib", srcs = glob(["*.java"]), deps = ["@nl_tulipsolutions_tecl//tulipsolutions/api/priv:order_jvm_grpc"], )
An alternative to using Bazel is to compile stubs in your language direct from the protobuf definitions. gRPC.io contains a list of officially supported languages. Visit our getting started from source page, select your preferred language and follow the tutorial.
For the purpose of verifying your client side code, we provide a number of options: