cylc-uiserver
cylc-uiserver copied to clipboard
A Jupyter Server extension that serves the cylc-ui web application for monitoring and controlling Cylc workflows.
When starting a stopped workflow, it will sometimes show in the GUI with the "?" symbol rather than the "▶" icon for a running workflow. From inspecting the UI data...
Cylc uses its own authorisation system to govern what users can and can't do in multi-user setups. Since we added this functionality, Jupyter Server has now developed their own approach....
The UIS stop extension: https://github.com/cylc/cylc-uiserver/blob/da038f00a1c9d6fb6bbf5b2a156bbc4fc7b299a7/cylc/uiserver/app.py#L516-L524 Runs when stopping (keyboard interrupt) the hubless server (`cylc gui`), however, it isn't run when stopping the server via the hub.. From it's contents I...
These changes partially address https://github.com/cylc/cylc-flow/issues/5235 Sibling to https://github.com/cylc/cylc-flow/pull/5267 On spawning the UI Server (Jupyter server), the hub negotiates an API token and puts it as `JUPYTERHUB_API_TOKEN`, along with other variables,...
Cylc UI Server has two dependencies from the graphql-python org that are starting to look worrying: * graphene-tornado * [](https://github.com/graphql-python/graphene-tornado) * Adds tornado support to Graphene. * Bruno...
We need the top-level workflow data from every workflow in a user's `~/cylc-run` directory in the UIS data store, e.g: * Workflow ID * Host * Port * etc Additionally,...
We should strip out any remaining tornado event loop things once https://github.com/jupyter-server/jupyter_server/issues/1362 is in. Remember to bump the `jupyter_server` version when doing this.
We need to run some async stuff when we start the server. Currently we are hacking this into `initialize_settings`: https://github.com/cylc/cylc-uiserver/blob/b007b5f91491a2be97fa16313dfbbbe57ce7e933/cylc/uiserver/app.py#L454-L461 Jupyter Server may acquire a less hacky interface for this...
One JupyterServer instance may run multiple extensions each with their own root endpoint e.g. `/cylc` and `/lab`. We would like to make it easier to switch between different server extensions:...
> **Background:** > > We use GraphQL as an API, but we do not use it as a "store". The data does into a Protobuf serialisation, we then "resolve" GraphQL...