#product-os #server-api #api-calls #open-api #server-framework #connector #configuration

product-os-connector

Product OS : Connector provides a framework for definining a server with APIs, outward API calls, a workflow to pass data along, all using only configuration that can be defined in JSON or Yaml. This flexible and powerful framework is akin to using automation tools like Zapier and IFTTT and tray.io and supports using OpenAPI / Swagger defined APIs.

16 releases

new 0.0.18 Apr 18, 2024
0.0.16 Apr 14, 2024
0.0.10 Nov 30, 2023
0.0.6 Sep 3, 2023
0.0.5 Aug 21, 2023

#4 in #product-os

Download history 32/week @ 2023-12-24 29/week @ 2024-01-07 19/week @ 2024-01-14 14/week @ 2024-01-21 7/week @ 2024-01-28 20/week @ 2024-02-04 22/week @ 2024-02-11 6/week @ 2024-02-18 208/week @ 2024-02-25 37/week @ 2024-03-03 53/week @ 2024-03-10 38/week @ 2024-03-17 57/week @ 2024-03-24 71/week @ 2024-03-31 10/week @ 2024-04-07

186 downloads per month
Used in 14 crates (via product-os-configuration)

AGPL-3.0-only

300KB
4.5K SLoC

Product OS : Connector

Product OS : Connector provides a framework for definining a server with APIs, outward API calls, a workflow to pass data along, all using only configuration that can be defined in JSON or Yaml. This flexible and powerful framework is akin to using automation tools like Zapier and IFTTT and tray.io and supports using OpenAPI / Swagger defined APIs.

What is Product OS?

Product OS is a collection of packages that provide different tools and features that can work together to build products more easily for the Rust ecosystem.

Installation

Use the Rust crate package manager cargo to install Product OS : Connector.

cargo add product-os-connector

or add Product OS : Connector to your cargo.toml [packages] section.

product-os-connector = { version = "0.0.18", features = [], default-features = true, optional = false }

Features

Product OS Connector supports a number of features leveraging existing Rust libraries to help connect APIs together using only configuration:

  • Define server with a set of inward APIs using only configuration
  • Define a set of outward APIs that can be called using only configuration
  • Supports REST, GraphQL and Web Sockets initially
  • Supports a number of authentication methods
  • Import OpenAPI / Swagger definitions easily for outward API calls
  • Define a workflow by passing data along from inward calls, passed through outward calls, data manipulation and then response
  • Supports no_std with alloc only environments

To make the most of Connector, you should use the Product OS : Server crate.

// Feature samples TODO

Usage

// Examples TODO

Contributing

Contributions are not currently available but will be available on a public repository soon.

License

GNU AGPLv3

Dependencies

~18–28MB
~710K SLoC