From 728aac31bb205bab208142d116b1c1d3e0f62a14 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Sat, 14 Oct 2023 02:27:02 +0800 Subject: python-referencing: Add new package From the README: An implementation-agnostic implementation of JSON reference resolution. Signed-off-by: Jeffery To --- lang/python/python-referencing/test.sh | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 lang/python/python-referencing/test.sh (limited to 'lang/python/python-referencing/test.sh') diff --git a/lang/python/python-referencing/test.sh b/lang/python/python-referencing/test.sh new file mode 100644 index 000000000..0517ba168 --- /dev/null +++ b/lang/python/python-referencing/test.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +[ "$1" = python3-referencing ] || exit 0 + +python3 - << 'EOF' + +from referencing import Registry, Resource +import referencing.jsonschema + +schema = Resource.from_contents( # Parse some contents into a 2020-12 JSON Schema + { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "urn:example:a-202012-schema", + "$defs": { + "nonNegativeInteger": { + "$anchor": "nonNegativeInteger", + "type": "integer", + "minimum": 0, + }, + }, + } +) +registry = schema @ Registry() # Add the resource to a new registry + +# From here forward, this would usually be done within a library wrapping this one, +# like a JSON Schema implementation +resolver = registry.resolver() +resolved = resolver.lookup("urn:example:a-202012-schema#nonNegativeInteger") +assert resolved.contents == { + "$anchor": "nonNegativeInteger", + "type": "integer", + "minimum": 0, +} + +EOF -- cgit