Skip to content

Add an "implementers guide" for developing backends #3026

@freakboy3742

Description

@freakboy3742

What is the problem or limitation you are having?

As noted in #3022, there is very little documentation or formal interface for someone seeking to implement a new backend, or implement a missing piece of an existing backend.

Describe the solution you'd like

Add an implementation guide to the docs. This could cover details such as:

  • An overview of the overall structure
  • A guide to "first light" for a new backend (what to implement, etc)
  • A list of the pieces that need to be implemented (what is required, what is optional but recommended, what is fully optional)
  • The formal interface for each piece of the code that needs to be implemented
  • Any known quirks, or behavioural edge cases that implementers should look out for

Describe alternatives you've considered

A formal ABC or Protocol specification. This was the original form proposed in #3022. The downside is that introducing this as formal code has a non-zero impact on runtime, won't capture all the underlying details (such as behavioural and semantic details), and is only of interest to a relatively small audience.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationAn improvement required in the project's documentation.enhancementNew features, or improvements to existing features.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions