/subzero

REST API for any database

Primary LanguageRustGNU Affero General Public License v3.0AGPL-3.0

subZero is a fast, Rust-powered library designed to simplify building REST APIs and backend services. It generalizes the concepts found in tools like PostgREST, PostGraphile, and Hasura, with the aim to support multiple REST/GraphQL flavors like PostgREST, OData, Hasura and various databases on the backend (PostgreSQL, SQLite, MySQL, Clickhouse).

In contrast to PostgREST/Hasura, subZero is designed as a library, not just an executable. This allows you to integrate it into your backend (Rust, Node, Workers, C, Java), offering the fast turnaround time of PostgREST without sacrificing the flexibility of a custom backend.

The directory structure is as follows:

  • core: The core library that contains the AST, parser, and query builder.
  • core/benches: Some interesting performance benchmarks.
  • rocket: The code to create an executable that exposes a web server based on the Rocket framework.
  • java-bindings: The Java bindings for subZero.
  • ffi: The code to build and expose a C shared library that exposes the low-level subZero functionality.
  • js-bindings: The JavaScript/TypeScript bindings for subZero.

The library is licensed under AGPLv3 license.

Commercial licensing options are available.