Skip to main content

Fork of Python 2 and 3 pickle module.

Project description

zodbpickle README

https://github.com/zopefoundation/zodbpickle/actions/workflows/tests.yml/badge.svg Coverage status PyPI Python versions

This package presents a uniform pickling interface for ZODB:

  • Under Python2, this package forks both Python 2.7’s pickle and cPickle modules, adding support for the protocol 3 opcodes. It also provides a new subclass of bytes, zodbpickle.binary, which Python2 applications can use to pickle binary values such that they will be unpickled as bytes under Py3k.

  • Under Py3k, this package forks the pickle module (and the supporting C extension) from both Python 3.2 and Python 3.3. The fork add support for the noload operations used by ZODB.

Caution

zodbpickle relies on Python’s pickle module. The pickle module is not intended to be secure against erroneous or maliciously constructed data. Never unpickle data received from an untrusted or unauthenticated source as arbitrary code might be executed.

Also see https://docs.python.org/3.6/library/pickle.html

General Usage

To get compatibility between Python 2 and 3 pickling, replace:

import pickle

by:

from zodbpickle import pickle

This provides compatibility, but has the effect that you get the fast implementation in Python 3, while Python 2 uses the slow version.

To get a more deterministic choice of the implementation, use one of:

from zodbpickle import fastpickle # always C
from zodbpickle import slowpickle # always Python

Both modules can co-exist which is helpful for comparison.

But there is a bit more to consider, so please read on!

Loading/Storing Python 2 Strings

In all their wisdom, the Python developers have decided that Python 2 str instances should be loaded as Python 3 str objects (i.e. unicode strings). Patches were proposed in Python issue 6784 but were never applied. This code base contains those patches.

Example 1: Loading Python 2 pickles on Python 3

$ python2
>>> import pickle
>>> pickle.dumps('\xff', protocol=0)
"S'\\xff'\np0\n."
>>> pickle.dumps('\xff', protocol=1)
'U\x01\xffq\x00.'
>>> pickle.dumps('\xff', protocol=2)
'\x80\x02U\x01\xffq\x00.'

$ python3
>>> from zodbpickle import pickle
>>> pickle.loads(b"S'\\xff'\np0\n.", encoding='bytes')
b'\xff'
>>> pickle.loads(b'U\x01\xffq\x00.', encoding='bytes')
b'\xff'
>>> pickle.loads(b'\x80\x02U\x01\xffq\x00.', encoding='bytes')
b'\xff'

Example 2: Loading Python 3 pickles on Python 2

$ python3
>>> from zodbpickle import pickle
>>> pickle.dumps(b"\xff", protocol=0)
b'c_codecs\nencode\np0\n(V\xff\np1\nVlatin1\np2\ntp3\nRp4\n.'
>>> pickle.dumps(b"\xff", protocol=1)
b'c_codecs\nencode\nq\x00(X\x02\x00\x00\x00\xc3\xbfq\x01X\x06\x00\x00\x00latin1q\x02tq\x03Rq\x04.'
>>> pickle.dumps(b"\xff", protocol=2)
b'\x80\x02c_codecs\nencode\nq\x00X\x02\x00\x00\x00\xc3\xbfq\x01X\x06\x00\x00\x00latin1q\x02\x86q\x03Rq\x04.'

$ python2
>>> import pickle
>>> pickle.loads('c_codecs\nencode\np0\n(V\xff\np1\nVlatin1\np2\ntp3\nRp4\n.')
'\xff'
>>> pickle.loads('c_codecs\nencode\nq\x00(X\x02\x00\x00\x00\xc3\xbfq\x01X\x06\x00\x00\x00latin1q\x02tq\x03Rq\x04.')
'\xff'
>>> pickle.loads('\x80\x02c_codecs\nencode\nq\x00X\x02\x00\x00\x00\xc3\xbfq\x01X\x06\x00\x00\x00latin1q\x02\x86q\x03Rq\x04.')
'\xff'

Example 3: everything breaks down

$ python2
>>> class Foo(object):
...     def __init__(self):
...         self.x = 'hello'
...
>>> import pickle
>>> pickle.dumps(Foo(), protocol=0)
"ccopy_reg\n_reconstructor\np0\n(c__main__\nFoo\np1\nc__builtin__\nobject\np2\nNtp3\nRp4\n(dp5\nS'x'\np6\nS'hello'\np7\nsb."
>>> pickle.dumps(Foo(), protocol=1)
'ccopy_reg\n_reconstructor\nq\x00(c__main__\nFoo\nq\x01c__builtin__\nobject\nq\x02Ntq\x03Rq\x04}q\x05U\x01xq\x06U\x05helloq\x07sb.'
>>> pickle.dumps(Foo(), protocol=2)
'\x80\x02c__main__\nFoo\nq\x00)\x81q\x01}q\x02U\x01xq\x03U\x05helloq\x04sb.'

$ python3
>>> from zodbpickle import pickle
>>> class Foo(object): pass
...
>>> foo = pickle.loads("ccopy_reg\n_reconstructor\np0\n(c__main__\nFoo\np1\nc__builtin__\nobject\np2\nNtp3\nRp4\n(dp5\nS'x'\np6\nS'hello'\np7\nsb.", encoding='bytes')
>>> foo.x
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Foo' object has no attribute 'x'

wait what?

>>> foo.__dict__
{b'x': b'hello'}

oooh. So we use encoding='ASCII' (the default) and errors='bytes' and hope it works:

>>> foo = pickle.loads("ccopy_reg\n_reconstructor\np0\n(c__main__\nFoo\np1\nc__builtin__\nobject\np2\nNtp3\nRp4\n(dp5\nS'x'\np6\nS'hello'\np7\nsb.", errors='bytes')
>>> foo.x
'hello'

falling back to bytes if necessary

>>> pickle.loads(b'\x80\x02U\x01\xffq\x00.', errors='bytes')
b'\xff'

Support for noload()

The ZODB uses cPickle’s noload() method to retrieve all persistent references from a pickle without loading any objects. This feature was removed from Python 3’s pickle. Unfortuantely, this unnecessarily fills the pickle cache.

This module provides a noload() method again.

Changelog

2.6 (2022-11-17)

  • Add support for building arm64 wheels on macOS.

2.5 (2022-11-03)

  • Add support for the final Python 3.11 release.

2.4 (2022-09-15)

  • Add support for Python 3.11 (as of 3.11.0b3).

  • Disable unsafe math optimizations in C code. See pull request 73.

2.3 (2022-04-22)

  • Add support for Python 3.11 (as of 3.11.0a7).

2.2.0 (2021-09-29)

  • Add support for Python 3.10.

2.1.0 (2021-09-24)

  • Add support for Python 3.9.

2.0.0 (2019-11-13)

  • CPython 2: Make zodbpickle.binary objects smaller and untracked by the garbage collector. Now they behave more like the native bytes object. Just like it, and just like on Python 3, they cannot have arbitrary attributes or be weakly referenced. See issue 53.

1.1 (2019-11-09)

  • Add support for Python 3.8.

  • Drop support for Python 3.4.

1.0.4 (2019-06-12)

1.0.3 (2018-12-18)

  • Fix a bug: zodbpickle.slowpickle assigned _Pickler to Unpickler.

1.0.2 (2018-08-10)

  • Add support for Python 3.7.

1.0.1 (2018-05-16)

  • Fix a memory leak in pickle protocol 3 under Python 2. See issue 36.

1.0 (2018-02-09)

  • Add a warning to the readme not to use untrusted pickles.

  • Drop support for Python 3.3.

0.7.0 (2017-09-22)

  • Drop support for Python 2.6 and 3.2.

  • Add support for Jython 2.7.

  • Add support for Python 3.5 and 3.6.

0.6.0 (2015-04-02)

  • Restore the noload behaviour from Python 2.6 and provide the noload method on the non-C-accelerated unpicklers under PyPy and Python 2.

  • Add support for PyPy, PyPy3, and Python 3.4.

0.5.2 (2013-08-17)

0.5.1 (2013-07-06)

  • Update all code and tests to Python 2.6.8, 2.7.5, 3.2.5, 3.3.2 .

  • Add the modules zodbpickle.fastpickle and zodbpickle.slowpickle. This provides a version-independent choice of the C or Python implementation.

  • Fix a minor bug on OS X

0.5.0 (2013-06-14)

  • Removed support for the bytes_as_strings arguments to pickling APIs: the pickles created when that argument was true might not be unpickled without passing encoding='bytes', which ZODB couldn’t reliably enforce. On Py3k, ZODB will be using protocol=3 pickles anyway.

0.4.4 (2013-06-07)

  • Add protocol 3 opcodes to the C version of the noload() dispatcher.

0.4.3 (2013-06-07)

  • Packaging error: remove spurious -ASIDE file from sdist.

0.4.2 (2013-06-07)

  • Fix NameError in pure-Python version of Unpickler.noload_appends.

  • Fix NameError in pure-Python version of Unpickler.noload_setitems.

0.4.1 (2013-04-29)

  • Fix typo in Python2 version of zodbpickle.pickle module.

0.4 (2013-04-28)

  • Support the common pickle module interface for Python 2.6, 2.7, 3.2, and 3.3.

  • Split the Python implementations / tests into Python2- and Py3k-specific variants.

  • Added a fork of the Python 2.7 _pickle.c, for use under Python2. The fork adds support for the Py3k protocol 3 opcodes.

  • Added a custom binary type for use in Python2 apps. Derived from bytes, the binary type allows Python2 apps to pickle binary data using opcodes which will cause it to be unpickled as bytes on Py3k. Under Py3k, the binary type is just an alias for bytes.

0.3 (2013-03-18)

  • Added noload code to Python 3.2 version of Unpickler. As with the Python 3.3 version, this code remains untested.

  • Added bytes_as_strings option to the Python 3.2 version of Pickler, dump, and dumps.

0.2 (2013-03-05)

  • Added bytes_as_strings option to Pickler, dump, and dumps.

  • Incomplete support for Python 3.2:

    • Move _pickle.c -> _pickle_33.c.

    • Clone Python 3.2.3’s _pickle.c -> _pickle_32.c and apply the same patch.

    • Choose between them at build time based on sys.version_info.

    • Disable some tests of 3.3-only features.

    • Missing: implementation of noload() in _pickle_32.c.

    • Missing: implementation of bytes_as_strings=True in _pickle_32.c.

0.1.0 (2013-02-27)

  • Initial release of Python 3.3’s pickle with the patches of Python issue 6784 applied.

  • Added support for errors="bytes".

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zodbpickle-2.6.tar.gz (186.1 kB view details)

Uploaded Source

Built Distributions

zodbpickle-2.6-cp311-cp311-win_amd64.whl (220.9 kB view details)

Uploaded CPython 3.11 Windows x86-64

zodbpickle-2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (378.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

zodbpickle-2.6-cp311-cp311-macosx_11_0_arm64.whl (219.5 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

zodbpickle-2.6-cp311-cp311-macosx_10_9_x86_64.whl (221.9 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

zodbpickle-2.6-cp310-cp310-win_amd64.whl (220.6 kB view details)

Uploaded CPython 3.10 Windows x86-64

zodbpickle-2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (363.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

zodbpickle-2.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (350.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

zodbpickle-2.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (344.6 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686 manylinux: glibc 2.5+ i686

zodbpickle-2.6-cp310-cp310-macosx_11_0_arm64.whl (219.8 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

zodbpickle-2.6-cp310-cp310-macosx_10_9_x86_64.whl (222.5 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

zodbpickle-2.6-cp39-cp39-win_amd64.whl (220.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

zodbpickle-2.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (361.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

zodbpickle-2.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (349.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

zodbpickle-2.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (343.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686 manylinux: glibc 2.5+ i686

zodbpickle-2.6-cp39-cp39-macosx_11_0_arm64.whl (219.7 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

zodbpickle-2.6-cp39-cp39-macosx_10_9_x86_64.whl (222.4 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

zodbpickle-2.6-cp38-cp38-win_amd64.whl (220.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

zodbpickle-2.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (367.0 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

zodbpickle-2.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (356.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

zodbpickle-2.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (350.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686 manylinux: glibc 2.5+ i686

zodbpickle-2.6-cp38-cp38-macosx_11_0_arm64.whl (219.9 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

zodbpickle-2.6-cp38-cp38-macosx_10_9_x86_64.whl (222.8 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

zodbpickle-2.6-cp37-cp37m-win_amd64.whl (220.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

zodbpickle-2.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (353.7 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

zodbpickle-2.6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (341.1 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

zodbpickle-2.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (336.0 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686 manylinux: glibc 2.5+ i686

zodbpickle-2.6-cp37-cp37m-macosx_10_15_x86_64.whl (222.1 kB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

zodbpickle-2.6-cp36-cp36m-win_amd64.whl (221.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

zodbpickle-2.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (352.5 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

zodbpickle-2.6-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (340.2 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

zodbpickle-2.6-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (335.2 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686 manylinux: glibc 2.5+ i686

zodbpickle-2.6-cp36-cp36m-macosx_10_14_x86_64.whl (221.9 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

zodbpickle-2.6-cp35-cp35m-win_amd64.whl (221.7 kB view details)

Uploaded CPython 3.5m Windows x86-64

zodbpickle-2.6-cp27-cp27m-win_amd64.whl (214.5 kB view details)

Uploaded CPython 2.7m Windows x86-64

zodbpickle-2.6-cp27-cp27m-macosx_10_14_x86_64.whl (216.7 kB view details)

Uploaded CPython 2.7m macOS 10.14+ x86-64

File details

Details for the file zodbpickle-2.6.tar.gz.

File metadata

  • Download URL: zodbpickle-2.6.tar.gz
  • Upload date:
  • Size: 186.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for zodbpickle-2.6.tar.gz
Algorithm Hash digest
SHA256 05978fc24ff93f349045aea11fa3ad1efa80eab19cab6251eac7417c6311a1d2
MD5 b7c206f87bd99226b915597d80a41215
BLAKE2b-256 656a999d7fc36acacdefbc51d10852fbbd2ae67d818115f8e906056c25d4ac13

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: zodbpickle-2.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 220.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for zodbpickle-2.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 02cb17253f128384ca748fad36422db26e29d6e06d866794de34c896ebad19c8
MD5 beacb996c440777eb3bb499bda6f4aaf
BLAKE2b-256 a48aac8266c8636d874394891ea3f6d7408f2c3d9dbb76a69827d461737a2f95

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 17626ddbfed5f8520e6197ae930b74acce0979cfc4c1eb1a08c923b7e3bae02e
MD5 9854c7e76a3a3d03977774747a6cd06d
BLAKE2b-256 97bb1faa1c17f4f7ca159788ae6e01d19ef4bad5c22fd6ef293dba11ca192f78

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b11d31e4a9d2bb12d1e3db5bf17f501b083397bdd2ee497baeb41099feaea90
MD5 6c0c484f124a13ba12fcdf8e7fa8a161
BLAKE2b-256 4bab99a8571ff99cf293c17f1c0a28966e5b10b66d440fbf2ee3f02e1838130d

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1a4540342d3ed0f2f56dc5b20cbddf1b8e7c4a2a067afb7bbddc7514f2640ee7
MD5 e9aafaf5c4770c0085cb04c6231a001e
BLAKE2b-256 deeb26e9e8d28db140c00a518605f8337f2b0a79b0b3956e29918b1d2f6c502e

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: zodbpickle-2.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 220.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.0

File hashes

Hashes for zodbpickle-2.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 54ee31a9cba9985acd7a448baba72832b9b345fc01a275acab415f98544f3fb0
MD5 d51316c0c2793598b3e01d4accbb6e7d
BLAKE2b-256 3b65c1628c0c5a22e056076a801e69f19c0ae4661b75f789b06abb451a8046e7

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 69c8a45dbf9a25ec2f00b2b4171ed86eb499a263c8123a3b5913b29a2a2c75aa
MD5 25a067e0445366759f8f287f3da65c4f
BLAKE2b-256 a725f8d1d30fd4bad5b831041c28e72949c521d349f6194f6957f86cce1a999c

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 009ed8b1c2adffac290d4547069e91d4bc3ef7cc5103bf7ae2a405c55d6190ea
MD5 d75e1f381b8f11d01f5170caf8afd303
BLAKE2b-256 08580a095a6095a8c04d336e24b87b3bcbf8bc49212c14824e550c7b35b0b90d

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 bfc422785b2184160b097692d85c1934e54168a2faaa42621dfc2b5e41b878ed
MD5 416adeb9f88fe5c540286ce7fa9622d6
BLAKE2b-256 ee781046de978bcaf4648bec4b77dcc13a0a63d100c36323c2055058a119e601

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d74caa8eb5fec689b0f15a9de4ef1e4d4da5a6d7893e6b68f18d37016301a982
MD5 ca08bb2e02cf6d9f908d1bea4261da81
BLAKE2b-256 485183a38fd196a86de2ffc03831b1fb3fb5fa9c8f4eb4686caee709439c86e9

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 79e99fa54b64df572273b760e7af03e426e0cbe40da9dc836b78d2090d3d9091
MD5 d3bbe97ebb5b36a2b26228a0504fce24
BLAKE2b-256 d20513ee0e192e1ec1019938f6a4bd375c5607d5a1e6e2b4c48f586fdf9b7b2c

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: zodbpickle-2.6-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 220.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.0

File hashes

Hashes for zodbpickle-2.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3f763c943e5116587b6ffd070c2e4cb7a16a4fef29f3eb8dac743895b95bc500
MD5 bf2591c0e1137a515350c5ec0067aaf2
BLAKE2b-256 9df81df3e096cf80cc83f5a1174ebcb5c34525de6146a1a313d426c68e1d1f47

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c27b79c3a34b5d0c404feee8ec7c0367fc94e690834b1f6bf119494700b018f6
MD5 838840e6c78a0e3b94ed34a2c4bb8775
BLAKE2b-256 30dbdf4d68a9350432b837e12a7cbd68ab75b98de2fde55ed93f0c00d1852992

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 cb751a78bc13639ed2b088eecaba6c1056d43b99c59cdb3210eab1a1a6e180c1
MD5 9e99a60814774845a1d404c80e1df298
BLAKE2b-256 79f9881f2d59311204334177c7441d812e5c7e4bd6f20ecf6f39e973dab8258a

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 5898ac17106399adca3a57d1f6a04fe7065c5d11e68a8fae06eb270e24780a10
MD5 e9390b4eee21a9d33591744c864d9215
BLAKE2b-256 f81efb0bce73cdfa7ca3d2a67e18a9ba05918e2cd13283cc650166c876550aad

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0edc7f20beefd2aac1dc74a7e36ee62a854ee28b7b0f6d4ce4c9c93e3a36245
MD5 0587eafe5258e96d5dce55b7414a7ca5
BLAKE2b-256 d81aafe5379094cee055534c0b58f6a4aca6c22a48f04ac6a1e33cab3332eaf9

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ba9935ab6717cf9aec51d9e4972d9a3e828ff14917e164dd07c94acbae29ec6a
MD5 629704e3fabda4c105bb206aaabaa099
BLAKE2b-256 67eead509b498b46f7f8eea5306bd73bbdbffabf4e00482d2d1c304aa010031a

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: zodbpickle-2.6-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 220.8 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.0

File hashes

Hashes for zodbpickle-2.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f3779a2e1a67d82be12d5955b081882bf303f77777abc55519497d78e997cc6d
MD5 16e14cd1632db418445772e0a5de3355
BLAKE2b-256 8b459ce9aa86e07f92c19631f8566c5e3d147ee4cd33ad69afeddbc185b64484

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5cbceb2e0e3de75ea12f678c2a22606003c10d6ab16c94125b7f9c4be6fc2db0
MD5 a12839b9b69c3e9ee0825b233757a6d4
BLAKE2b-256 ea112a60ddf63f34f484b248b3dd6ab568f91a5f279befba4f5d952d79f3293c

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 9ca90e91d2b240ae6ee7d5678acc40900fdddfb4d8453f400212203a5d601fb8
MD5 7bf28c0331b1bf1929a5d77082307209
BLAKE2b-256 fdbe0bba5c02b6c781403acb5d0a86c7abef4489c7f0172ece26096293952854

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 f02de35fe28080f26cfc6da87c9c3e28c854ed34614fb7c7cdc882da32119a9f
MD5 48a0fa5f17d52f342ab4e28342e76d5f
BLAKE2b-256 97eb7afed592dcc16b63fdc7e78fa5a736298c9164cf771d980ca21ff90e387f

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c895678ca30dcbd59d2e5e559bbc40ffca67df29e44dfc51f97ab7036b840dfa
MD5 ecc225c2b79e03551e6b24b62f6de227
BLAKE2b-256 b1bb68340dd76ab17aa1f506646200404fcb05aa053f530e12e8026e7846d6d7

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 efa94e9a13bf7e9809633da9406c132b804c9f35f321377b74c5614bf2c00020
MD5 9d2a53bca67940d64ba83709823cae75
BLAKE2b-256 7c8f3afe5d061e534172e037ea24f45fd72fec089afd286a895bb23b29f7929b

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: zodbpickle-2.6-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 220.4 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.5

File hashes

Hashes for zodbpickle-2.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5f98f75e71de0179637e57372fd01f585ffab9893f8b4d6fa071c0bb51170ce2
MD5 7cf45bcd12ab80d031d45b77a7f86394
BLAKE2b-256 5d29c0c69cbc98bf29de03889509524fae2a4315f5e0b07321166bf9f99d2e51

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 15f9edc0a48808a6c0a00df9a919e64c559053f92436571dfd2c1b989111efc5
MD5 ad4d5776a4b15a9e93d0fa720e2d79ba
BLAKE2b-256 69c9db3a4ed52005372d98680ed9deb7131348ab943f24ea4fc745bdc4312d30

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8dc0c35fbf4c3d0d32a22ba6c7bc08667939c5db17fdb4430c4cd456e0dd53be
MD5 ea2816a51f71d68e73895e273d80e1bd
BLAKE2b-256 50163c0189766a182c1766b1899ac7d10db2478388221f0a9eef0671fb61586b

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 1154439ef9f8808369890657aa331df87278f24e2372798d69ebc3921e4d30c3
MD5 cff58299c06eb1606d04b4aa08269e68
BLAKE2b-256 da9a482db2cf15ae2d3064a7b32bb9de7b775dfaaf7883e5f89b8b3a6c44b377

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 47bad4c1b1bf7c31b0fdf5e1077126bad6d43710a77d86644d5dab6e8e97577d
MD5 c43d8fb5433f364deada85f7aebc6c58
BLAKE2b-256 7fe69d3ee3a603702ce1bca41c695748e09b415a0307c750ddbf6493b9f8e38a

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: zodbpickle-2.6-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 221.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8

File hashes

Hashes for zodbpickle-2.6-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 e0e2c8de1380b16aeba5919641b060cfa7fa42846b4b8e2ff84ccc24e069a200
MD5 707c1adcf6acde3b8143bc65501ed539
BLAKE2b-256 9f5678afbd1476d1f3e2b75c60e63d8c7068269b5353f94c44d6001d00adacd1

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eda6fbd4413f770fff745f6a8400c56043cb2da18406e225266ec6171d052f47
MD5 fdd497209359f97cf232d99714cf4eb8
BLAKE2b-256 7c8db554c7e5c339a7c4ad6d52ba7c757ae67c5a150356822e819aaefecd7949

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ead2f539cf8fac96b46693e0fd5119fac2ce3f46d584550344745297cafa8209
MD5 a541b4a0589f98d44dd6602c23e37641
BLAKE2b-256 50b73f7fe0e434cf4a5f58032f1376c5912b6dea84bb30126554b996bd29cfaf

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for zodbpickle-2.6-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3451417b040052e5b3b341dd369bdac9613ebd2ace9aafb59895d199bf611d98
MD5 8c834fc3c2a0245ead0f7256e288d7c4
BLAKE2b-256 0a6cc5410ab0da75e3c36fff852d8b0c73508accd4d03f210a45bae47d47ac7f

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: zodbpickle-2.6-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 221.9 kB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.15

File hashes

Hashes for zodbpickle-2.6-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d44cfcbbd501a96088207bc9ac77a7339a022bd73ce85bf49b3b38510c270818
MD5 7c8d665b5aedd04c4a60d8225935e672
BLAKE2b-256 12c357da021a18c8aa079857cc3b9ba38758ff4f96881ed145b0dd5ae8b027ce

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: zodbpickle-2.6-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 221.7 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.2 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/3.5.4

File hashes

Hashes for zodbpickle-2.6-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 6825944371f4bb3524c04f89e5585da353bd4f0b280b9e267117bf478a3cf086
MD5 fc2346568a9b3e07f9de5290ce36556a
BLAKE2b-256 b25f22f703be8a87a76da057d330daa31753cc1186e1d2dea06f8ae726a085d2

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp27-cp27m-win_amd64.whl.

File metadata

  • Download URL: zodbpickle-2.6-cp27-cp27m-win_amd64.whl
  • Upload date:
  • Size: 214.5 kB
  • Tags: CPython 2.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/44.1.1 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.17

File hashes

Hashes for zodbpickle-2.6-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 9c7b172e284a38901fdff9d6f44a2f902de74c361296c41b6c5d18f1709a24bb
MD5 f2fd49188581b81860f13771b410eddf
BLAKE2b-256 06f9df961d8b55c1f40731455a18474c0603fe6f08f5c32b5a9e84f284fcce4e

See more details on using hashes here.

File details

Details for the file zodbpickle-2.6-cp27-cp27m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: zodbpickle-2.6-cp27-cp27m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 216.7 kB
  • Tags: CPython 2.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/44.1.1 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for zodbpickle-2.6-cp27-cp27m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 2e15fc076026aa30d91de7eaae6378663d6aa89bb59f4235c20dc3e10594126d
MD5 594e33b830363a4e5f79227bdccb3832
BLAKE2b-256 9bc9feb4963fdab58d21405c47883c9d005c965274763abff18a33d3af50ee80

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page