Understanding Recap’s design.

  1. Overview
  2. Clients
  3. Converters
  4. CLI
  5. Gateway
  6. Registry
  7. Python API


You should understand the following concepts before using Recap.


Each system has a client implementation. Clients connect to remote systems, read schemas, and convert them to Recap schemas. Clients use converters to convert to Recap schemas.


Converters are used to convert to and from Recap schemas. Unlike clients, converters do not connect to remote systems. They just take an in-memory schema and return a Recap schema (or vice-versa).


Recap’s CLI is a command line interface for connecting to systems and reading schemas. It’s a thin wrapper around Recap’s Python API.


Recap’s gateway is a stateless HTTP/JSON API that you can use to query systems and schemas. The server doesn’t require any database or storage. It’s simply connects to systems and returns Recap schemas.

The gateway is useful if you’re not using Python, but want to use Recap programmatically.


Recap’s registry is an HTTP/JSON API that stores schemas in a filesystem or object store like S3 or GCS. The registry is useful for caching schemas or acting as a repository when using Recap schemas as a source of truth.

Python API

Recap is written in Python and is designed to be used as a Python library. See the Python documentation for more information.