Suggestion: add pydantic versioned schema migration + base DLC schemas
@deruyter92 is already working on this.
Since Aug 14, 2026.
Assessment
This issue has not been assessed yet.
Description
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Similar issues
-
documentation help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
simonw/sqlite-utils#872 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100