#qcs #quantum #rigetti #api

qcs-api-client-grpc

gRPC client for the QCS API

22 releases (5 breaking)

0.7.2 Aug 10, 2023
0.7.1 Jul 13, 2023
0.7.0 Jun 29, 2023
0.6.2 Mar 30, 2023
0.2.7 Oct 27, 2022

#261 in Authentication

Download history 672/week @ 2023-08-04 378/week @ 2023-08-11 540/week @ 2023-08-18 369/week @ 2023-08-25 187/week @ 2023-09-01 282/week @ 2023-09-08 716/week @ 2023-09-15 151/week @ 2023-09-22 67/week @ 2023-09-29 117/week @ 2023-10-06 397/week @ 2023-10-13 386/week @ 2023-10-20 217/week @ 2023-10-27 382/week @ 2023-11-03 293/week @ 2023-11-10 904/week @ 2023-11-17

1,836 downloads per month
Used in qcs

Apache-2.0

310KB
6K SLoC

qcs-api-client-grpc

crates.io version crates.io license - Apache-2.0 crates.io recent downloads docs.rs badge

This crate provides an autogenerated gRPC client for the QCS API, along with helper utilities for automatically loading credentials from a user's QCS config and keeping authentication tokens refreshed.

  • get_channel: create a Channel to the given gRPC endpoint with QCS authentication automatically set up, that routes requests through client-side HTTP, HTTPS, or SOCKS5 proxies based on the presence of HTTPS_PROXY or HTTP_PROXY environment variables.
  • wrap_channel: wrap an existing Channel with QCS authentication.

Quick Start

See docs.rs for a quick start guide.

Proxies

The get_channel function configures the returned Channel to route requests through a client proxy based on the presence of environment variables HTTPS_PROXY and/or HTTP_PROXY. The variable names can be all-uppercase or all-lowercase, but the all-uppercase variants will take precedence. Currently, the supported proxy schemes are http, https, and socks5.

There are some caveats to the proxy configuration:

  • If both variables are defined, neither can be a socks5 proxy, unless they are both the same value.
  • If only one variable is defined, and it is a socks5 proxy, all traffic will routed through it.

Dependencies

~19–33MB
~647K SLoC