diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-09 07:03:18 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-09 07:03:18 +0000 |
commit | 06259251f43ed763250d78a39c85b2dc9c845bf4 (patch) | |
tree | 1fe4b4cdc2a77be3124a2f766a57edae40d43ca6 /python-msgspec.spec | |
parent | 3c3b80a9a26c5b5e8ce5df757645beb35e1c4121 (diff) |
automatic import of python-msgspecopeneuler20.03
Diffstat (limited to 'python-msgspec.spec')
-rw-r--r-- | python-msgspec.spec | 223 |
1 files changed, 223 insertions, 0 deletions
diff --git a/python-msgspec.spec b/python-msgspec.spec new file mode 100644 index 0000000..dd3236c --- /dev/null +++ b/python-msgspec.spec @@ -0,0 +1,223 @@ +%global _empty_manifest_terminate_build 0 +Name: python-msgspec +Version: 0.15.1 +Release: 1 +Summary: A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML. +License: BSD +URL: https://jcristharif.com/msgspec/ +Source0: https://mirrors.aliyun.com/pypi/web/packages/eb/66/1ff879ce5c8485d16d5d18f904b119c665bf5c84df823ecb8ceeee328538/msgspec-0.15.1.tar.gz + +Requires: python3-pre-commit +Requires: python3-coverage +Requires: python3-gcovr +Requires: python3-sphinx +Requires: python3-furo +Requires: python3-sphinx-copybutton +Requires: python3-sphinx-design +Requires: python3-ipython +Requires: python3-pytest +Requires: python3-mypy +Requires: python3-pyright +Requires: python3-msgpack +Requires: python3-attrs +Requires: python3-pyyaml +Requires: python3-tomli-w +Requires: python3-tomli +Requires: python3-sphinx +Requires: python3-furo +Requires: python3-sphinx-copybutton +Requires: python3-sphinx-design +Requires: python3-ipython +Requires: python3-pytest +Requires: python3-mypy +Requires: python3-pyright +Requires: python3-msgpack +Requires: python3-attrs +Requires: python3-pyyaml +Requires: python3-tomli-w +Requires: python3-tomli +Requires: python3-tomli-w +Requires: python3-tomli +Requires: python3-pyyaml + +%description +`msgspec` may be used for serialization alone, as a faster JSON or +MessagePack library. For the greatest benefit though, we recommend using +`msgspec` to handle the full serialization & validation workflow: +**Define** your message schemas using standard Python type annotations. +```python +>>> import msgspec +>>> class User(msgspec.Struct): +``` +**Encode** messages as JSON, or one of the many other supported protocols. +```python +>>> alice = User("alice", groups={"admin", "engineering"}) +>>> alice +User(name='alice', groups={"admin", "engineering"}, email=None) +>>> msg = msgspec.json.encode(alice) +>>> msg +b'{"name":"alice","groups":["admin","engineering"],"email":null}' +``` +**Decode** messages back into Python objects, with optional schema validation. +```python +>>> msgspec.json.decode(msg, type=User) +User(name='alice', groups={"admin", "engineering"}, email=None) +>>> msgspec.json.decode(b'{"name":"bob","groups":[123]}', type=User) +Traceback (most recent call last): + File "<stdin>", line 1, in <module> +msgspec.ValidationError: Expected `str`, got `int` - at `$.groups[0]` +``` +`msgspec` is designed to be as performant as possible, while retaining some of +the nicities of validation libraries like +[pydantic](https://pydantic-docs.helpmanual.io/). For supported types, +encoding/decoding a message with `msgspec` can be +[~10-80x faster than alternative libraries](https://jcristharif.com/msgspec/benchmarks.html). +<p align="center"> + <a href="https://jcristharif.com/msgspec/benchmarks.html"> + <img src="https://raw.githubusercontent.com/jcrist/msgspec/main/docs/source/_static/bench-validation.svg"> + </a> +</p> +See [the documentation](https://jcristharif.com/msgspec/) for more information. +## LICENSE +New BSD. See the +[License File](https://github.com/jcrist/msgspec/blob/main/LICENSE). + +%package -n python3-msgspec +Summary: A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML. +Provides: python-msgspec +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-msgspec +`msgspec` may be used for serialization alone, as a faster JSON or +MessagePack library. For the greatest benefit though, we recommend using +`msgspec` to handle the full serialization & validation workflow: +**Define** your message schemas using standard Python type annotations. +```python +>>> import msgspec +>>> class User(msgspec.Struct): +``` +**Encode** messages as JSON, or one of the many other supported protocols. +```python +>>> alice = User("alice", groups={"admin", "engineering"}) +>>> alice +User(name='alice', groups={"admin", "engineering"}, email=None) +>>> msg = msgspec.json.encode(alice) +>>> msg +b'{"name":"alice","groups":["admin","engineering"],"email":null}' +``` +**Decode** messages back into Python objects, with optional schema validation. +```python +>>> msgspec.json.decode(msg, type=User) +User(name='alice', groups={"admin", "engineering"}, email=None) +>>> msgspec.json.decode(b'{"name":"bob","groups":[123]}', type=User) +Traceback (most recent call last): + File "<stdin>", line 1, in <module> +msgspec.ValidationError: Expected `str`, got `int` - at `$.groups[0]` +``` +`msgspec` is designed to be as performant as possible, while retaining some of +the nicities of validation libraries like +[pydantic](https://pydantic-docs.helpmanual.io/). For supported types, +encoding/decoding a message with `msgspec` can be +[~10-80x faster than alternative libraries](https://jcristharif.com/msgspec/benchmarks.html). +<p align="center"> + <a href="https://jcristharif.com/msgspec/benchmarks.html"> + <img src="https://raw.githubusercontent.com/jcrist/msgspec/main/docs/source/_static/bench-validation.svg"> + </a> +</p> +See [the documentation](https://jcristharif.com/msgspec/) for more information. +## LICENSE +New BSD. See the +[License File](https://github.com/jcrist/msgspec/blob/main/LICENSE). + +%package help +Summary: Development documents and examples for msgspec +Provides: python3-msgspec-doc +%description help +`msgspec` may be used for serialization alone, as a faster JSON or +MessagePack library. For the greatest benefit though, we recommend using +`msgspec` to handle the full serialization & validation workflow: +**Define** your message schemas using standard Python type annotations. +```python +>>> import msgspec +>>> class User(msgspec.Struct): +``` +**Encode** messages as JSON, or one of the many other supported protocols. +```python +>>> alice = User("alice", groups={"admin", "engineering"}) +>>> alice +User(name='alice', groups={"admin", "engineering"}, email=None) +>>> msg = msgspec.json.encode(alice) +>>> msg +b'{"name":"alice","groups":["admin","engineering"],"email":null}' +``` +**Decode** messages back into Python objects, with optional schema validation. +```python +>>> msgspec.json.decode(msg, type=User) +User(name='alice', groups={"admin", "engineering"}, email=None) +>>> msgspec.json.decode(b'{"name":"bob","groups":[123]}', type=User) +Traceback (most recent call last): + File "<stdin>", line 1, in <module> +msgspec.ValidationError: Expected `str`, got `int` - at `$.groups[0]` +``` +`msgspec` is designed to be as performant as possible, while retaining some of +the nicities of validation libraries like +[pydantic](https://pydantic-docs.helpmanual.io/). For supported types, +encoding/decoding a message with `msgspec` can be +[~10-80x faster than alternative libraries](https://jcristharif.com/msgspec/benchmarks.html). +<p align="center"> + <a href="https://jcristharif.com/msgspec/benchmarks.html"> + <img src="https://raw.githubusercontent.com/jcrist/msgspec/main/docs/source/_static/bench-validation.svg"> + </a> +</p> +See [the documentation](https://jcristharif.com/msgspec/) for more information. +## LICENSE +New BSD. See the +[License File](https://github.com/jcrist/msgspec/blob/main/LICENSE). + +%prep +%autosetup -n msgspec-0.15.1 + +%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-msgspec -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri Jun 09 2023 Python_Bot <Python_Bot@openeuler.org> - 0.15.1-1 +- Package Spec generated |