0.0.15 • Published 8 months ago

dashipopashi v0.0.15

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

dashi

Dashi is a JavaScript library that allows configuring server-side widgets and plugging them into existing web frontends.

Note, this library is experimental and under development still.

How it is supposed to work

Users write the widgets in, e.g. Python, and a REST server implements three endpoints to publish the widgets:

  • GET /contributions: Called once after application UI starts up. Returns an object whose keys are contribution points (e.g., "panels") and whose values are arrays of contribution objects.
  • POST /layout/{contribPoint}/{contribIndex}: Called once for every contribution when it becomes visible in the UI. Returns the contribution's initial component tree
  • POST /callback: Called when users interact with the component tree or on application state changes. Returns an array of contribution changes where each contribution change contains an array of actions to be applied to the component tree.

The following sequence diagram depicts how the library is supposed to work. The top shows the JavaScript frontend that uses this library. The bottom shows the lifeline of the backend REST server.

docs/sequence.png

How to run the demo

git clone https://github.com/bcdev/dashi.git

Run the server

cd dashi/dashipy
conda env create
conda activate dashi
pip install -ve . 
python -m dashipy.demo.server

Run the UI

cd ../dashi
npm install
npm run dev
0.0.10

8 months ago

0.0.11

8 months ago

0.0.12

8 months ago

0.0.13

8 months ago

0.0.14

8 months ago

0.0.15

8 months ago

0.0.9

8 months ago

0.0.8

8 months ago

0.0.7

9 months ago

0.0.6

9 months ago

0.0.5

9 months ago

0.0.4

9 months ago

0.0.3

9 months ago

0.0.2

9 months ago

0.0.1

9 months ago