Skip to main content

Fork of Python 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

3.3 (2024-04-16)

  • Build Windows wheels on GHA.

  • Add preliminary support for Python 3.13 as of 3.13a5.

3.2 (2024-02-16)

  • Add preliminary support for Python 3.13 as of 3.13a3.

3.1 (2023-10-05)

  • Add support for Python 3.12.

3.0.1 (2023-03-28)

  • Fix NameError in .fastpickle and .slowpickle.

3.0 (2023-03-24)

  • Build Linux binary wheels for Python 3.11.

  • Add preliminary support for Python 3.12a5.

  • Drop support for Python 2.7, 3.5, 3.6.

  • Drop support for deprecated python setup.py test.

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-3.3.tar.gz (110.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zodbpickle-3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (304.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

zodbpickle-3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (305.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

zodbpickle-3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (302.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

zodbpickle-3.3-cp312-cp312-macosx_11_0_arm64.whl (140.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

zodbpickle-3.3-cp312-cp312-macosx_10_9_x86_64.whl (143.2 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

zodbpickle-3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (299.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

zodbpickle-3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (299.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

zodbpickle-3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (296.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

zodbpickle-3.3-cp311-cp311-macosx_11_0_arm64.whl (140.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

zodbpickle-3.3-cp311-cp311-macosx_10_9_x86_64.whl (143.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

zodbpickle-3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (284.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

zodbpickle-3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (284.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

zodbpickle-3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (280.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

zodbpickle-3.3-cp310-cp310-macosx_11_0_arm64.whl (140.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

zodbpickle-3.3-cp310-cp310-macosx_10_9_x86_64.whl (144.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

zodbpickle-3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (282.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

zodbpickle-3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (282.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

zodbpickle-3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (279.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

zodbpickle-3.3-cp39-cp39-macosx_11_0_arm64.whl (140.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

zodbpickle-3.3-cp39-cp39-macosx_10_9_x86_64.whl (144.0 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

zodbpickle-3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (288.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

zodbpickle-3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (288.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

zodbpickle-3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (285.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

zodbpickle-3.3-cp38-cp38-macosx_11_0_arm64.whl (140.9 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

zodbpickle-3.3-cp38-cp38-macosx_10_9_x86_64.whl (144.3 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

zodbpickle-3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (274.2 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

zodbpickle-3.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (275.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

zodbpickle-3.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (270.2 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

zodbpickle-3.3-cp37-cp37m-macosx_11_0_x86_64.whl (144.0 kB view details)

Uploaded CPython 3.7mmacOS 11.0+ x86-64

File details

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

File metadata

  • Download URL: zodbpickle-3.3.tar.gz
  • Upload date:
  • Size: 110.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.9

File hashes

Hashes for zodbpickle-3.3.tar.gz
Algorithm Hash digest
SHA256 75c1792ac7bd5bcf4950582062ac3684e322aa13ab98420e3bfec4582273a368
MD5 a87a51e30133fa219a9346dba24f41c4
BLAKE2b-256 bf8c6d12fa39f042e6076bb6d6745852f952997c40b452a35a5d4f3dd99f8966

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5519d22b7c1c989d3fbafb36a6c49ad7df859d3a5609ffa95fbc4717965675b1
MD5 b944c99a1ed3c628efe94360c0c2205e
BLAKE2b-256 d7e260acd997a7bffab184028c2d97da75f926c834c9b0426801496ed649ca30

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2da394bc66cdc77edb60c0aaaa617918b966716b2fad2796aa773a9661645c19
MD5 70639441bf309af82e2cdafd33d3d079
BLAKE2b-256 42b58c27c5a294352e2446991f09a91ecdf4da572d07b5511a0954958ab443a0

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 15562af6b6cca889777d0e88434dfb9e5f9aa1d16928aea522a6eeefd43f8433
MD5 ff8eaf938ec0f5f8b886d8f4a819ad4d
BLAKE2b-256 701a2548f43f6ada13ed6e4aa999c0418b7f7cc762cec550baaee3ba47da182a

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e96e1e6b8d2c191f51dcef277e439a4b5b302810be65f22b585d24ada63d094f
MD5 e5c34f71e930110fdae3bbfa9d5a7b43
BLAKE2b-256 fa40c97fe3f2cb653376b20503b5dc15697123de43a67641784082ed26bfd730

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ece909891069573c6bcd2d5ebedba429ae5ad2260fb75778650d68810cc7bde1
MD5 6b8810aa5f71c6e64f2a8ac86eb0d9ea
BLAKE2b-256 bd784c15b4267b879cb1544c5350cc5b00d910f685238c4220de079f647e518c

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 74ffd91853f7ba194fe8818c5669a1d9de33d90fdbad82fcb6dbc6a6a28019a2
MD5 30949e072b471643f5dbdb65f86076f7
BLAKE2b-256 81776f12d8febc73735b745f48d5992aaef2301e2d5b49214ab474567ed71121

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 74754c79d89dcac9191b7a8209cc5e930cdb6f9603e1a0c3de743c8649578cbf
MD5 872a12559388ca9624e736632d8dab70
BLAKE2b-256 159c40a7f899987c2e69e159eb4dc4ce87077f942372900f41a0bb4e44230006

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 12b456116821802096852fcbcc109150d1aaca389f62e614002c315381622c05
MD5 746e0908d34124e3e37b7febbcf5cc79
BLAKE2b-256 79e81ef66b5ad4689239faffa8283cf8154be06793a2e685a309cb63545bd426

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fc1a5cf5db28de2239766d9b97196171580297411c1ca3136d700c3dc1c2cb84
MD5 ba1c8b85c22240e79c6b5b196ac1b249
BLAKE2b-256 9c1e4713a74d45ce4269b70ef44413508a0c4fa5b34ec7c64050440363e18e7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fadf5b7d8265c395eed40500b6b6b242cd277f1ec88060fdec91d299ad0ed6ab
MD5 08eabfd27ed64f3bd77540bdf3a712a9
BLAKE2b-256 5f0ea5e145ce99e2f793f195e975095c7de68ed3825161e612a4526131a94125

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84c3ca2bdf2e75a7a282f5892409c24180e60541258d8ab7c23facc6d7e798c8
MD5 8129d57e06bafa07e2f66496dc3e1b00
BLAKE2b-256 3bdcef1047e34c7e6f680e002e04c16f08de3edd12ae641425f3e61795440127

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eb2869416c86a6550d83488824829f87f6c28dc6ec64fe94444036a8fd65207b
MD5 9262f0d846a0be92fd6bbe0ad70b36a2
BLAKE2b-256 c7062e79265a572a7264fc8cc24c7782b64e7b4fd9f1852a4d9d1cfd4341e114

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e3580d0f8d3da10bc19d7f74a36b0a7fcec8d58f33d8a09d5316c1a53383953d
MD5 c5b6670a9ef71c1b0a9b7ec0ce9773cc
BLAKE2b-256 0098bbc7b4455d34dd0441b9bcc5180e78294b9f6e549366bb96cc407ec042eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b5a49b210e69053e50a319867cbea2467a77be99add50b9f4cf581f14585156
MD5 46dd42f4b9cad0f4385e32c31bd8c774
BLAKE2b-256 ce6f0e8c4a6f45029184dff93810281eb790bd617124317ac423d78e433c3874

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1647fd54c5a8ffdb360501faef635b0234ffdbc3047b4d44be1f4f07102cd145
MD5 24a4d97f792bdb3527c7c0673bad67dd
BLAKE2b-256 b95670ec752326f59177b722fdf3a381428ee934c33d4b1776c70c9c5dcf26e6

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19392328730d98819b5ee641b403f3510a2f5d8e26a8bdb07e118115a2e4c94c
MD5 ccd01aecb831349e1c4c42e31bd4896a
BLAKE2b-256 b3fc48331c4a7dbda9fa9110d0df6eb86c8abe63bdc6d2d02df825d929d94f54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b4aee680f55671181d033d6bd83b809bb38c69852086aab624d745244524de3e
MD5 42e7b955601319eada791bae03d45a0c
BLAKE2b-256 ddd1f52bd4dbc986cf86c3084ed0a6608cb5f363015fccb077fe41b770d329f9

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9a51dd9d0cb4f43defe4fb7eedee95eee70ef0ec14951b36b91386576c5bdc9e
MD5 5a985b93a0d590f8f49cc69a656e1800
BLAKE2b-256 5a5e87b159bed9328e2f2830ee0e32f55f22df7bb83b7ec0031cb213b0d5b524

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d56d6542fdeb3643db5dff37f124c7224ddc29362a6c942267b783fff0ec7f2
MD5 8f68ee7e3d694843a1db15ec20b9d937
BLAKE2b-256 dae310a0dc7725f04a50019192a46ade683f03139afc4897cfb7d4b14903097f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e4d2cacd9282a339aebf9fe0266f21c3a9470f32edfedcd7e9ce77087ffe05e6
MD5 79f6809eeffae30b616eacea3bda9725
BLAKE2b-256 f5c486f892e4209aad86246f6b542596c621bdc67db048b83c64ff68a528cdbb

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c8a6d6a7757541e1ca18f8cd0b5ab3017113b319d78f3155dad69afb7e9061f
MD5 0b1c87f414a5f3a0353fba3156dc3635
BLAKE2b-256 15fb017af1452a6eb22d99c1d09852b7667f0fc6c822616fa8d8d6c792182544

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6778b70477b7b1c7ee4ef441a4de2ebd4a21b0544ee25a0ae46f9182a041ffaf
MD5 7638dbbfe4975903aa772f9d7a57c142
BLAKE2b-256 07ad690cda8912b8ac7e0706ca39a34eca64f9f2027e4b4dbd7adc359bfcc32d

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7041ab73c607bed06b14e8f4af8bf0a863de0d0e45a5023f30655da9f67abb7c
MD5 2b1019b777ee69d8615cdd98a1e5fcda
BLAKE2b-256 e808c7fd168bf6c0532c983c729dd5e4c4370d4427cf7e1fde5089a28b47a2f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e855d752d0fdc977e6b23ed23810f42594576c48c3f7cb86d6ed0f65c9310b8e
MD5 d2a684e4fd04f75abdcd2ef3d11ed476
BLAKE2b-256 3605f6ada7e3098762d8105950fd1397f505ff269463d17218c186eb8dde42ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 01f9ca46550e741cc15fe397e6576a89a86a8a8c357441a9d2bc3cd10c69eb36
MD5 351c6d9290671dce24a39531dbc4b988
BLAKE2b-256 102c4e35269581ca85232d38f4e1c16e0c0af2bd185b2d5a78f9dac52af78a7f

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fdc25815dfd331aff243c62d323c91813c4d80458250b01d2fdc8f290d5851c8
MD5 ef8a2cb68e7819a8d9244e9932f3344f
BLAKE2b-256 b08db5fa439bc8f5f286ad07d011d296d7df4824476ad7b1d28a5d535fd67f50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e202c68b976da05d7795da27283d112b3cbb35e5312927c7d34e6ac43d167772
MD5 23428944cb480acb9527bebb4804489d
BLAKE2b-256 25802b5186fa8fc0fc0057a2ab82a07e43a27c183c6d231a83f3546d6739b02e

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 941caadf97ba621cea7e20766aea980f964e8b89b1e91c1a3d015ee9d26eeb3c
MD5 fab3d9af87dad5a1cb2d1ec4b0748410
BLAKE2b-256 cdb3fb2f265702f0e23fd73675a1c4bde94c34af68df6b10349ac2a6f0b88e62

See more details on using hashes here.

File details

Details for the file zodbpickle-3.3-cp37-cp37m-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for zodbpickle-3.3-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 f53ef4e36939a87170b059170ee2260625e6bc92b19f7f36e27c097b006c073b
MD5 c07f3341381d0bf56ce8fb4869573cc9
BLAKE2b-256 30506a2be5943fea6b5320d28056cad53c002c11264f0a1fd31964d4367bd209

See more details on using hashes here.

Supported by

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