← Back to issue list

Use pydantic instead of jsonschema for legacy store

View original Github issue

Metadata

Project
snapcraft
Number
#5655
Type
issue
State
open
Author
bepri
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed
—

Current evaluation

Triaged enhancement to replace legacy store channel-map jsonschema validation with Pydantic; it remains open, and jsonschema 2.6.0 is still pinned.

Suggested action: keep open

Reason: The maintainer-authored issue is labeled Triaged and clearly identifies the migration. Current code still makes seven jsonschema validation calls in snapcraft/store/channel_map.py and pins jsonschema==2.6.0; the only comment is an automated Jira-ticket notice, with no resolving commit or implementation.

Evaluated by: mr-cal-bot

Impact: 46 Quick Win: 14 Complexity: 64 Confidence: 98 Actionability: 84

Issue body

### What needs to get done The legacy code for parsing the store responses should use Pydantic models instead of validating with the `jsonschema` library. ### Why it needs to get done The current legacy code uses a pinned version of jsonschema that is very difficult to upgrade. Instead of upgrading, the code should just move over to using the more modern pydantic models.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 46
Quick Win: 14
Complexity: 64
Confidence: 98
Actionability: 84
keep open Triaged enhancement to replace legacy store channel-map jsonschema validation with Pydantic; it remains open, and jsonschema 2.6.0 is still pinned.
stealth/space-bunny-alpha
Impact: 32
Quick Win: 12
Complexity: 48
Confidence: 80
Actionability: 75
keep open Maintainer-filed enhancement (Triaged) to port legacy store response parsing in snapcraft/store/channel_map.py from jsonschema to pydantic models, unblocking removal of the pinned jsonschema==2.6.0; still unimplemented.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 13
Complexity: 40
Confidence: 75
Actionability: 70
keep open Migrate legacy store code from jsonschema to pydantic models. Issue is triaged and the code still uses jsonschema.
qwen/qwen3.8-27b
Impact: 25
Quick Win: 14
Staleness: 70
Complexity: 45
Confidence: 80
Support Request: 5
keep open Enhancement to migrate legacy store response parsing (channel_map.py) from pinned jsonschema 2.6.0 to Pydantic models. Triaged by a maintainer with Jira ticket SNAPCRAFT-1203, but no activity for over a year; code at HEAD still uses jsonschema, so the work remains.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 40
Confidence: 85
Support Request: 5
keep open Enhancement to replace pinned jsonschema with pydantic for legacy store parsing. Triaged by a maintainer, currently inactive for over a year with no assigned work or progress.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 20
Confidence: 85
Support Request: 0
keep open Enhancement to replace pinned jsonschema with Pydantic models for legacy store response parsing. Triaged by maintainer, inactive for over a year, awaiting implementation.

Update history

No update history recorded yet.

Related work

  • Related To: snapcraft#5654 (confidence 96%)

    Companion Pydantic migration issue for legacy project parsing; closed without implementing the migration.

  • Related To: snapcraft#5653 (confidence 94%)

    Another Pydantic migration issue in the same legacy jsonschema-removal series.

Related issues

Issue Project State Summary Similarity
#5230 Update jsonschema snapcraft open Triaged enhancement remains open: jsonschema is still pinned to 2.6.0, and the remaining store channel-map validation must be modernized or replaced with Pydantic.
85%
#5653 Use pydantic instead of jsonschema for legacy project snapcraft open Obsolete after snapcraft_legacy removal: project parsing no longer uses jsonschema; the remaining store migration is tracked separately in #5655.
79%
#5654 Use pydantic instead of jsonschema for legacy project snapcraft closed Closed without the requested Pydantic migration; PR #5690 (f12ce847d) only updated jsonschema to 2.6.0, leaving legacy project validation on the old library.
77%