%global _empty_manifest_terminate_build 0 Name: python-json-parser Version: 1.2.0 Release: 1 Summary: A JSON parser written in Python. License: MIT URL: https://github.com/tusharsadhwani/json_parser Source0: https://mirrors.nju.edu.cn/pypi/web/packages/24/5b/5e89f17131c145aa2c2359faadf8d9165e4d6a69bb2508e7637162b3f824/json_parser-1.2.0.tar.gz BuildArch: noarch Requires: python3-pytest %description # json_parser An _efficient_ JSON parser written in Python. ## Installation Install it via pip: ```bash pip install json-parser ``` ## Usage ```python import json_parser data = json_parser.parse('{"value": 42}') print(data['value']) # 42 ``` ## Benchmarks Running it on [this 25MB JSON file][1] gave the following results: ```pycon >>> with open('large-file.json') as f: ... t = time.time() ... x = json.load(f) ... t = time.time() - t ... print(t, 'seconds') ... 0.6405608654022217 seconds >>> with open('large-file.json') as f: ... t = time.time() ... y = json_parser.parse(f.read()) ... t = time.time() - t ... print(t, 'seconds') ... 22.286625385284424 seconds >>> x == y True ``` So, it's about 34x slower than the builtin `json`. Which, is par for the course when it comes to pure python. ## Testing Clone the app and run the following: ```bash pip install -e '.[dev]' pytest ``` [1]: https://raw.githubusercontent.com/json-iterator/test-data/master/large-file.json %package -n python3-json-parser Summary: A JSON parser written in Python. Provides: python-json-parser BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-json-parser # json_parser An _efficient_ JSON parser written in Python. ## Installation Install it via pip: ```bash pip install json-parser ``` ## Usage ```python import json_parser data = json_parser.parse('{"value": 42}') print(data['value']) # 42 ``` ## Benchmarks Running it on [this 25MB JSON file][1] gave the following results: ```pycon >>> with open('large-file.json') as f: ... t = time.time() ... x = json.load(f) ... t = time.time() - t ... print(t, 'seconds') ... 0.6405608654022217 seconds >>> with open('large-file.json') as f: ... t = time.time() ... y = json_parser.parse(f.read()) ... t = time.time() - t ... print(t, 'seconds') ... 22.286625385284424 seconds >>> x == y True ``` So, it's about 34x slower than the builtin `json`. Which, is par for the course when it comes to pure python. ## Testing Clone the app and run the following: ```bash pip install -e '.[dev]' pytest ``` [1]: https://raw.githubusercontent.com/json-iterator/test-data/master/large-file.json %package help Summary: Development documents and examples for json-parser Provides: python3-json-parser-doc %description help # json_parser An _efficient_ JSON parser written in Python. ## Installation Install it via pip: ```bash pip install json-parser ``` ## Usage ```python import json_parser data = json_parser.parse('{"value": 42}') print(data['value']) # 42 ``` ## Benchmarks Running it on [this 25MB JSON file][1] gave the following results: ```pycon >>> with open('large-file.json') as f: ... t = time.time() ... x = json.load(f) ... t = time.time() - t ... print(t, 'seconds') ... 0.6405608654022217 seconds >>> with open('large-file.json') as f: ... t = time.time() ... y = json_parser.parse(f.read()) ... t = time.time() - t ... print(t, 'seconds') ... 22.286625385284424 seconds >>> x == y True ``` So, it's about 34x slower than the builtin `json`. Which, is par for the course when it comes to pure python. ## Testing Clone the app and run the following: ```bash pip install -e '.[dev]' pytest ``` [1]: https://raw.githubusercontent.com/json-iterator/test-data/master/large-file.json %prep %autosetup -n json-parser-1.2.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-json-parser -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Apr 11 2023 Python_Bot - 1.2.0-1 - Package Spec generated