%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 "", line 1, in 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).

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 "", line 1, in 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).

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 "", line 1, in 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).

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 - 0.15.1-1 - Package Spec generated