Overview
FPS is a Fast Pluggable System. It was originally designed to create Jupyverse, a Jupyter server that is composed of pluggins. But it is a generic framework that can be used to create any type of applications, with the following features:
- modularity: an application is made up of modules that are arranged in a hierarchical tree.
- configuration: each module can be configured with a set of parameters accessible from the CLI, and an application can be created declaratively as a Python dictionary or a JSON file.
- pluggability: modules can share objects, allowing the use of late binding to connect pluggins at runtime.
- concurrency: modules have startup and teardown phases for managing asynchronous resources safely.