1
0
forked from pool/python-orjson

- Update to 3.10.7

* Improve performance of stable Rust amd64 builds.
- from version 3.10.6
  * Improve performance.
- from version 3.10.5
  * Improve performance.
- from version 3.10.4
  * Improve performance.
- from version 3.10.3
  * `manylinux` amd64 builds include runtime-detected AVX-512 `str`
    implementation.
  * Tests now compatible with numpy v2.
- from version 3.10.2
  * Fix crash serializing `str` introduced in 3.10.1.
  * Improve performance.
  * Drop support for arm7.
- from version 3.10.1
  * Serializing `numpy.ndarray` with non-native endianness raises
    `orjson.JSONEncodeError`.
  * Improve performance of serializing.
- from version 3.10.0
  * Support serializing `numpy.float16` (`numpy.half`).
  * sdist uses metadata 2.3 instead of 2.1.
  * Improve Windows PyPI builds.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-orjson?expand=0&rev=19
This commit is contained in:
Markéta Machová 2024-09-09 10:52:17 +00:00 committed by Git OBS Bridge
commit 47844c6657
11 changed files with 287 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

8
_service Normal file
View File

@ -0,0 +1,8 @@
<services>
<service name="cargo_vendor" mode="manual">
<param name="srctar">orjson-*-devendored.tar.xz</param>
<param name="compression">xz</param>
<param name="update">true</param>
</service>
<service name="cargo_audit" mode="manual"></service>
</services>

11
devendor-sdist.sh Normal file
View File

@ -0,0 +1,11 @@
#!/bin/sh
file=$(find . -maxdepth 1 -name 'orjson-*.tar.gz' -print | sort -rn | tail -1)
echo "Removing the cargo vendoring from upstream ${file}"
dir=${file%.tar.gz}
tar -x -z -f $file
rm ${dir}/Cargo.lock
rm -r ${dir}/include/cargo
rm -r ${dir}/.cargo
outfile=${dir}-devendored.tar.xz
echo "Repackaging to ${outfile}"
tar -c -J -f ${outfile} ${dir}

BIN
orjson-3.10.7-devendored.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
orjson-3.10.7.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
orjson-3.9.15-devendored.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
orjson-3.9.15.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

145
python-orjson.changes Normal file
View File

@ -0,0 +1,145 @@
-------------------------------------------------------------------
Mon Sep 9 10:29:05 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 3.10.7
* Improve performance of stable Rust amd64 builds.
- from version 3.10.6
* Improve performance.
- from version 3.10.5
* Improve performance.
- from version 3.10.4
* Improve performance.
- from version 3.10.3
* `manylinux` amd64 builds include runtime-detected AVX-512 `str`
implementation.
* Tests now compatible with numpy v2.
- from version 3.10.2
* Fix crash serializing `str` introduced in 3.10.1.
* Improve performance.
* Drop support for arm7.
- from version 3.10.1
* Serializing `numpy.ndarray` with non-native endianness raises
`orjson.JSONEncodeError`.
* Improve performance of serializing.
- from version 3.10.0
* Support serializing `numpy.float16` (`numpy.half`).
* sdist uses metadata 2.3 instead of 2.1.
* Improve Windows PyPI builds.
-------------------------------------------------------------------
Thu Feb 29 06:46:24 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Update to 3.9.15 (bsc#1220489, CVE-2024-27454):
* Implement recursion limit of 1024 on orjson.loads().
* Use byte-exact read on str formatting SIMD path to avoid crash.
- 3.9.14:
* Fix crash serializing str introduced in 3.9.11.
* Build now depends on Rust 1.72 or later.
- 3.9.13:
* Serialization str escape uses only 128-bit SIMD.
* Fix compatibility with CPython 3.13 alpha 3.
* Publish musllinux_1_2 instead of musllinux_1_1 wheels.
* Serialization uses small integer optimization in CPython 3.12 or later.
- 3.9.12:
* Minimal musllinux_1_1 build due to sporadic CI failure.
- 3.9.11:
* Improve performance of serializing. str is significantly faster. Documents
using dict, list, and tuple are somewhat faster.
-------------------------------------------------------------------
Sun Jan 14 14:46:13 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 3.9.10
* Fix debug assert failure on 3.12 --profile=dev build.
- Release 3.9.9
* orjson module metadata explicitly marks subinterpreters as not
supported.
- Release 3.9.8
* Improve performance.
* Drop support for Python 3.7.
- Release 3.9.7
* Fix crash in orjson.loads() due to non-reentrant handling of
persistent buffer. This was introduced in 3.9.3.
* Handle some FFI removals in CPython 3.13.
- Release 3.9.6
* Fix numpy reference leak on unsupported array dtype.
* Fix numpy.datetime64 reference handling.
* Minor performance improvements.
- Release 3.9.5
* Remove futex from module import and initialization path.
- Release 3.9.4
* Fix hash builder using default values.
* Fix non-release builds of orjson copying large deserialization
buffer from stack to heap. This was introduced in 3.9.3.
- Release 3.9.3
* Fix compatibility with CPython 3.12.
* Support i686/x86 32-bit Python installs on Windows.
- Release 3.9.2
* Fix the __cause__ exception on orjson.JSONEncodeError possibly
being denormalized, i.e., of type str instead of Exception.
- Release 3.9.1
* Fix memory leak on chained tracebacks of exceptions raised in
default. This was introduced in 3.8.12.
- Release 3.9.0
* orjson.Fragment includes already-serialized JSON in a document.
- Release 3.8.13
* Source distribution contains all source code required for an
offline build.
* Build uses maturin v1.
- Release 3.8.12
* Exceptions raised in default are now chained as the __cause__
attribute on orjson.JSONEncodeError.
- Release 3.8.11
* orjson.loads() on an empty document has a specific error
message.
- Avoid cargo_audit error because of shipped old vulnerable
zerocopy: Devendor the shipped cargo and update the cargo_vendor
service
-------------------------------------------------------------------
Sat Jun 10 17:38:51 UTC 2023 - ecsos <ecsos@opensuse.org>
- Add %{?sle15_python_module_pythons}
-------------------------------------------------------------------
Thu Apr 13 19:01:31 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Update to 3.8.10:
- Fix compatibility with CPython 3.12.0a7.
- Fix compatibility with big-endian architectures.
- Fix crash in serialization.
- Fix parallel initialization of orjson.
-------------------------------------------------------------------
Mon Jan 2 20:07:26 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 3.8.3:
* `orjson.dumps()` accepts `option=None` per `Optional[int]` type.
* Fix tests on 32-bit for `numpy.intp` and `numpy.uintp`.
* Build now depends on rustc 1.60 or later.
* Support building with maturin 0.13 or 0.14.
-------------------------------------------------------------------
Fri Oct 28 18:35:24 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to 3.8.1
- Build maintenance for Python 3.11.
-------------------------------------------------------------------
Wed Sep 21 12:11:03 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Update to 3.8.0:
- Support serializing numpy.int16 and numpy.uint16.
- Fix datetime regression tests with tzinfo 2022b.
-------------------------------------------------------------------
Wed Sep 21 00:35:02 UTC 2022 - John Vandenberg <jayvdb@gmail.com>
- Activate test suite
- Tidy spec
-------------------------------------------------------------------
Wed Jul 13 07:52:11 UTC 2022 - Adrian Schröter <adrian@suse.de>
- initial package of version 3.7.7

84
python-orjson.spec Normal file
View File

@ -0,0 +1,84 @@
#
# spec file for package python-orjson
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?sle15_python_module_pythons}
Name: python-orjson
Version: 3.10.7
Release: 0
Summary: Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy
License: Apache-2.0 OR MIT
URL: https://github.com/ijl/orjson
# Update: Run `osc service runall download_files && sh ./devendor-sdist.sh && osc service runall cargo_vendor`
Source0: orjson-%{version}-devendored.tar.xz
Source1: vendor.tar.xz
Source2: https://files.pythonhosted.org/packages/source/o/orjson/orjson-%{version}.tar.gz
Source3: devendor-sdist.sh
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module maturin >= 1}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: cargo-packaging
BuildRequires: fdupes
BuildRequires: python-rpm-macros
# SECTION test requirements
BuildRequires: %{python_module numpy}
BuildRequires: %{python_module pendulum}
BuildRequires: %{python_module psutil}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module python-dateutil}
BuildRequires: %{python_module pytz}
BuildRequires: %{python_module xxhash}
BuildRequires: timezone
# /SECTION
%python_subpackages
%description
orjson is a fast JSON library for Python.
It benchmarks as the fastest Python library for JSON.
%prep
%autosetup -a1 -n orjson-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%check
donttest="bydefaultnothingfails"
%ifarch %ix86 %arm32
# test_numpy_array_d1_uintp and test_numpy_array_d1_intp fail on 32bit
donttest="$donttest or test_numpy_array_d1_intp or test_numpy_array_d1_uintp"
%endif
%ifarch ppc64le
# test_memory_loads_keys occasionally fails on crashes on ppc64le
donttest="$donttest or test_memory_loads_keys"
%endif
%pytest_arch -k "not ($donttest)"
%files %{python_files}
%doc README.md CHANGELOG.md
%license LICENSE-APACHE LICENSE-MIT
%{python_sitearch}/orjson
%{python_sitearch}/orjson-%{version}.dist-info
%changelog

BIN
vendor.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.