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

Uploaded Source

Built Distributions

zodbpickle-3.0-cp311-cp311-win_amd64.whl (141.9 kB view details)

Uploaded CPython 3.11 Windows x86-64

zodbpickle-3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (298.8 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

zodbpickle-3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (299.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

zodbpickle-3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (295.6 kB view details)

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

zodbpickle-3.0-cp311-cp311-macosx_11_0_arm64.whl (139.9 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

zodbpickle-3.0-cp311-cp311-macosx_10_9_x86_64.whl (143.0 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

zodbpickle-3.0-cp310-cp310-win_amd64.whl (141.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

zodbpickle-3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (283.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

zodbpickle-3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (284.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

zodbpickle-3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (280.5 kB view details)

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

zodbpickle-3.0-cp310-cp310-macosx_11_0_arm64.whl (140.3 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

zodbpickle-3.0-cp310-cp310-macosx_10_9_x86_64.whl (143.5 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

zodbpickle-3.0-cp39-cp39-win_amd64.whl (141.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

zodbpickle-3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (281.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

zodbpickle-3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (282.3 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

zodbpickle-3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (279.1 kB view details)

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

zodbpickle-3.0-cp39-cp39-macosx_11_0_arm64.whl (140.2 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

zodbpickle-3.0-cp39-cp39-macosx_10_9_x86_64.whl (143.5 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

zodbpickle-3.0-cp38-cp38-win_amd64.whl (141.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

zodbpickle-3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (288.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

zodbpickle-3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (288.0 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

zodbpickle-3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (285.1 kB view details)

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

zodbpickle-3.0-cp38-cp38-macosx_11_0_arm64.whl (140.4 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

zodbpickle-3.0-cp38-cp38-macosx_10_9_x86_64.whl (143.8 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

zodbpickle-3.0-cp37-cp37m-win_amd64.whl (141.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

zodbpickle-3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (273.7 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

zodbpickle-3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (274.8 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

zodbpickle-3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (269.7 kB view details)

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

zodbpickle-3.0-cp37-cp37m-macosx_10_15_x86_64.whl (143.5 kB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

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

File metadata

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

File hashes

Hashes for zodbpickle-3.0.tar.gz
Algorithm Hash digest
SHA256 c8dc8c1ac233293684067af591f7ebc4a86670d6deffbaa7d35d34cc0f784e84
MD5 992d5a8da324e41b45a9ff498530ada5
BLAKE2b-256 e66802c5397a4b980719f30140f7d6e8883385dc7e445b3f4075e51618ee1b22

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zodbpickle-3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1865f0c53298972a20bb26f46ffc109ce80b8626cafb7a85b33b27775dadf7fa
MD5 f914e618cd6a351b1f50b727711bd436
BLAKE2b-256 46728377e140755bea08d57aefe769f0f1a9fbcd9640d86dc208e26209d2dcea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a16206925d7744725d9f7f43f401869e087d8a36a6bee9ddd034d89d07535941
MD5 ae7b38fc6294746f1fdf4e99c30449c9
BLAKE2b-256 1efd816f7501a8df84e1d7046f76341213964863382c9d38fe0a22130e868e81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d713526f3e6d99a6261d6e63930d1bf75fc8f3f855ff02ee022b6e72236b1a83
MD5 12908cd53d1bde0a0b5fe4b3ca9bd7e2
BLAKE2b-256 26f5b8919dbcf5cabfb85a38ff4d4c6a62eaee6daea15f73b0fb51f894d8ed70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bf0ff8e1342d7fb5178e7a61df87bc7875a5d5d90210b59049d7fc725703ad09
MD5 38472e98154cbc341c29c39bbd94a164
BLAKE2b-256 93ff198d631bec1d5ebfaa94821215b56eb2eea1f0716629b953eaf2c0ba2691

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a293bd5b94d11e9f403158631c3e4f2f3f53b23f9e92d861dc350de613b58334
MD5 a81361dcba962fbda4d554d1ef6d87a3
BLAKE2b-256 fb65f79c3007467cea4b8faf9eb77ac1806b9836da8d671e6c04a982b7f81ab6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 72aeaa7fa1b54a6e20ef6f30de54c35ff68a4cabc83de5ab4ef13f9b0eb85138
MD5 3b2a005179648c6c867873b31c355549
BLAKE2b-256 fe3f9a370f7ea49d09d9e4fc23a69029f90c08ec74b84edb5ca11e4fca6254b8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zodbpickle-3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 89145e53bb03e14328590512371b0123da147a8126ed7da8e5fe5e80259e9b9b
MD5 7b48b195ad825f697960c9229a3ccd9a
BLAKE2b-256 ef37d62775cfbd4e6e131ee629bfb0d8e0a40e6393d01a7bd52a399f4783c4ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9dc00720c0e5858022a5c3eab9e145b270c7a3c78a78664d0fae46a404fe04de
MD5 252a331292356948d672a66bc45678a4
BLAKE2b-256 2999f11f858fbae7ad6de509e9eaf29baa20eb0fc196369668187c448ee343aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1d11e10a8e96e924878dd2bc19e2d2a33a4fda5691ca8c831cd0fe75479f5084
MD5 2b0477707c02d68c6e72684e807f273a
BLAKE2b-256 908c7560686807614134048687c1d77a61cd1c3b966e89c50a0e330d943a30f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b2dad4c6113d5559a57898813ee92746757634dac0936ad5084c8eb4e195f22c
MD5 860bb180f0a1a831deb827cb05cc959d
BLAKE2b-256 b45c18b1ad94c01295fd19c95a1fc252dc27ea624cfbc6f25e6a453bd5680535

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 501d6bcd1318e735885ee4ec959d0ea8c7aa535c389c68acf67fb4f8c52e752c
MD5 83c3d45530548935aac2f86eca26f5ae
BLAKE2b-256 69d8c5c514630270ec18a8b21224c9e712bfd7593f1c4789db61ead26ed26b84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 def14f96a777e7af77e9abfa77800e2821443855b5e85328e24de022fb140ab4
MD5 f10cc4852bc8f9f760441aa236745847
BLAKE2b-256 35d94efba147b0920e442e1786ec9d86ee6db8205990ef40291b989ef7a3a3f1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zodbpickle-3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 59b4ae4fe8a5e0e8e97787e391a2eb0058fc965200b969fce96369347c984a02
MD5 ad21713728832b530d73ecbf81734b03
BLAKE2b-256 03ab12e7e596f7c0fb89274dc04201a9a96c54d054edfd1ec15fee51a47a7663

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d586321402140401cab4586b1c170a7af312381aa98100fe6e3047432742c4a5
MD5 6806fcdbc9eb518b2ce4b27f1c3c41d3
BLAKE2b-256 926a15a6393b6e067bb83c7a22e4b8b75b9cbe672b3e4c27655ad11f425da6e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 201b7cf1a7f43f1d1b5d3dbb5ac3ce3f3715a1ddc17960d1d53e3ab4d58b9220
MD5 4396a15f3be5518d8438c527d0bc8909
BLAKE2b-256 f12f4d85b9b7ea170430e5ae149264fc5ea793c6e248bdec3b0a78eb4363d6cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 266f2de5d000dab325064c36349dc23facccba54a2e985225bb49cb3782bbb0d
MD5 4555e95096be1ff571cb8c04c5356cd3
BLAKE2b-256 c3c676ce42555571db0069b0d6c6e9918e3862550722c6d57473b9c6f59f2a94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 97b3cf41f6c129133881cf35519df88b98da4b7bc2809486bb2622995728cfd2
MD5 fa1dbe16e5e3fe3162b372080e8f4b6c
BLAKE2b-256 dd3f4d5f164af6d2999f254887ffe7445e42e487feaca5b0ec3e10c1a176a02d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e57e383a104f484ffec0920f069fc384188d85a6efc977e4926da486a65472f5
MD5 b55a2754c00de85adf5a527a4d45d923
BLAKE2b-256 339d6dc61eea684c78ce5081a6ed35eba3148adc8e4e3f59c36ee3f2c47484ef

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zodbpickle-3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8b0f30a00697f3fac70766d34c4113b84f3ef796007d43d9647c95f665f47aff
MD5 995e2cf95adc3e8859f55ac6855b817a
BLAKE2b-256 57e9a2b988a47b7856d6e79cec5d0a654cbc234f2b794ffeb23766cbd2c6d6b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3df5ff96ccdc73dfaa571bb8975aa5ec10a5ed9bb9e03d9ec5499fbe4f52a0e
MD5 9ee42623b5da01498c07f587bfd7ac5d
BLAKE2b-256 b48118c74aa1ac8eae52605761e04ea18277eaaaa0e0bc238d237e0c2c621c94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e7d5f223eb0d29e182f0f19ec505b7bdd63c761687915aa4767896d93876235a
MD5 944e6a8fdb44091301ab8154feca7efd
BLAKE2b-256 45167e09a82cd159e88840acac7eaee90e6f2f409add2950187f12fbcb5a5865

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3d380f44722a55bb966556bb1715cf2f19d1805d2bcfd78f5c0b4c0ce340db55
MD5 a5da2ec61a994e8ab9de4ca3af7ed3b6
BLAKE2b-256 4d93d8f28814946c97a7c5ba2c716348e68d9bbbfc04f5c957c0a6444db9f7af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68e3396b9b9dcb97f8fed479054419f96e67db9800dc0766a949b5f4deefeaa3
MD5 6f19184c7f0916db6170e9506c6bae09
BLAKE2b-256 21c250f8e9d30a0eafed62e06d6219de0114b86d60744dff1f0bd2e8cf6e1a5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dc277b6fa00eac71bb26d84fb970add8e07db7447d8238c11e61956cbd3ddd01
MD5 5db7b60d54d6af9ea7a905c26dfbacf2
BLAKE2b-256 b4ed7875ca83b08020cc493cfe2158b109f45478751f679199ea96ee0a6b5f2f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zodbpickle-3.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 6b3a932f67d377d9dc213a7e6f1725ab306a95ed7c4c43ea46846852d59180a8
MD5 9d179d31d7aff9bc21015077836cdb8b
BLAKE2b-256 6a11510eaceb534231ad523eb25a14b6efa8925b752501468cb37d03bbb7e430

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39397d64b8ac5e4f5ea6d45f93b9201c689aeffd487bd5afdc8064c25c74cd16
MD5 0545e24bf60bf14b114c3476320f4db8
BLAKE2b-256 4887afea92ac0f1975be18f4c9deb84ed2cb52a044393c8182fdf17a28d71057

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a2d836a84308d167c014d5e44440f821c6d44da570171007dc01db6cae5ed5a
MD5 6ce687f84f8d5bb578382416daf02b44
BLAKE2b-256 ec5ca9f27342e49160225c858525b6b56d4de098e6049bbf6c1aefd09ab31ec0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f7ef50815f9c8eb2e94056e26b67c4ddd788ee4eadca68a10701f8672d477ccd
MD5 068d0c9ba9f3fbeec25870ad23586786
BLAKE2b-256 c7bc69e49f942a392daf6ab1a4d7fd88e84a5cba9519c5688bcffc534bd8f3a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zodbpickle-3.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c113c11ec739a97cbcd4401e7717e09c7ae087fa3e0bcd0cade4396502a4939a
MD5 fdba22b5bc65da1e08c9e121c6872059
BLAKE2b-256 01719ed54c3abf743ca53de0844245a36f3f1ea735b8226322bcfed1ef77036b

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