Skip to content

Open Science — beginner tutorial

Released in FCC v1.2.1. You are new to FCC and want a gentle introduction to Open Science. 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 Open Science subsystem provides the FAIR (Findability, Accessibility, Interoperability, Reusability) compliance toolkit with quality gates and reproducibility templates for open scientific work.

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

Focus persona: OSC — Open Science Champion

We anchor this beginner-track tutorial on OSC because that's the persona most relevant to a beginner use of the Open Science 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("OSC")
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 30 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 open-science 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_open_science.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