12 releases (3 stable)

new 5.0.1 Jan 13, 2025
2.1.3 Oct 8, 2024
0.4.1 Jul 3, 2024
0.2.1 Dec 8, 2023
0.1.6 Jul 7, 2023

#633 in Magic Beans

Download history 31/week @ 2024-09-25 276/week @ 2024-10-02 123/week @ 2024-10-09 17/week @ 2024-10-16 12/week @ 2024-10-30 12/week @ 2024-11-06 3/week @ 2024-11-13 7/week @ 2024-11-20 3/week @ 2024-12-04 3/week @ 2024-12-11 91/week @ 2025-01-08

91 downloads per month
Used in architect-sdk

AGPL-3.0-only

485KB
13K SLoC

architect-api

GraphQL support via Juniper

Trivial types, and types with only one obvious schema, come with implementations of GraphQL traits for use with the juniper crate. These can be enabled using the juniper feature flag. In general, however, the user should write their own wrapper types for a bespoke GraphQL schema.

JSONSchema generation

We generate a metadata + JSONSchema representation of our gRPC APIs to assist in generating client SDKs.

This is accomplished via two modules:

  • schema/builder -- logic and types for generating schema definitions from tonic_build service definitions
  • schema -- a stub crate/phony target that uses the generated schema definitions to build a schema.json file

[!NOTE]
New gRPC stubs/services must be added to schema/build.rs as well as build.rs to be included in the generated schema.json file.

The dependency graph induces a build order: schema/builder -> architect-api -> schema. This build order naturally regenerates the schema.json file whenever this crate changes.

Downstream SDKs:

Dependencies

~22–66MB
~1M SLoC