Suggestion: add pydantic versioned schema migration + base DLC schemas

Open
#48 0 comments 1 reaction 2 assignees View on GitHub

@deruyter92 is already working on this.

Since Aug 14, 2026.

Assessment

This issue has not been assessed yet.

Description

enhancement

This is a reminder/centralized post regarding where to host DLC config/project schemas and related tools.

Several of our libraries in the software stack could benefit from having access to:

  • DLC project layout/file structure schemas
  • DLC config schemas (available in main DLC)
  • Versioned schema migration code (available in main DLC)
  • DLC keypoint/data spec schema(s)

and potentially other pieces of code.

Criteria for inclusion in DLCLibrary (requires discussion, this is an outline):

  • Lighweight dependencies
    • No core DLC
  • Useful to at least two DLC repos in a concrete way
    • e.g. repo-specific migration logic should be hosted at the lowest stage where needed only
    • Adding code "for later" should be strictly documented and motivated, and ideally have an associated WIP PR in involved repos
  • Should have one central domain-correct behavior
    • Centralizing prevents incompatible interpretations across repositories
    • DLCLibrary should be a source of truth, not a copy
    • Existing implementations should migrate to importing it, adding here should have corresponding migration logic ready downstream ideally
    • Must not become a drawer of loosely useful helpers that may be repo specific/general-purpose code
    • In general adding code here should be heavily scrutinized, only the bare required minimum should be accepted
  • Testing can also be done in this repo on a different level:
    • Public schemas and migration behavior can be versioned and tested
    • Breaking changes require an explicit release and migration path
    • Round-trip and compatibility tests
    • Unknown or newer schema versions must fail clearly if broken/problematic
Dominant language
Python
Stars
8
Forks
8
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

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.

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.