Skip to content

Skyparlour — beginner tutorial

Released in FCC v1.2.1. You are new to FCC and want a gentle introduction to Skyparlour. This tutorial walks you through the simplest possible end-to-end use of the subsystem with no prerequisites beyond pip install -e ..

What this subsystem does

The Skyparlour subsystem provides the Sky-Parlour Visualization Bridge that transforms EventBus events into D3-friendly payloads (force graphs, Sankey diagrams, chord diagrams, heatmaps) for the React frontend.

The implementation lives at src/fcc/protocols/visualization_bridge.py. It ships with FCC core (no separate install needed) and is exercised by:

Focus persona: UMC — UI Mockup Crafter

We anchor this beginner-track tutorial on UMC because that's the persona most relevant to a beginner use of the Skyparlour subsystem.

from fcc._resources import get_personas_dir
from fcc.personas.registry import PersonaRegistry

registry = PersonaRegistry.from_yaml_directory(get_personas_dir())
persona = registry.get("UMC")
print(persona.name)
print(persona.role_title)
print(persona.riscear.role)

Step 1 — Construct the subsystem

The simplest possible use is just constructing the relevant class with default arguments. See the focus notebook for the exact import.

Step 2 — Run one operation

Each subsystem has one "headline" operation: bridge events for web-frontend, query a NanoCube for distiller, score a FAIR compliance result for open-science, transform an event into a D3 payload for skyparlour. Notebook 31 walks you through it step by step.

Step 3 — Inspect the result

Print the result and read the field names. Each subsystem ships frozen dataclasses with self-documenting field names.

What you learned

  • The skyparlour subsystem ships with FCC core
  • Default mock mode produces deterministic results for testing
  • The notebook is the canonical executable example

Verification

Run the focused test suite for this subsystem:

pytest tests/test_visualization_bridge.py -v

All tests should pass on a clean v1.2.1 install. If they don't, check that you have the optional deps from the [full] extras group:

pip install -e ".[full]"

Next steps