ukaea / ukaea/fds

Build Lightweight Python Client (`fds-client`)

Open
#39 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

client dx priority: low
Dominant language
Python
Stars
0
Forks
1
Avg merge
26m
Merged PRs (30d)
24

Description

To support the "User-Driven Data Ingestion" architecture, fusion researchers need a simple, intuitive way to interact with FDS from their local computational environments (e.g., Jupyter Notebooks).

Acceptance Criteria:

  • Develop a standalone pip-installable fds-client package.
  • Implement robust authentication flows (e.g., Device Code flow or handling local Keycloak tokens).
  • Provide high-level wrappers around the REST API for creating metadata, linking sources, and consuming the bulk NDJSON export manifest into internal analytics objects (e.g., Pandas/Xarray).

Governing ADR(s): ADR 0016


Migrated from the internal tracker, where it was #5, opened 2026-02-25.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading ADR 0016, then map the existing REST API and authentication approach described by the project. Scope the standalone pip-installable package around device-code or local Keycloak authentication, metadata and source-linking wrappers, and NDJSON manifest consumption into Pandas or Xarray objects. Done means the package is installable and all listed acceptance criteria are implemented.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.