Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-jsonslicer for openSUSE:Factory checked in at 2022-11-01 13:42:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-jsonslicer (Old) and /work/SRC/openSUSE:Factory/.python-jsonslicer.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jsonslicer" Tue Nov 1 13:42:21 2022 rev:6 rq:1032511 version:0.1.8 Changes: -------- --- /work/SRC/openSUSE:Factory/python-jsonslicer/python-jsonslicer.changes 2022-09-30 17:58:14.737306479 +0200 +++ /work/SRC/openSUSE:Factory/.python-jsonslicer.new.2275/python-jsonslicer.changes 2022-11-01 13:42:32.399887072 +0100 @@ -1,0 +2,8 @@ +Fri Oct 28 17:55:08 UTC 2022 - Yogalakshmi Arunachalam <yarunacha...@suse.com> + +- Update to version 0.1.8 + * Python 3.11 support finalized + * Cosmetic code fixes + * Minor documentation updates + +------------------------------------------------------------------- Old: ---- jsonslicer-0.1.7.tar.gz New: ---- jsonslicer-0.1.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-jsonslicer.spec ++++++ --- /var/tmp/diff_new_pack.B8HGg2/_old 2022-11-01 13:42:33.451892668 +0100 +++ /var/tmp/diff_new_pack.B8HGg2/_new 2022-11-01 13:42:33.455892689 +0100 @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-jsonslicer -Version: 0.1.7 +Version: 0.1.8 Release: 0 Summary: Streaming JSON parser with iterator interface License: MIT ++++++ jsonslicer-0.1.7.tar.gz -> jsonslicer-0.1.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonslicer-0.1.7/.github/workflows/ci.yml new/jsonslicer-0.1.8/.github/workflows/ci.yml --- old/jsonslicer-0.1.7/.github/workflows/ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/jsonslicer-0.1.8/.github/workflows/ci.yml 2022-10-25 18:07:46.000000000 +0200 @@ -0,0 +1,124 @@ +name: CI +on: [ push, pull_request ] +jobs: + build: + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + include: + - { python: '3.8', cxx: g++, features: 'cppcheck,benchmark', yajl: package } + # python versions + - { python: '3.6', cxx: g++, features: '', yajl: package } + - { python: '3.7', cxx: g++, features: '', yajl: package } + - { python: '3.9', cxx: g++, features: '', yajl: package } + - { python: '3.10', cxx: g++, features: '', yajl: package } + - { python: '3.11', cxx: g++, features: '', yajl: package } + #- { python: '3.12-dev', cxx: g++, features: '', yajl: package } + # compilers + - { python: '3.8', cxx: clang++, features: '', yajl: package } + # yajl versions + - { python: '3.8', cxx: g++, features: '', yajl: master } + - { python: '3.8', cxx: g++, features: '', yajl: 2.0.3 } + - { python: '3.8', cxx: g++, features: '', yajl: 2.0.4 } + - { python: '3.8', cxx: g++, features: '', yajl: 2.1.0 } + # extra + - { python: '3.8', cxx: g++, features: asan, yajl: package } + - { python: '3.8', cxx: g++, features: 'tracemalloc,coverage', yajl: package } + steps: + - uses: actions/checkout@v2 + + ###################################################################### + # Depends + - name: Setup python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: Install yajl (package) + if: matrix.yajl == 'package' + run: sudo apt-get install libyajl-dev + - name: Install yajl (git) + if: matrix.yajl != 'package' + run: | + sudo apt-get install cmake + if [ "${{ matrix.yajl }}" = "master" ]; then + wget -qO- https://github.com/lloyd/yajl/archive/refs/heads/${{ matrix.yajl }}.tar.gz | tar -xzf- + else + wget -qO- https://github.com/lloyd/yajl/archive/refs/tags/${{ matrix.yajl }}.tar.gz | tar -xzf- + fi + cd yajl-${{ matrix.yajl }} + cmake . + make + sudo make install + sudo ldconfig + - name: Install dev depends + run: pip install -r requirements-dev.txt + - name: Install depends (cppcheck) + if: ${{ contains(matrix.features, 'cppcheck') }} + run: sudo apt-get install cppcheck + - name: Install depends (benchmark) + if: ${{ contains(matrix.features, 'benchmark') }} + run: | + pip install ijson + pip install tabulate + pip install cffi + + ###################################################################### + # Env + - name: Set up environment + run: | + echo 'CC=${{ matrix.cxx }}' >> $GITHUB_ENV + echo 'CFLAGS=-UNDEBUG -Wall -Wextra -Werror -Wno-error=deprecated-declarations' >> $GITHUB_ENV # warning for python 3.8 only + - name: Set up environment (coverage) + if: ${{ contains(matrix.features, 'coverage') }} + run: | + echo "CFLAGS=$CFLAGS -O0 -g --coverage" >> $GITHUB_ENV + echo "LDFLAGS=$LDFLAGS --coverage" >> $GITHUB_ENV + - name: Set up environment (asan) + if: ${{ contains(matrix.features, 'asan') }} + run: | + echo "CFLAGS=$CFLAGS -O0 -g -fno-omit-frame-pointer -fsanitize=address" >> $GITHUB_ENV + echo "LDFLAGS=$LDFLAGS -fsanitize=address" >> $GITHUB_ENV + + ###################################################################### + # Main + - name: Build + run: python setup.py build + + - name: Install + run: python setup.py install + + - name: Run flake8 + run: make flake8 + + - name: Run tests + if: ${{ !contains(matrix.features, 'asan') }} + run: python setup.py test + + - name: Run tests (asan) + if: ${{ contains(matrix.features, 'asan') }} + run: python setup.py test + continue-on-error: true + env: + LD_PRELOAD: /usr/lib/x86_64-linux-gnu/libasan.so.6 + #LSAN_OPTIONS: suppressions=$(pwd)/.lsan.suppressions + PYTHONPATH: . + + - name: Run benchmark + if: ${{ contains(matrix.features, 'benchmark') }} + run: | + echo "Note that these benchmark results are not reliable, since they are not run in the proper clean environment without interference form other processes, and Travis build may have debug flags turned on as well. See README.md for a benchmark results on real hardware." + python benchmark.py + + - name: Run cppcheck + if: ${{ contains(matrix.features, 'cppcheck') }} + continue-on-error: true + run: cppcheck --std=c++11 --quiet --enable=style,performance,portability,missingInclude src + + ###################################################################### + # Post + - name: Upload coverage + if: ${{ contains(matrix.features, 'coverage') }} + uses: codecov/codecov-action@v1 + with: + fail_ci_if_error: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonslicer-0.1.7/CHANGELOG.md new/jsonslicer-0.1.8/CHANGELOG.md --- old/jsonslicer-0.1.7/CHANGELOG.md 2021-07-07 20:37:30.000000000 +0200 +++ new/jsonslicer-0.1.8/CHANGELOG.md 2022-10-25 18:20:16.000000000 +0200 @@ -1,5 +1,11 @@ # Changelog +## 0.1.8 + +* Python 3.11 support finalized +* Cosmetic code fixes +* Minor documentation updates + ## 0.1.7 * Make YAJL error verbosity tunable diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonslicer-0.1.7/PKG-INFO new/jsonslicer-0.1.8/PKG-INFO --- old/jsonslicer-0.1.7/PKG-INFO 2021-07-07 20:40:18.524608000 +0200 +++ new/jsonslicer-0.1.8/PKG-INFO 2022-10-25 18:21:46.066195000 +0200 @@ -1,25 +1,23 @@ Metadata-Version: 2.1 Name: jsonslicer -Version: 0.1.7 +Version: 0.1.8 Summary: Stream JSON parser with iterator interface Home-page: https://github.com/AMDmi3/jsonslicer Author: Dmitry Marakasov Author-email: amd...@amdmi3.ru License: MIT Keywords: json,parser,pull,stream -Platform: UNKNOWN Classifier: Development Status :: 4 - Beta Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: C++ Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 Description-Content-Type: text/markdown License-File: LICENSE @@ -323,12 +321,11 @@ ## Requirements -- Python 3.4+ -- pkg-config +- Python 3.6+ - [yajl](https://lloyd.github.io/yajl/) 2.0.3+ (older versions lack pkgconfig file) +- pkg-config (build-time) +- C++ compiler (build-time) ## License MIT license, copyright (c) 2019 Dmitry Marakasov amd...@amdmi3.ru. - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonslicer-0.1.7/README.md new/jsonslicer-0.1.8/README.md --- old/jsonslicer-0.1.7/README.md 2021-07-07 20:35:44.000000000 +0200 +++ new/jsonslicer-0.1.8/README.md 2022-10-24 21:28:04.000000000 +0200 @@ -298,9 +298,10 @@ ## Requirements -- Python 3.4+ -- pkg-config +- Python 3.6+ - [yajl](https://lloyd.github.io/yajl/) 2.0.3+ (older versions lack pkgconfig file) +- pkg-config (build-time) +- C++ compiler (build-time) ## License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonslicer-0.1.7/benchmark.py new/jsonslicer-0.1.8/benchmark.py --- old/jsonslicer-0.1.7/benchmark.py 2021-07-07 20:35:44.000000000 +0200 +++ new/jsonslicer-0.1.8/benchmark.py 2022-10-25 18:01:30.000000000 +0200 @@ -68,72 +68,72 @@ with TestCase('json.loads()', 'str', args.json_size, results): for n, item in enumerate(json.loads(jsondata)['level1']['level2']): - assert(item['id'] == n) + assert item['id'] == n with TestCase('json.load(StringIO())', 'str', args.json_size, results): gen = io.StringIO(jsondata) for n, item in enumerate(json.load(gen)['level1']['level2']): - assert(item['id'] == n) + assert item['id'] == n with TestCase('**JsonSlicer (no paths, binary input, binary output)**', 'bytes', args.json_size, results): gen = io.BytesIO(jsondata.encode('utf-8')) parser = JsonSlicer(gen, (b'level1', b'level2', None), binary=True) for n, item in enumerate(parser): - assert(item[b'id'] == n) + assert item[b'id'] == n with TestCase('**JsonSlicer (no paths, unicode input, binary output)**', 'bytes', args.json_size, results): gen = io.StringIO(jsondata) parser = JsonSlicer(gen, (b'level1', b'level2', None), binary=True) for n, item in enumerate(parser): - assert(item[b'id'] == n) + assert item[b'id'] == n with TestCase('**JsonSlicer (no paths, binary input, unicode output)**', 'str', args.json_size, results): gen = io.BytesIO(jsondata.encode('utf-8')) parser = JsonSlicer(gen, ('level1', 'level2', None)) for n, item in enumerate(parser): - assert(item['id'] == n) + assert item['id'] == n with TestCase('**JsonSlicer (no paths, unicode input, unicode output)**', 'str', args.json_size, results): gen = io.StringIO(jsondata) parser = JsonSlicer(gen, ('level1', 'level2', None)) for n, item in enumerate(parser): - assert(item['id'] == n) + assert item['id'] == n with TestCase('**JsonSlicer (full paths, binary output)**', 'bytes', args.json_size, results): gen = io.BytesIO(jsondata.encode('utf-8')) parser = JsonSlicer(gen, (b'level1', b'level2', None), path_mode='full', binary=True) for n, (*path, item) in enumerate(parser): - assert(item[b'id'] == n) + assert item[b'id'] == n with TestCase('**JsonSlicer (full paths, unicode output)**', 'str', args.json_size, results): gen = io.StringIO(jsondata) parser = JsonSlicer(gen, ('level1', 'level2', None), path_mode='full') for n, (*path, item) in enumerate(parser): - assert(item['id'] == n) + assert item['id'] == n with TestCase('ijson.yajl2_c', 'bytes', args.json_size, results): gen = io.BytesIO(jsondata.encode('utf-8')) parser = ijson_yajl2_c.items(gen, b'level1.level2.item') for n, item in enumerate(parser): - assert(item['id'] == n) + assert item['id'] == n with TestCase('ijson.yajl2_cffi', 'bytes', args.json_size, results): gen = io.BytesIO(jsondata.encode('utf-8')) parser = ijson_yajl2_cffi.items(gen, b'level1.level2.item') for n, item in enumerate(parser): - assert(item['id'] == n) + assert item['id'] == n with TestCase('ijson.yajl2', 'bytes', args.json_size, results): gen = io.BytesIO(jsondata.encode('utf-8')) parser = ijson_yajl2.items(gen, 'level1.level2.item') for n, item in enumerate(parser): - assert(item['id'] == n) + assert item['id'] == n with TestCase('ijson.python', 'str', args.json_size, results): gen = io.StringIO(jsondata) parser = ijson_python.items(gen, 'level1.level2.item') for n, item in enumerate(parser): - assert(item['id'] == n) + assert item['id'] == n print(tabulate( results, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonslicer-0.1.7/jsonslicer.egg-info/PKG-INFO new/jsonslicer-0.1.8/jsonslicer.egg-info/PKG-INFO --- old/jsonslicer-0.1.7/jsonslicer.egg-info/PKG-INFO 2021-07-07 20:40:18.000000000 +0200 +++ new/jsonslicer-0.1.8/jsonslicer.egg-info/PKG-INFO 2022-10-25 18:21:45.000000000 +0200 @@ -1,25 +1,23 @@ Metadata-Version: 2.1 Name: jsonslicer -Version: 0.1.7 +Version: 0.1.8 Summary: Stream JSON parser with iterator interface Home-page: https://github.com/AMDmi3/jsonslicer Author: Dmitry Marakasov Author-email: amd...@amdmi3.ru License: MIT Keywords: json,parser,pull,stream -Platform: UNKNOWN Classifier: Development Status :: 4 - Beta Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: C++ Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 Description-Content-Type: text/markdown License-File: LICENSE @@ -323,12 +321,11 @@ ## Requirements -- Python 3.4+ -- pkg-config +- Python 3.6+ - [yajl](https://lloyd.github.io/yajl/) 2.0.3+ (older versions lack pkgconfig file) +- pkg-config (build-time) +- C++ compiler (build-time) ## License MIT license, copyright (c) 2019 Dmitry Marakasov amd...@amdmi3.ru. - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonslicer-0.1.7/jsonslicer.egg-info/SOURCES.txt new/jsonslicer-0.1.8/jsonslicer.egg-info/SOURCES.txt --- old/jsonslicer-0.1.7/jsonslicer.egg-info/SOURCES.txt 2021-07-07 20:40:18.000000000 +0200 +++ new/jsonslicer-0.1.8/jsonslicer.egg-info/SOURCES.txt 2022-10-25 18:21:45.000000000 +0200 @@ -5,8 +5,10 @@ Makefile README.md benchmark.py +requirements-dev.txt setup.cfg setup.py +.github/workflows/ci.yml jsonslicer/__init__.pyi jsonslicer/py.typed jsonslicer.egg-info/PKG-INFO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonslicer-0.1.7/requirements-dev.txt new/jsonslicer-0.1.8/requirements-dev.txt --- old/jsonslicer-0.1.7/requirements-dev.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/jsonslicer-0.1.8/requirements-dev.txt 2021-07-07 20:35:44.000000000 +0200 @@ -0,0 +1,4 @@ +flake8 +flake8-builtins +flake8-import-order +flake8-quotes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonslicer-0.1.7/setup.py new/jsonslicer-0.1.8/setup.py --- old/jsonslicer-0.1.7/setup.py 2021-07-07 20:36:59.000000000 +0200 +++ new/jsonslicer-0.1.8/setup.py 2022-10-25 18:17:51.000000000 +0200 @@ -9,7 +9,7 @@ here = path.abspath(path.dirname(__file__)) -version = '0.1.7' +version = '0.1.8' def pkgconfig(package): @@ -65,13 +65,12 @@ 'License :: OSI Approved :: MIT License', 'Programming Language :: C++', 'Programming Language :: Python :: 3 :: Only', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', ], ext_modules=[ Extension(