← Back to issue list

Migrate to Pydantic 2

View original Github issue

Metadata

Project
charmcraft
Number
#1768
Type
issue
State
closed
Author
lengau
Labels
—
Created
Updated
Closed

Current evaluation

Migrated Charmcraft to Pydantic 2 via merged PR #1777 (70078b03), with the feature branch merged to main in #1817 (394e6e55).

Resolution: closed resolved

Reason: PR #1777 completed Charmcraft's Pydantic 2 migration and was merged as commit 70078b03. The work was integrated into main through PR #1817 at commit 394e6e55.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done Migrate to pydantic 2 with feature branches of craft libraries ### Why it needs to get done pydantic 1 is deprecated

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Migrated Charmcraft to Pydantic 2 via merged PR #1777 (70078b03), with the feature branch merged to main in #1817 (394e6e55).
stealth/space-bunny-alpha — closed resolved craft-parts was migrated to Pydantic 2 by merged PR #771 (6b155294), followed by cleanup PRs #778 and #794 and release 2.0.0 preparation in PR #807.
qwen3.6-35b-a3b-mtp-q6 — — Closed without resolution. The Pydantic 2 migration was logged internally via Jira but no code changes or implementation were recorded in this repository.
qwen/qwen3.6-35b-a3b — — Closed and superseded by internal Jira ticket CRAFT-3160. The Pydantic 2 migration request was moved to internal tracking rather than resolved directly in this repository.
qwen/qwen3.6-35b-a3b — — The Pydantic 2 migration request was closed without a public resolution. A bot comment forwarded the task to internal Jira ticket CRAFT-3160, indicating the work was tracked internally or abandoned.
qwen3.6-35b-a3b-mtp-q6 — — Closed and routed to internal Jira tracking (CRAFT-3160) without code changes. The Pydantic 2 migration was deferred or abandoned, as no pull requests or implementation branches were created.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: charmcraft#1777 (confidence 100%)

    Merged Charmcraft Pydantic 2 migration; commit 70078b03 switches the project to Pydantic 2.

  • Related To: charmcraft#1817 (confidence 100%)

    Merged the Pydantic 2 feature branch into main as commit 394e6e55.

  • Likely Fixed By: craft-parts#771 (confidence 95%)

    Merged craft-parts' Pydantic 2 migration, providing the related craft-library migration work.

Related issues

Issue Project State Summary Similarity
#110 Migrate to Pydantic 2 craft-archives closed Pydantic 2 migration was completed in merged PR #103 (commit b69f44a) on feature/2.0; the branch later reached main through PR #123.
82%
#4941 Migrate to Pydantic 2 snapcraft closed Pydantic 2 migration completed in merged snapcraft#4955 via commit 1fc8fe6ab, resolving CRAFT-3159.
78%
#1777 feat(deps)!: switch to pydantic 2 charmcraft merged Breaking PR #1777 (commit 70078b03) migrated charmcraft to pydantic 2, absorbing the #1776 unused-code cleanup; merged into main via #1817 (394e6e55) after #1815 fixed YAML default-parts.
77%
#345 Migrate to Pydantic 2 craft-application closed Pydantic 2 migration landed via merged PR #401, commit c2f0978a, updating 23 files and replacing the issue's Pydantic 1 requirements.
76%
#1812 pydantic 2 version not always including charm source charmcraft closed Fixed by merged PR #1815 (commit 2a0eb973), restoring default parts for bases charms after the Pydantic 2 migration so source files are packaged.
76%
#663 chore!: migrate to pydantic 2 rockcraft merged Merged PR #663 migrated Rockcraft to Pydantic 2, adopted craft-application's Platform, and fixed #657; migration work includes commit f1681ea1.
75%
#728 Migrate to Pydantic 2.x craft-parts closed Pydantic 2 migration landed in canonical/craft-parts#771 via commit 6b155294, followed by cleanup in #778; craft-parts now requires pydantic>=2.0.0.
75%
#323 config: migrate to use pydantic BaseModel charmcraft merged Merged in canonical/charmcraft#323 via commit a68601fa, replacing JSON Schema validation with Pydantic BaseModel and adding Config.unmarshal() and clearer field-based errors.
73%
#60 Migrate to pydantic 2 imagecraft merged PR #60 merged as commit be1741a, migrating Imagecraft to Pydantic V2 and newer craft libraries (FR-8917); pyproject now pins pydantic~=2.12.5. Approved by one reviewer with no unresolved comments.
73%
#401 build!: update to pydantic 2 craft-application merged Merged PR #401 as commit c2f0978a, migrating craft-application to Pydantic 2 across 23 files; craft-grammar#34 was required for the tests.
72%