summaryrefslogtreecommitdiff
path: root/python-rtoml.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 09:00:53 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 09:00:53 +0000
commit90a3d6df08b977568bf9315fbdf580b60bf497cd (patch)
treea592fbe6bdec25c37d5a473313869063c9bf6c5b /python-rtoml.spec
parent8f1619a458ce439e569a78ace7df1418d3481b7a (diff)
automatic import of python-rtomlopeneuler20.03
Diffstat (limited to 'python-rtoml.spec')
-rw-r--r--python-rtoml.spec431
1 files changed, 431 insertions, 0 deletions
diff --git a/python-rtoml.spec b/python-rtoml.spec
new file mode 100644
index 0000000..c0069c7
--- /dev/null
+++ b/python-rtoml.spec
@@ -0,0 +1,431 @@
+%global _empty_manifest_terminate_build 0
+Name: python-rtoml
+Version: 0.9.0
+Release: 1
+Summary: please add a summary manually as the author left a blank one
+License: MIT License
+URL: https://github.com/samuelcolvin/rtoml
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d5/53/ac68f06b42de70958f0ddb2c6a9109054fc208951e4d61af86f0c7186254/rtoml-0.9.0.tar.gz
+
+
+%description
+# rtoml
+
+[![Actions Status](https://github.com/samuelcolvin/rtoml/workflows/CI/badge.svg)](https://github.com/samuelcolvin/rtoml/actions?query=event%3Apush+branch%3Amain+workflow%3ACI)
+[![Coverage](https://codecov.io/gh/samuelcolvin/rtoml/branch/main/graph/badge.svg)](https://codecov.io/gh/samuelcolvin/rtoml)
+[![pypi](https://img.shields.io/pypi/v/rtoml.svg)](https://pypi.python.org/pypi/rtoml)
+[![versions](https://img.shields.io/pypi/pyversions/rtoml.svg)](https://github.com/samuelcolvin/rtoml)
+[![license](https://img.shields.io/github/license/samuelcolvin/rtoml.svg)](https://github.com/samuelcolvin/rtoml/blob/main/LICENSE)
+
+
+A better TOML library for python implemented in rust.
+
+## Why Use rtoml
+
+* Correctness: rtoml is based on the widely used and very stable [toml-rs](https://github.com/alexcrichton/toml-rs)
+library, it passes all the [standard TOML tests](https://github.com/BurntSushi/toml-test) as well as having 100%
+coverage on python code. Other TOML libraries for python I tried all failed to parse some valid TOML.
+* Performance: see [github.com/pwwang/toml-bench](https://github.com/pwwang/toml-bench) -
+ rtoml is much faster than pure Python TOML libraries.
+
+## Install
+
+Requires `python>=3.7`, binaries are available from pypi for Linux, macOS and Windows,
+see [here](https://pypi.org/project/rtoml/#files).
+
+```bash
+pip install rtoml
+```
+
+If no binary is available on pypi for you system configuration; you'll need rust stable
+installed before you can install rtoml.
+
+## Usage
+
+#### load
+```python
+def load(toml: Union[str, Path, TextIO]) -> Dict[str, Any]: ...
+```
+
+Parse TOML via a string or file and return a python dictionary. The `toml` argument may be a `str`,
+`Path` or file object from `open()`.
+
+#### loads
+```python
+def loads(toml: str) -> Dict[str, Any]: ...
+```
+
+Parse a TOML string and return a python dictionary. (provided to match the interface of `json` and similar libraries)
+
+#### dumps
+```python
+def dumps(obj: Any, *, pretty: bool = False) -> str: ...
+```
+
+Serialize a python object to TOML.
+
+If `pretty` is true, output has a more "pretty" format.
+
+#### dump
+```python
+def dump(obj: Any, file: Union[Path, TextIO], *, pretty: bool = False) -> int: ...
+```
+
+Serialize a python object to TOML and write it to a file. `file` may be a `Path` or file object from `open()`.
+
+If `pretty` is true, output has a more "pretty" format.
+
+### Example
+
+```py
+from datetime import datetime, timezone, timedelta
+import rtoml
+
+obj = {
+ 'title': 'TOML Example',
+ 'owner': {
+ 'dob': datetime(1979, 5, 27, 7, 32, tzinfo=timezone(timedelta(hours=-8))),
+ 'name': 'Tom Preston-Werner',
+ },
+ 'database': {
+ 'connection_max': 5000,
+ 'enabled': True,
+ 'ports': [8001, 8001, 8002],
+ 'server': '192.168.1.1',
+ },
+}
+
+loaded_obj = rtoml.load("""\
+# This is a TOML document.
+
+title = "TOML Example"
+
+[owner]
+name = "Tom Preston-Werner"
+dob = 1979-05-27T07:32:00-08:00 # First class dates
+
+[database]
+server = "192.168.1.1"
+ports = [8001, 8001, 8002]
+connection_max = 5000
+enabled = true
+""")
+
+assert loaded_obj == obj
+
+assert rtoml.dumps(obj) == """\
+title = "TOML Example"
+
+[owner]
+dob = 1979-05-27T07:32:00-08:00
+name = "Tom Preston-Werner"
+
+[database]
+connection_max = 5000
+enabled = true
+server = "192.168.1.1"
+ports = [8001, 8001, 8002]
+"""
+```
+
+
+
+%package -n python3-rtoml
+Summary: please add a summary manually as the author left a blank one
+Provides: python-rtoml
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+BuildRequires: python3-cffi
+BuildRequires: gcc
+BuildRequires: gdb
+%description -n python3-rtoml
+# rtoml
+
+[![Actions Status](https://github.com/samuelcolvin/rtoml/workflows/CI/badge.svg)](https://github.com/samuelcolvin/rtoml/actions?query=event%3Apush+branch%3Amain+workflow%3ACI)
+[![Coverage](https://codecov.io/gh/samuelcolvin/rtoml/branch/main/graph/badge.svg)](https://codecov.io/gh/samuelcolvin/rtoml)
+[![pypi](https://img.shields.io/pypi/v/rtoml.svg)](https://pypi.python.org/pypi/rtoml)
+[![versions](https://img.shields.io/pypi/pyversions/rtoml.svg)](https://github.com/samuelcolvin/rtoml)
+[![license](https://img.shields.io/github/license/samuelcolvin/rtoml.svg)](https://github.com/samuelcolvin/rtoml/blob/main/LICENSE)
+
+
+A better TOML library for python implemented in rust.
+
+## Why Use rtoml
+
+* Correctness: rtoml is based on the widely used and very stable [toml-rs](https://github.com/alexcrichton/toml-rs)
+library, it passes all the [standard TOML tests](https://github.com/BurntSushi/toml-test) as well as having 100%
+coverage on python code. Other TOML libraries for python I tried all failed to parse some valid TOML.
+* Performance: see [github.com/pwwang/toml-bench](https://github.com/pwwang/toml-bench) -
+ rtoml is much faster than pure Python TOML libraries.
+
+## Install
+
+Requires `python>=3.7`, binaries are available from pypi for Linux, macOS and Windows,
+see [here](https://pypi.org/project/rtoml/#files).
+
+```bash
+pip install rtoml
+```
+
+If no binary is available on pypi for you system configuration; you'll need rust stable
+installed before you can install rtoml.
+
+## Usage
+
+#### load
+```python
+def load(toml: Union[str, Path, TextIO]) -> Dict[str, Any]: ...
+```
+
+Parse TOML via a string or file and return a python dictionary. The `toml` argument may be a `str`,
+`Path` or file object from `open()`.
+
+#### loads
+```python
+def loads(toml: str) -> Dict[str, Any]: ...
+```
+
+Parse a TOML string and return a python dictionary. (provided to match the interface of `json` and similar libraries)
+
+#### dumps
+```python
+def dumps(obj: Any, *, pretty: bool = False) -> str: ...
+```
+
+Serialize a python object to TOML.
+
+If `pretty` is true, output has a more "pretty" format.
+
+#### dump
+```python
+def dump(obj: Any, file: Union[Path, TextIO], *, pretty: bool = False) -> int: ...
+```
+
+Serialize a python object to TOML and write it to a file. `file` may be a `Path` or file object from `open()`.
+
+If `pretty` is true, output has a more "pretty" format.
+
+### Example
+
+```py
+from datetime import datetime, timezone, timedelta
+import rtoml
+
+obj = {
+ 'title': 'TOML Example',
+ 'owner': {
+ 'dob': datetime(1979, 5, 27, 7, 32, tzinfo=timezone(timedelta(hours=-8))),
+ 'name': 'Tom Preston-Werner',
+ },
+ 'database': {
+ 'connection_max': 5000,
+ 'enabled': True,
+ 'ports': [8001, 8001, 8002],
+ 'server': '192.168.1.1',
+ },
+}
+
+loaded_obj = rtoml.load("""\
+# This is a TOML document.
+
+title = "TOML Example"
+
+[owner]
+name = "Tom Preston-Werner"
+dob = 1979-05-27T07:32:00-08:00 # First class dates
+
+[database]
+server = "192.168.1.1"
+ports = [8001, 8001, 8002]
+connection_max = 5000
+enabled = true
+""")
+
+assert loaded_obj == obj
+
+assert rtoml.dumps(obj) == """\
+title = "TOML Example"
+
+[owner]
+dob = 1979-05-27T07:32:00-08:00
+name = "Tom Preston-Werner"
+
+[database]
+connection_max = 5000
+enabled = true
+server = "192.168.1.1"
+ports = [8001, 8001, 8002]
+"""
+```
+
+
+
+%package help
+Summary: Development documents and examples for rtoml
+Provides: python3-rtoml-doc
+%description help
+# rtoml
+
+[![Actions Status](https://github.com/samuelcolvin/rtoml/workflows/CI/badge.svg)](https://github.com/samuelcolvin/rtoml/actions?query=event%3Apush+branch%3Amain+workflow%3ACI)
+[![Coverage](https://codecov.io/gh/samuelcolvin/rtoml/branch/main/graph/badge.svg)](https://codecov.io/gh/samuelcolvin/rtoml)
+[![pypi](https://img.shields.io/pypi/v/rtoml.svg)](https://pypi.python.org/pypi/rtoml)
+[![versions](https://img.shields.io/pypi/pyversions/rtoml.svg)](https://github.com/samuelcolvin/rtoml)
+[![license](https://img.shields.io/github/license/samuelcolvin/rtoml.svg)](https://github.com/samuelcolvin/rtoml/blob/main/LICENSE)
+
+
+A better TOML library for python implemented in rust.
+
+## Why Use rtoml
+
+* Correctness: rtoml is based on the widely used and very stable [toml-rs](https://github.com/alexcrichton/toml-rs)
+library, it passes all the [standard TOML tests](https://github.com/BurntSushi/toml-test) as well as having 100%
+coverage on python code. Other TOML libraries for python I tried all failed to parse some valid TOML.
+* Performance: see [github.com/pwwang/toml-bench](https://github.com/pwwang/toml-bench) -
+ rtoml is much faster than pure Python TOML libraries.
+
+## Install
+
+Requires `python>=3.7`, binaries are available from pypi for Linux, macOS and Windows,
+see [here](https://pypi.org/project/rtoml/#files).
+
+```bash
+pip install rtoml
+```
+
+If no binary is available on pypi for you system configuration; you'll need rust stable
+installed before you can install rtoml.
+
+## Usage
+
+#### load
+```python
+def load(toml: Union[str, Path, TextIO]) -> Dict[str, Any]: ...
+```
+
+Parse TOML via a string or file and return a python dictionary. The `toml` argument may be a `str`,
+`Path` or file object from `open()`.
+
+#### loads
+```python
+def loads(toml: str) -> Dict[str, Any]: ...
+```
+
+Parse a TOML string and return a python dictionary. (provided to match the interface of `json` and similar libraries)
+
+#### dumps
+```python
+def dumps(obj: Any, *, pretty: bool = False) -> str: ...
+```
+
+Serialize a python object to TOML.
+
+If `pretty` is true, output has a more "pretty" format.
+
+#### dump
+```python
+def dump(obj: Any, file: Union[Path, TextIO], *, pretty: bool = False) -> int: ...
+```
+
+Serialize a python object to TOML and write it to a file. `file` may be a `Path` or file object from `open()`.
+
+If `pretty` is true, output has a more "pretty" format.
+
+### Example
+
+```py
+from datetime import datetime, timezone, timedelta
+import rtoml
+
+obj = {
+ 'title': 'TOML Example',
+ 'owner': {
+ 'dob': datetime(1979, 5, 27, 7, 32, tzinfo=timezone(timedelta(hours=-8))),
+ 'name': 'Tom Preston-Werner',
+ },
+ 'database': {
+ 'connection_max': 5000,
+ 'enabled': True,
+ 'ports': [8001, 8001, 8002],
+ 'server': '192.168.1.1',
+ },
+}
+
+loaded_obj = rtoml.load("""\
+# This is a TOML document.
+
+title = "TOML Example"
+
+[owner]
+name = "Tom Preston-Werner"
+dob = 1979-05-27T07:32:00-08:00 # First class dates
+
+[database]
+server = "192.168.1.1"
+ports = [8001, 8001, 8002]
+connection_max = 5000
+enabled = true
+""")
+
+assert loaded_obj == obj
+
+assert rtoml.dumps(obj) == """\
+title = "TOML Example"
+
+[owner]
+dob = 1979-05-27T07:32:00-08:00
+name = "Tom Preston-Werner"
+
+[database]
+connection_max = 5000
+enabled = true
+server = "192.168.1.1"
+ports = [8001, 8001, 8002]
+"""
+```
+
+
+
+%prep
+%autosetup -n rtoml-0.9.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-rtoml -f filelist.lst
+%dir %{python3_sitearch}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.9.0-1
+- Package Spec generated