Skip to content

Commit a3d2a19

Browse files
Compatibility: expose cloudpickle.CloudPickler also as cloudpickle.Pickler (#392)
* Alias cloudpickle.CloudPickler as cloudpickle.Pickler * Update tests/cloudpickle_test.py Co-authored-by: Pierre Glaser <[email protected]> * changelog * Update CHANGES.md * Update CHANGES.md * Update cloudpickle/__init__.py Co-authored-by: Pierre Glaser <[email protected]>
1 parent 4510be8 commit a3d2a19

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

CHANGES.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
1.5.1 (in development)
22
======================
33

4+
- `cloudpickle`'s pickle.Pickler subclass (currently defined as
5+
`cloudpickle.cloudpickle_fast.CloudPickler`) can and should now be accessed
6+
as `cloudpickle.Pickler`. This is the only officially supported way of
7+
accessing it.
8+
([issue #366](https://github.com/cloudpipe/cloudpickle/issues/366))
9+
410

511
1.5.0
612
=====

cloudpickle/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,8 @@
44
from cloudpickle.cloudpickle import * # noqa
55
from cloudpickle.cloudpickle_fast import CloudPickler, dumps, dump # noqa
66

7+
# Conform to the convention used by python serialization libraries, which
8+
# expose their Pickler subclass at top-level under the "Pickler" name.
9+
Pickler = CloudPickler
10+
711
__version__ = '1.5.1dev0'

tests/cloudpickle_test.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2342,5 +2342,12 @@ class C(typing.Generic[T]):
23422342
return types_to_test
23432343

23442344

2345+
def test_module_level_pickler():
2346+
# #366: cloudpickle should expose its pickle.Pickler subclass as
2347+
# cloudpickle.Pickler
2348+
assert hasattr(cloudpickle, "Pickler")
2349+
assert cloudpickle.Pickler is cloudpickle.CloudPickler
2350+
2351+
23452352
if __name__ == '__main__':
23462353
unittest.main()

0 commit comments

Comments
 (0)