Create a versioned API
- 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
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