← Back to issue list

feat: add pydantic models for all sources

View original Github issue

Metadata

Project
craft-parts
Number
#776
Type
pull request
State
merged
Author
lengau
Labels
Created
Updated
Closed

Current evaluation

Merged to add Pydantic models for all sources, enabling JSON schema generation for parts. Approved by two reviewers, depends on #775, and updates 16 files with a net reduction of 103 lines.

Suggested action:

No scores available.

Issue body

- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? ----- Requires #775 This makes all sources have pydantic models. This does very little on its own, but it is critical for creating JSON schemas for parts as a whole.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged to add Pydantic models for all sources, enabling JSON schema generation for parts. Approved by two reviewers, depends on #775, and updates 16 files with a net reduction of 103 lines.
qwen3.6-35b-a3b-mtp-q6 Merged feature adding Pydantic models for all sources, enabling JSON schema generation for parts. Depends on PR #775.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#5186 feat: pydantic fields for jsonschema output in Project snapcraft merged Merged after approval and CI. Added pydantic.Field descriptions and examples to the Project model for JSON schema output. Reviewer requested remaining examples, acknowledged. Updated 1 file with 435 additions and 83 deletions.
74%
#781 feat: JSON schema generation for parts craft-parts merged Merged the feature adding JSON schema generation for parts. Approved by two reviewers and depends on #778. The commit updates 13 files with 400 additions and 9 deletions.
73%
#21 feat: add create_grammar_model() craft-grammar merged Merged create_grammar_model(), generating grammar-aware classes from Pydantic models by converting standard types. Approved by two reviewers, passes CI, and adds 245 lines across four files.
73%
#1117 refactor: move some pydantic models and metafiles charmcraft merged Merged a refactoring change that relocated Pydantic models and metafiles to resolve circular imports. Approved by one reviewer, the update modified 29 files (+667/-520 lines) and closed CRAFT-1746.
72%
#254 refactor: make pydantic models more idiomatic craft-archives open Refactors pydantic models to be more idiomatic. All CI checks passing. No reviewers assigned or comments yet.
72%
#118 Make Pydantic models more idiomatic craft-archives open Task to modernize pydantic models for idiomatic pydantic 2 usage and better JSON schema generation. Filed by maintainer 817 days ago; pydantic 2 upgrade (#103) and follow-up commits have largely addressed the core concerns. No labels or maintainer response beyond Jira bot sync.
71%
#4 models: create grammar-aware pydantic models (CRAFT-856) craft-grammar merged Merged. Introduces grammar-aware Pydantic models (GrammarStr, GrammarStrList, GrammarSingleEntryDictList) for lifecycle part build-environment attributes. Approved by one reviewer, passed CI, and modified 10 files.
71%
#672 merge feature/pydantic-2 rockcraft merged Merged the pydantic 2 migration branch via rebase after two approvals and passing CI. The update modified 26 files, adding 3661 lines and removing 2150, finalizing the migration and dependency updates.
70%