Sync from SUSE:SLFO:Main python-cloudpickle revision 9ecab2ebfdcc8c9e41a7d31a2f253ae0

This commit is contained in:
Adrian Schröter 2024-05-03 20:20:31 +02:00
commit 293365d2cf
4 changed files with 369 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

BIN
cloudpickle-2.2.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

265
python-cloudpickle.changes Normal file
View File

@ -0,0 +1,265 @@
-------------------------------------------------------------------
Mon May 8 18:15:45 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 2.2.1:
* Back to dev mode
* Move builtin classmethod_descriptor to a different test
* Fix Python 3.9+ NamedTuple issues
- drop Move-builtin-classmethod_descriptor-to-a-different-t.patch (upstream)
-------------------------------------------------------------------
Thu Feb 16 23:10:38 UTC 2023 - Dirk Müller <dmueller@suse.com>
- restore testing against scipy/numpy on tumbleweed, all
versions exist there again
-------------------------------------------------------------------
Mon Dec 5 12:19:25 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
- Add python-py as test dependency
-------------------------------------------------------------------
Fri Oct 28 12:04:27 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
- Add Move-builtin-classmethod_descriptor-to-a-different-t.patch to fix the
tests with python 3.10.8 gh#cloudpipe/cloudpickle#486
-------------------------------------------------------------------
Sat Oct 1 11:24:59 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 2.2.0:
* Improve compatibility with "nogil" Python and 3.11
* Fix compatibility with Python 3.11
* Add Python 3.10 to tox config
* Fix #440: Incorrect pickles for subclasses of generic classes
* Extend test_abc to include abstract properties
* Add support for abc.abstract* methods
* Add test for multiprocessing.Lock error
-------------------------------------------------------------------
Mon Sep 26 21:21:21 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to 2.1.0
* Support for pickling abc.abstractproperty, abc.abstractclassmethod, and abc.abstractstaticmethod. (PR #450)
* Support for pickling subclasses of generic classes. (PR #448)
* Support and CI configuration for Python 3.11. (PR #467)
* Support for the experimental nogil variant of CPython (PR #470)
- Update to 2.0.0
* Python 3.5 is no longer supported.
* Support for registering modules to be serialised by value. This allows code defined in local modules to be serialised
and executed remotely without those local modules installed on the remote machine. (PR #417)
* Fix a side effect altering dynamic modules at pickling time. (PR #426)
* Support for pickling type annotations on Python 3.10 as per PEP 563 (PR #400)
* Stricter parametrized type detection heuristics in _is_parametrized_type_hint to limit false positives. (PR #409)
* Support pickling / depickling of OrderedDict KeysView, ValuesView, and ItemsView, following similar strategy for vanilla Python dictionaries. (PR #423)
* Suppressed a source of non-determinism when pickling dynamically defined functions and handles the deprecation of co_lnotab in Python 3.10+. (PR #428)
-------------------------------------------------------------------
Fri Jan 22 16:19:43 UTC 2021 - Benjamin Greiner <code@bnavigator.de>
- Update BuildRequirements for tests: scipy and numpy are only
available for python >= 3.7 soon.
- Apply upstream's deprecation of Python 2: Already failing due to
syntax errors.
-------------------------------------------------------------------
Wed Dec 9 14:43:55 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- Don't pip install testpkg into user sitelib
* it masks problems with reused local builds
* was only single flavor
-------------------------------------------------------------------
Wed Dec 2 15:00:54 UTC 2020 - Markéta Machová <mmachova@suse.com>
- Update to 1.6.0
* Fix a bug causing cloudpickle to crash when pickling dynamically created, importable modules. (issue #360)
* cloudpickle's pickle.Pickler subclass (currently defined as cloudpickle.cloudpickle_fast.CloudPickler) can
and should now be accessed as cloudpickle.Pickler. This is the only officially supported way of accessing it. (issue #366)
* cloudpickle now supports pickling dict_keys, dict_items and dict_values. (PR #384)
-------------------------------------------------------------------
Fri Jun 26 04:16:58 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 1.4.1:
* Fix incompatibilities between cloudpickle 1.4.0 and Python 3.5.0/1/2 introduced by the new support of cloudpickle for pickling typing constructs. (issue #360)
* Restore compat with loading dynamic classes pickled with cloudpickle version 1.2.1 that would reference the types.ClassType attribute. (PR #359)
* This version requires Python 3.5 or later
* cloudpickle can now all pickle all constructs from the typing module and the typing_extensions library in Python 3.5+ (PR #318)
* Stop pickling the annotations of a dynamic class for Python < 3.6 (follow up on #276) (issue #347)
* Fix a bug affecting the pickling of dynamic TypeVar instances on Python 3.7+, and expand the support for pickling TypeVar instances (dynamic or non-dynamic) to Python 3.5-3.6 (PR #350)
* Add support for pickling dynamic classes subclassing typing.Generic instances on Python 3.7+ (PR #351)
-------------------------------------------------------------------
Tue Mar 31 14:59:31 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
- Update to version 1.3.0
* mostly bugfix release
* Add support for out-of-band pickling (Python 3.8 and later).
-------------------------------------------------------------------
Mon Mar 16 10:25:19 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Fix build without python2
-------------------------------------------------------------------
Thu Dec 19 11:53:07 CET 2019 - Matej Cepl <mcepl@suse.com>
- Exclude failing tests gh#cloudpipe/cloudpickle#316
-------------------------------------------------------------------
Thu Sep 26 10:40:19 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.2.2:
* Revert the change introduced in (issue #276) attempting to pickle functions annotations for Python 3.4 to 3.6. It is not possible to pickle complex typing constructs for those versions (see issue #193)
* Fix a bug affecting bound classmethod saving on Python 2. (issue #288)
* Add support for pickling "getset" descriptors (issue #290)
-------------------------------------------------------------------
Fri Jul 26 07:52:16 UTC 2019 - pgajdos@suse.com
- version update to 1.2.1
* Restore (partial) support for Python 3.4 for downstream projects that have LTS versions that would benefit from cloudpickle bug fixes.
* Leverage the C-accelerated Pickler new subclassing API (available in Python 3.8) in cloudpickle. This allows cloudpickle to pickle Python objects up to 30 times faster. (issue #253)
* Support pickling of classmethod and staticmethod objects in python2. arguments. (issue #262)
* Add support to pickle type annotations for Python 3.5 and 3.6 (pickling type annotations was already supported for Python 3.7, Python 3.4 might also work but is no longer officially supported by cloudpickle) (issue #276)
* Internal refactoring to proactively detect dynamic functions and classes when pickling them. This refactoring also yields small performance improvements when pickling dynamic classes (~10%) (issue #273)
-------------------------------------------------------------------
Tue May 21 11:38:21 UTC 2019 - Marketa Calabkova <mcalabkova@suse.com>
- Update to 1.1.1
* Support the pickling of interactively-defined functions with
positional-only arguments.
* Track the provenance of dynamic classes and enums.
* Fix a bug making functions with keyword-only arguments forget
the default values of these arguments after being pickled.
-------------------------------------------------------------------
Thu Mar 28 14:20:54 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 0.8.1:
* Fix a bug (already present before 0.5.3 and re-introduced in 0.8.0) affecting relative import instructions inside depickled functions (issue #254)
-------------------------------------------------------------------
Thu Mar 7 13:00:07 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 0.8.0:
* Add support for pickling interactively defined dataclasses. (issue #245)
* Global variables referenced by functions pickled by cloudpickle are now unpickled in a new and isolated namespace scoped by the CloudPickler instance. This restores the (previously untested) behavior of cloudpickle prior to changes done in 0.5.4 for functions defined in the __main__ module, and 0.6.0/1 for other dynamic functions.
-------------------------------------------------------------------
Tue Feb 5 15:42:55 UTC 2019 - alarrosa@suse.com
- Update to version 0.7.0:
* Correctly serialize dynamically defined classes that have a __slots__
attribute. (issue #225)
- Update to version 0.6.1
* Fix regression in 0.6.0 which breaks the pickling of local function
defined in a module, making it impossible to access builtins. (issue #211)
- Update to version 0.6.0
* Ensure that unpickling a function defined in a dynamic module several
times sequentially does not reset the values of global variables.
(issue #187)
* Restrict the ability to pickle annotations to python3.7+ (issue #193
and issue #196)
* Stop using the deprecated imp module under Python 3. (issue #207)
* Fixed pickling issue with singleton types NoneType, type(...) and
type(NotImplemented) (issue #209)
- Update to version 0.5.6
* Ensure that unpickling a locally defined function that accesses the global
variables of a module does not reset the values of the global variables if
they are already initialized. (issue #187)
- Update to version 0.5.5
* Fixed inconsistent version in cloudpickle.__version__.
- Update to version 0.5.4
* Fixed a pickling issue for ABC in python3.7+ (issue #180).
* Fixed a bug when pickling functions in __main__ that access global
variables (issue #187).
-------------------------------------------------------------------
Wed Jul 18 11:48:40 UTC 2018 - tchvatal@suse.com
- Fix runtime dependencies and raise numpy requirement
-------------------------------------------------------------------
Sat Jul 14 19:14:34 UTC 2018 - arun@gmx.de
- update to version 0.5.3:
* Fixed a crash in Python 2 when serializing non-hashable
instancemethods of built-in types (issue #144).
* itertools objects can also pickled (PR #156).
* logging.RootLogger can be also pickled (PR #160).
-------------------------------------------------------------------
Sun Mar 11 08:53:30 UTC 2018 - sebix+novell.com@sebix.at
- Use %license macro for license.
-------------------------------------------------------------------
Wed Nov 22 19:42:07 UTC 2017 - arun@gmx.de
- update to version 0.5.2:
* Fixed a regression: AttributeError when loading pickles that hold
a reference to a dynamically defined class from the __main__
module. (issue #131).
* Make it possible to pickle classes and functions defined in faulty
modules that raise an exception when trying to look-up their
attributes by name.
-------------------------------------------------------------------
Fri Nov 10 15:55:55 UTC 2017 - toddrme2178@gmail.com
- Update to 0.5.1
* Fixed `cloudpickle.__version__`.
- Update to 0.5.0
* Use `pickle.HIGHEST_PROTOCOL` by default.
- Update to 0.4.2
* Restored compatibility with pickles from 0.4.0.
* Handle the `func.__qualname__` attribute.
- Update to 0.4.1
* Fixed a crash when pickling dynamic classes whose `__dict__` attribute was
defined as a [`property`](https://docs.python.org/3/library/functions.html#property).
Most notably, this affected dynamic [namedtuples](https://docs.python.org/2/library/collections.html#namedtuple-factory-function-for-tuples-with-named-fields)
in Python 2. (https://github.com/cloudpipe/cloudpickle/pull/113)
* Cloudpickle now preserves the `__module__` attribute of functions (https://github.com/cloudpipe/cloudpickle/pull/118/).
* Fixed a crash when pickling modules that don't have a `__package__` attribute (https://github.com/cloudpipe/cloudpickle/pull/116).
- Update to 0.4.0
* Fix functions with empty cells
* Allow pickling Logger objects
* Fix crash when pickling dynamic class cycles
* Ignore "None" mdoules added to sys.modules
* Support WeakSets and ABCMeta instances
* Remove non-standard `__transient__` support
* Catch exception from `pickle.whichmodule()`
- Update to 0.3.1
* Fix version information and ship a changelog
- Update to 0.3.0
* Import submodules accessed by pickled functions
* Support recursive functions inside closures
* Fix `ResourceWarnings` and `DeprecationWarnings`
* Assume modules with `__file__` attribute are not dynamic
-------------------------------------------------------------------
Thu May 11 03:26:35 UTC 2017 - toddrme2178@gmail.com
- Implement singlespec version
- Fix source URL.
- Update to version 0.2.2
* Support Python 3.6
* Support Tornado Coroutines
* Support builtin methods
- Update to version 0.2.1
* Packaging fix
- Update to version 0.2.0
* Support `method_descriptor`
* Support unbound instancemethods
* Fixes for PyPy3
* More support for pickling dynamic imports
-------------------------------------------------------------------
Fri Jan 15 14:14:30 UTC 2016 - toddrme2178@gmail.com
- Initial version

78
python-cloudpickle.spec Normal file
View File

@ -0,0 +1,78 @@
#
# spec file for package python-cloudpickle
#
# Copyright (c) 2023 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/
#
%define skip_python2 1
Name: python-cloudpickle
Version: 2.2.1
Release: 0
Summary: Extended pickling support for Python objects
License: BSD-3-Clause
URL: https://github.com/cloudpipe/cloudpickle
Source: https://files.pythonhosted.org/packages/source/c/cloudpickle/cloudpickle-%{version}.tar.gz
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
# SECTION test requirements. None of these are hard dependencies
BuildRequires: %{python_module curses}
BuildRequires: %{python_module psutil}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module py}
BuildRequires: %{python_module tornado}
%if 0%{?suse_version} >= 1550
BuildRequires: %{python_module numpy >= 1.18.5}
BuildRequires: %{python_module scipy}
%endif
# /SECTION
%python_subpackages
%description
The cloudpickle package makes it possible to serialize Python constructs
not supported by the default pickle module from the Python standard
library.
cloudpickle is especially useful for cluster computing where Python
expressions are shipped over the network to execute on remote hosts,
possibly close to the data.
Among other things, cloudpickle supports pickling for lambda expressions,
functions and classes defined interactively in the __main__ module.
%prep
%autosetup -p1 -n cloudpickle-%{version}
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# make local source and testpkg importable
export PYTHONPATH=':./tests/cloudpickle_testpkg'
# -s: tests need direct print
%pytest -s
%files %{python_files}
%doc README.md
%license LICENSE
%{python_sitelib}/cloudpickle
%{python_sitelib}/cloudpickle-%{version}*-info
%changelog