feat: add pydantic models for all sources
Metadata
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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. |