diff --git a/python-warlock.spec b/python-warlock.spec index 7f8d0ff..09e38bc 100644 --- a/python-warlock.spec +++ b/python-warlock.spec @@ -1,186 +1,36 @@ %global _empty_manifest_terminate_build 0 Name: python-warlock -Version: 1.3.3 +Version: 2.0.1 Release: 1 Summary: Python object model built on JSON schema and JSON patch. License: Apache-2.0 URL: http://github.com/bcwaldon/warlock -Source0: https://files.pythonhosted.org/packages/c2/36/178b26a338cd6d30523246da4721b1114306f588deb813f3f503052825ee/warlock-1.3.3.tar.gz +Source0: https://files.pythonhosted.org/packages/de/cf/ba9ac96d09b797c377e2c12c0eb6b19565f3b2a2efb55932d319e319b622/warlock-2.0.1.tar.gz BuildArch: noarch - %description Warlock — self-validating Python objects using JSON schema - %package -n python3-warlock Summary: Python object model built on JSON schema and JSON patch. Provides: python-warlock +Requires: python3-jsonpatch +Requires: python3-jsonschema BuildRequires: python3-devel BuildRequires: python3-setuptools + %description -n python3-warlock -# Warlock — self-validating Python objects using JSON schema - -[![PyPI](https://img.shields.io/pypi/v/warlock.svg)][warlock] -[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/warlock.svg)][warlock] -[![PyPI - Downloads](https://img.shields.io/pypi/dw/warlock.svg)][pypistats] - -[![Build Status](https://travis-ci.org/bcwaldon/warlock.svg?branch=master)][ci-builds] -[![Coverage Status](https://coveralls.io/repos/github/bcwaldon/warlock/badge.svg?branch=master)][coveralls] - -## Installation - -Warlock is [available on PyPI][warlock]: - -```shell -pip install warlock -``` - -## Usage - -1) Create your schema - - ```python - >>> schema = { - 'name': 'Country', - 'properties': { - 'name': {'type': 'string'}, - 'abbreviation': {'type': 'string'}, - 'population': {'type': 'integer'}, - }, - 'additionalProperties': False, - } - ``` - -2) Create a model - - ```python - >>> import warlock - >>> Country = warlock.model_factory(schema) - ``` - -3) Create an object using your model - - ```python - >>> sweden = Country(name='Sweden', abbreviation='SE') - ``` - -4) Let the object validate itself - - ```python - >>> sweden.name = 5 - Traceback (most recent call last): - File "", line 1, in - File "warlock/core.py", line 53, in __setattr__ - raise InvalidOperation(msg) - warlock.core.InvalidOperation: Unable to set 'name' to '5' - - >>> sweden.overlord = 'Bears' - Traceback (most recent call last): - File "", line 1, in - File "warlock/core.py", line 53, in __setattr__ - raise InvalidOperation(msg) - warlock.core.InvalidOperation: Unable to set 'overlord' to 'Bears' - ``` - -5) Generate a [JSON Patch document](http://tools.ietf.org/html/draft-ietf-appsawg-json-patch) to track changes - - ```python - >>> sweden.population=9453000 - >>> sweden.patch - '[{"path": "/population", "value": 9453000, "op": "add"}]' - ``` - -[warlock]: https://pypi.org/project/warlock/ -[pip]: https://pip.pypa.io/en/stable/ -[ci-builds]: https://travis-ci.org/bcwaldon/warlock -[coveralls]: https://coveralls.io/github/bcwaldon/warlock?branch=master -[pypistats]: https://pypistats.org/packages/warlock +Warlock — self-validating Python objects using JSON schema %package help Summary: Development documents and examples for warlock Provides: python3-warlock-doc + %description help -# Warlock — self-validating Python objects using JSON schema - -[![PyPI](https://img.shields.io/pypi/v/warlock.svg)][warlock] -[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/warlock.svg)][warlock] -[![PyPI - Downloads](https://img.shields.io/pypi/dw/warlock.svg)][pypistats] - -[![Build Status](https://travis-ci.org/bcwaldon/warlock.svg?branch=master)][ci-builds] -[![Coverage Status](https://coveralls.io/repos/github/bcwaldon/warlock/badge.svg?branch=master)][coveralls] - -## Installation - -Warlock is [available on PyPI][warlock]: - -```shell -pip install warlock -``` - -## Usage - -1) Create your schema - - ```python - >>> schema = { - 'name': 'Country', - 'properties': { - 'name': {'type': 'string'}, - 'abbreviation': {'type': 'string'}, - 'population': {'type': 'integer'}, - }, - 'additionalProperties': False, - } - ``` - -2) Create a model - - ```python - >>> import warlock - >>> Country = warlock.model_factory(schema) - ``` - -3) Create an object using your model - - ```python - >>> sweden = Country(name='Sweden', abbreviation='SE') - ``` - -4) Let the object validate itself - - ```python - >>> sweden.name = 5 - Traceback (most recent call last): - File "", line 1, in - File "warlock/core.py", line 53, in __setattr__ - raise InvalidOperation(msg) - warlock.core.InvalidOperation: Unable to set 'name' to '5' - - >>> sweden.overlord = 'Bears' - Traceback (most recent call last): - File "", line 1, in - File "warlock/core.py", line 53, in __setattr__ - raise InvalidOperation(msg) - warlock.core.InvalidOperation: Unable to set 'overlord' to 'Bears' - ``` - -5) Generate a [JSON Patch document](http://tools.ietf.org/html/draft-ietf-appsawg-json-patch) to track changes - - ```python - >>> sweden.population=9453000 - >>> sweden.patch - '[{"path": "/population", "value": 9453000, "op": "add"}]' - ``` - -[warlock]: https://pypi.org/project/warlock/ -[pip]: https://pip.pypa.io/en/stable/ -[ci-builds]: https://travis-ci.org/bcwaldon/warlock -[coveralls]: https://coveralls.io/github/bcwaldon/warlock?branch=master -[pypistats]: https://pypistats.org/packages/warlock +Warlock — self-validating Python objects using JSON schema %prep -%autosetup -n warlock-1.3.3 +%autosetup -n warlock-%{version} %build %py3_build @@ -220,5 +70,9 @@ mv %{buildroot}/doclist.lst . %{_docdir}/* %changelog +* Tue Nov 01 2022 wangjunqi - 2.0.1-1 +- Update package to version 2.0.1 + * Mon Nov 23 2020 Python_Bot - Package Spec generated + diff --git a/warlock-1.3.3.tar.gz b/warlock-1.3.3.tar.gz deleted file mode 100644 index d0adbcc..0000000 Binary files a/warlock-1.3.3.tar.gz and /dev/null differ diff --git a/warlock-2.0.1.tar.gz b/warlock-2.0.1.tar.gz new file mode 100644 index 0000000..cc16daf Binary files /dev/null and b/warlock-2.0.1.tar.gz differ