Upgrade jsonschema dependency and schema versions

Open
#159 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
tooling

Research direction

After Python 3.6 support is dropped, locate the jsonschema dependency declaration and the existing JSON schemas, then inspect the tests that validate them. Update the dependency and schema references together, replace the specified UUID regexes, and run the schema validation tests to confirm the updated schemas still validate.

Written by the indexing model from the issue text.

Description

Overview

Currently, le-utils does not directly require jsonschema directly, but does provide code to use schemas in the Kolibri ecosystem. The current JSON schemas are limited to Draft-07 because the latest version of jsonschema to support Python 3.6 only supports up to that draft. The le-utils project must continue to support Python 3.6 until it is deprecated in Kolibri. Once that happens, we can upgrade jsonschema (used in tests) and update the existing schemas to user a newer schema version, 2019 or 2020.

Prerequisite
  • le-utils drops support for Python 3.6
Description and outcomes
  • Update the jsonschema version to the latest release that aligns with le-utils python version requirements
  • Update all JSON schemas to reference a newer schema version
  • Ensure the updated schemas still validate
  • Replace any UUID regexes with "format": "uuid" (added in 2019-09)
Dominant language
Python
Stars
7
Forks
36
Avg merge
5d 1h
Merged PRs (30d)
1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from learningequality/le-utils

All issues in learningequality/le-utils

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.