MetOffice / MetOffice/fab

Create a versioned API

Open
#518 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
9
Forks
9
Avg merge
12d 12h
Merged PRs (30d)
2

Description

#491 introduces an `api` submodule, to be used by applications to import the required symbols from Fab, independent for the actual location of the files inside of Fab (allowing easily to refactor files in Fab without affecting existing applications).

@MatthewHambley suggested that Fab should have versioned API files, e.g. a submodule `v1` from which to import a certain consistent set of symbols. If changes happen later, a `v2` submodule can offer a new API, and the old one can be deprecated.

Since we couldn't really agree on (or better, I don't really understand) the best way to implement the versioned file, and to unblock #491, I opened this as a separate issue to be handled by a UKMO.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing #491 and the existing `api` submodule to understand the symbols it exposes and the compatibility goal. Resolve the versioning design before implementation; done means the project has an agreed versioned API structure, such as a stable `v1` import surface and a defined path for later versions or deprecation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.