summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <copr-devel@lists.fedorahosted.org>2023-02-25 03:07:42 +0000
committerCoprDistGit <copr-devel@lists.fedorahosted.org>2023-02-25 03:07:42 +0000
commitcf0cc297e2bedd8abeded05b60320b5c38fe778b (patch)
tree547b9efbdb64b7097c35e4f92475c9f8a47fcd0c
parentd241ce957d2dd2bacc849e22bca7cbe7a4aa68a2 (diff)
automatic import of python3-jsonrefopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-jsonref.spec251
-rw-r--r--sources1
3 files changed, 253 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..531bbc7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/jsonref-1.1.0.tar.gz
diff --git a/python-jsonref.spec b/python-jsonref.spec
new file mode 100644
index 0000000..0c3e99c
--- /dev/null
+++ b/python-jsonref.spec
@@ -0,0 +1,251 @@
+%global _empty_manifest_terminate_build 0
+Name: python-jsonref
+Version: 1.1.0
+Release: 1
+Summary: jsonref is a library for automatic dereferencing of JSON Reference objects for Python.
+License: MIT
+URL: https://pypi.org/project/jsonref/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/aa/0d/c1f3277e90ccdb50d33ed5ba1ec5b3f0a242ed8c1b1a85d3afeb68464dca/jsonref-1.1.0.tar.gz
+BuildArch: noarch
+
+
+%description
+# jsonref
+
+[![image](https://github.com/gazpachoking/jsonref/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/gazpachoking/jsonref/actions/workflows/test.yml?query=branch%3Amaster)
+[![image](https://readthedocs.org/projects/jsonref/badge/?version=latest)](https://jsonref.readthedocs.io/en/latest/)
+[![image](https://coveralls.io/repos/gazpachoking/jsonref/badge.png?branch=master)](https://coveralls.io/r/gazpachoking/jsonref)
+[![image](https://img.shields.io/pypi/v/jsonref?color=%2334D058&label=pypi%20package)](https://pypi.org/project/jsonref)
+
+`jsonref` is a library for automatic dereferencing of [JSON
+Reference](https://datatracker.ietf.org/doc/html/draft-pbryan-zyp-json-ref-03)
+objects for Python (supporting Python 3.7+).
+
+This library lets you use a data structure with JSON reference objects,
+as if the references had been replaced with the referent data.
+
+```python console
+>>> from pprint import pprint
+>>> import jsonref
+
+>>> # An example json document
+>>> json_str = """{"real": [1, 2, 3, 4], "ref": {"$ref": "#/real"}}"""
+>>> data = jsonref.loads(json_str)
+>>> pprint(data) # Reference is not evaluated until here
+{'real': [1, 2, 3, 4], 'ref': [1, 2, 3, 4]}
+```
+
+# Features
+
+- References are evaluated lazily. Nothing is dereferenced until it is
+ used.
+- Recursive references are supported, and create recursive python data
+ structures.
+
+References objects are actually replaced by lazy lookup proxy objects
+which are almost completely transparent.
+
+```python console
+>>> data = jsonref.loads('{"real": [1, 2, 3, 4], "ref": {"$ref": "#/real"}}')
+>>> # You can tell it is a proxy by using the type function
+>>> type(data["real"]), type(data["ref"])
+(<class 'list'>, <class 'jsonref.JsonRef'>)
+>>> # You have direct access to the referent data with the __subject__
+>>> # attribute
+>>> type(data["ref"].__subject__)
+<class 'list'>
+>>> # If you need to get at the reference object
+>>> data["ref"].__reference__
+{'$ref': '#/real'}
+>>> # Other than that you can use the proxy just like the underlying object
+>>> ref = data["ref"]
+>>> isinstance(ref, list)
+True
+>>> data["real"] == ref
+True
+>>> ref.append(5)
+>>> del ref[0]
+>>> # Actions on the reference affect the real data (if it is mutable)
+>>> pprint(data)
+{'real': [2, 3, 4, 5], 'ref': [2, 3, 4, 5]}
+```
+
+
+
+%package -n python3-jsonref
+Summary: jsonref is a library for automatic dereferencing of JSON Reference objects for Python.
+Provides: python-jsonref
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+%description -n python3-jsonref
+# jsonref
+
+[![image](https://github.com/gazpachoking/jsonref/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/gazpachoking/jsonref/actions/workflows/test.yml?query=branch%3Amaster)
+[![image](https://readthedocs.org/projects/jsonref/badge/?version=latest)](https://jsonref.readthedocs.io/en/latest/)
+[![image](https://coveralls.io/repos/gazpachoking/jsonref/badge.png?branch=master)](https://coveralls.io/r/gazpachoking/jsonref)
+[![image](https://img.shields.io/pypi/v/jsonref?color=%2334D058&label=pypi%20package)](https://pypi.org/project/jsonref)
+
+`jsonref` is a library for automatic dereferencing of [JSON
+Reference](https://datatracker.ietf.org/doc/html/draft-pbryan-zyp-json-ref-03)
+objects for Python (supporting Python 3.7+).
+
+This library lets you use a data structure with JSON reference objects,
+as if the references had been replaced with the referent data.
+
+```python console
+>>> from pprint import pprint
+>>> import jsonref
+
+>>> # An example json document
+>>> json_str = """{"real": [1, 2, 3, 4], "ref": {"$ref": "#/real"}}"""
+>>> data = jsonref.loads(json_str)
+>>> pprint(data) # Reference is not evaluated until here
+{'real': [1, 2, 3, 4], 'ref': [1, 2, 3, 4]}
+```
+
+# Features
+
+- References are evaluated lazily. Nothing is dereferenced until it is
+ used.
+- Recursive references are supported, and create recursive python data
+ structures.
+
+References objects are actually replaced by lazy lookup proxy objects
+which are almost completely transparent.
+
+```python console
+>>> data = jsonref.loads('{"real": [1, 2, 3, 4], "ref": {"$ref": "#/real"}}')
+>>> # You can tell it is a proxy by using the type function
+>>> type(data["real"]), type(data["ref"])
+(<class 'list'>, <class 'jsonref.JsonRef'>)
+>>> # You have direct access to the referent data with the __subject__
+>>> # attribute
+>>> type(data["ref"].__subject__)
+<class 'list'>
+>>> # If you need to get at the reference object
+>>> data["ref"].__reference__
+{'$ref': '#/real'}
+>>> # Other than that you can use the proxy just like the underlying object
+>>> ref = data["ref"]
+>>> isinstance(ref, list)
+True
+>>> data["real"] == ref
+True
+>>> ref.append(5)
+>>> del ref[0]
+>>> # Actions on the reference affect the real data (if it is mutable)
+>>> pprint(data)
+{'real': [2, 3, 4, 5], 'ref': [2, 3, 4, 5]}
+```
+
+
+
+%package help
+Summary: Development documents and examples for jsonref
+Provides: python3-jsonref-doc
+%description help
+# jsonref
+
+[![image](https://github.com/gazpachoking/jsonref/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/gazpachoking/jsonref/actions/workflows/test.yml?query=branch%3Amaster)
+[![image](https://readthedocs.org/projects/jsonref/badge/?version=latest)](https://jsonref.readthedocs.io/en/latest/)
+[![image](https://coveralls.io/repos/gazpachoking/jsonref/badge.png?branch=master)](https://coveralls.io/r/gazpachoking/jsonref)
+[![image](https://img.shields.io/pypi/v/jsonref?color=%2334D058&label=pypi%20package)](https://pypi.org/project/jsonref)
+
+`jsonref` is a library for automatic dereferencing of [JSON
+Reference](https://datatracker.ietf.org/doc/html/draft-pbryan-zyp-json-ref-03)
+objects for Python (supporting Python 3.7+).
+
+This library lets you use a data structure with JSON reference objects,
+as if the references had been replaced with the referent data.
+
+```python console
+>>> from pprint import pprint
+>>> import jsonref
+
+>>> # An example json document
+>>> json_str = """{"real": [1, 2, 3, 4], "ref": {"$ref": "#/real"}}"""
+>>> data = jsonref.loads(json_str)
+>>> pprint(data) # Reference is not evaluated until here
+{'real': [1, 2, 3, 4], 'ref': [1, 2, 3, 4]}
+```
+
+# Features
+
+- References are evaluated lazily. Nothing is dereferenced until it is
+ used.
+- Recursive references are supported, and create recursive python data
+ structures.
+
+References objects are actually replaced by lazy lookup proxy objects
+which are almost completely transparent.
+
+```python console
+>>> data = jsonref.loads('{"real": [1, 2, 3, 4], "ref": {"$ref": "#/real"}}')
+>>> # You can tell it is a proxy by using the type function
+>>> type(data["real"]), type(data["ref"])
+(<class 'list'>, <class 'jsonref.JsonRef'>)
+>>> # You have direct access to the referent data with the __subject__
+>>> # attribute
+>>> type(data["ref"].__subject__)
+<class 'list'>
+>>> # If you need to get at the reference object
+>>> data["ref"].__reference__
+{'$ref': '#/real'}
+>>> # Other than that you can use the proxy just like the underlying object
+>>> ref = data["ref"]
+>>> isinstance(ref, list)
+True
+>>> data["real"] == ref
+True
+>>> ref.append(5)
+>>> del ref[0]
+>>> # Actions on the reference affect the real data (if it is mutable)
+>>> pprint(data)
+{'real': [2, 3, 4, 5], 'ref': [2, 3, 4, 5]}
+```
+
+
+
+%prep
+%autosetup -n jsonref-1.1.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-jsonref -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Sat Feb 25 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..989ec00
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+c6bb6e762afc840dbb246fbcfeea6800 jsonref-1.1.0.tar.gz