summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-msgspec.spec223
-rw-r--r--sources1
3 files changed, 225 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..6dda9c2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/msgspec-0.15.1.tar.gz
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
diff --git a/sources b/sources
new file mode 100644
index 0000000..e19ee7b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+6fc9e3a9221c983b1930869471f602e1 msgspec-0.15.1.tar.gz