Skip to main content

Translucent persistent objects

Project description

persistent: automatic persistence for Python objects

https://github.com/zopefoundation/persistent/actions/workflows/tests.yml/badge.svg https://coveralls.io/repos/github/zopefoundation/persistent/badge.svg?branch=master Documentation Status Latest release Python versions

This package contains a generic persistence implementation for Python. It forms the core protocol for making objects interact “transparently” with a database such as the ZODB.

Please see the Sphinx documentation (docs/index.rst) for further information, or view the documentation at Read The Docs, for either the latest (https://persistent.readthedocs.io/en/latest/) or stable release (https://persistent.readthedocs.io/en/stable/).

persistent Changelog

6.1.1 (2025-02-26)

  • Use Py_REFCNT to access cPersistentObject reference counts in assertions.

6.1 (2024-09-17)

6.0 (2024-05-30)

  • Drop support for Python 3.7.

  • Build Windows wheels on GHA.

5.2 (2024-02-16)

  • Add preliminary support for Python 3.13a3.

5.1 (2023-10-05)

  • Add support for Python 3.12.

5.0 (2023-01-09)

  • Build Linux binary wheels for Python 3.11.

  • Drop support for Python 2.7, 3.5, 3.6.

4.9.3 (2022-11-16)

  • Add support for building arm64 wheels on macOS.

4.9.2 (2022-11-03)

  • Update Python 3.11 support to final release.

4.9.1 (2022-09-16)

  • Update Python 3.11 support to 3.11.0-rc1.

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

4.9.0 (2022-03-10)

  • Add support for Python 3.11 (as of 3.11a5).

4.8.0 (2022-03-07)

  • Switch package to src-layout, this is a packaging only change. (#168)

  • Add support for Python 3.10.

4.7.0 (2021-04-13)

  • Add support for Python 3.9.

  • Move from Travis CI to Github Actions.

  • Supply manylinux wheels for aarch64 (ARM).

  • Fix the pure-Python implementation to activate a ghost object when setting its __class__ and __dict__. This matches the behaviour of the C implementation. See issue 155.

  • Fix the CFFI cache implementation (used on CPython when PURE_PYTHON=1) to not print unraisable AttributeErrors from _WeakValueDictionary during garbage collection. See issue 150.

  • Make the pure-Python implementation of the cache run a garbage collection (gc.collect()) on full_sweep, incrgc and minimize if it detects that an object that was weakly referenced has been ejected. This solves issues on PyPy with ZODB raising ConnectionStateError when there are persistent zope.interface utilities/adapters registered. This partly reverts a change from release 4.2.3.

4.6.4 (2020-03-26)

  • Fix an overly specific test failure using zope.interface 5. See issue 144.

  • Fix two reference leaks that could theoretically occur as the result of obscure errors. See issue 143.

4.6.3 (2020-03-18)

  • Fix a crash in the test suite under a 32-bit CPython on certain 32-bit platforms. See issue 137. Fix by Jerry James.

4.6.2 (2020-03-12)

  • Fix an AssertionError clearing a non-empty PersistentMapping that has no connection. See issue 139.

4.6.1 (2020-03-06)

  • Stop installing C header files on PyPy (which is what persistent before 4.6.0 used to do), fixes issue 135.

4.6.0 (2020-03-05)

  • Fix slicing of PersistentList to always return instances of the same class. It was broken on Python 3 prior to 3.7.4.

  • Fix copying of PersistentList and PersistentMapping using copy.copy to also copy the underlying data object. This was broken prior to Python 3.7.4.

  • Update the handling of the PURE_PYTHON environment variable. Now, a value of “0” requires that the C extensions be used; any other non-empty value prevents the extensions from being used. Also, all C extensions are required together or none of them will be used. This prevents strange errors that arise from a mismatch of Python and C implementations. See issue 131.

    Note that some private implementation details such as the names of the pure-Python implementations have changed.

  • Fix PersistentList to mark itself as changed after calling clear (if needed). See PR 115.

  • Fix PersistentMapping.update to accept keyword arguments like the native UserDict. Previously, most uses of keyword arguments resulted in TypeError; in the undocumented and extremely unlikely event of a single keyword argument called b that happens to be a dictionary, the behaviour will change. Also adjust the signatures of setdefault and pop to match the native version.

  • Fix PersistentList.clear, PersistentMapping.clear and PersistentMapping.popitem to no longer mark the object as changed if it was empty.

  • Add preliminary support for Python 3.9a3+. See issue 124.

  • Fix the Python implementation of the PickleCache to be able to store objects that cannot be weakly referenced. See issue 133.

    Note that ctypes is required to use the Python implementation (except on PyPy).

4.5.1 (2019-11-06)

  • Add support for Python 3.8.

  • Update documentation to Python 3.

4.5.0 (2019-05-09)

  • Fully test the C implementation of the PickleCache, and fix discrepancies between it and the Python implementation:

    • The C implementation now raises ValueError instead of AssertionError for certain types of bad inputs.

    • The Python implementation uses the C wording for error messages.

    • The C implementation properly implements IPickleCache; methods unique to the Python implementation were moved to IExtendedPickleCache.

    • The Python implementation raises AttributeError if a persistent class doesn’t have a p_jar attribute.

    See issue 102.

  • Allow sweeping cache without cache_size. cache_size_bytes works with cache_size=0, no need to set cache_size to a large value.

  • Require CFFI on CPython for pure-Python operation. This drops support for Jython (which was untested). See issue 77.

  • Fix DeprecationWarning about PY_SSIZE_T_CLEAN. See issue 108.

  • Drop support for Python 3.4.

4.4.3 (2018-10-22)

  • Fix the repr of the persistent objects to include the module name when using the C extension. This matches the pure-Python behaviour and the behaviour prior to 4.4.0. See issue 92.

  • Change the repr of persistent objects to format the OID as in integer in hexadecimal notation if it is an 8-byte byte string, as ZODB does. This eliminates some issues in doctests. See issue 95.

4.4.2 (2018-08-28)

  • Explicitly use unsigned constants for packing and unpacking C timestamps, fixing an arithmetic issue for GCC when optimizations are enabled and -fwrapv is not enabled. See issue 86.

4.4.1 (2018-08-23)

  • Fix installation of source packages on PyPy. See issue 88.

4.4.0 (2018-08-22)

  • Use unsigned constants when doing arithmetic on C timestamps, possibly avoiding some overflow issues with some compilers or compiler settings. See issue 86.

  • Change the default representation of Persistent objects to include the representation of their OID and jar, if set. Also add the ability for subclasses to implement _p_repr() instead of overriding __repr__ for better exception handling. See issue 11.

  • Reach and maintain 100% test coverage.

  • Simplify __init__.py, including removal of an attempted legacy import of persistent.TimeStamp. See PR 80.

  • Add support for Python 3.7 and drop support for Python 3.3.

  • Build the CFFI modules (used on PyPy or when PURE_PYTHON is set) at installation or wheel building time when CFFI is available. This replaces the deprecated way of building them at import time. If binary wheels are distributed, it eliminates the need to have a functioning C compiler to use PyPy. See issue 75.

  • Fix deleting the _p_oid of a pure-Python persistent object when it is in a cache.

  • Fix deleting special (_p) attributes of a pure-Python persistent object that overrides __delattr__ and correctly calls _p_delattr.

  • Remove some internal compatibility shims that are no longer necessary. See PR 82.

  • Make the return value of TimeStamp.second() consistent across C and Python implementations when the TimeStamp was created from 6 arguments with floating point seconds. Also make it match across trips through TimeStamp.raw(). Previously, the C version could initially have erroneous rounding and too much false precision, while the Python version could have too much precision. The raw/repr values have not changed. See issue 41.

4.3.0 (2018-07-30)

  • Fix the possibility of a rare crash in the C extension when deallocating items. See https://github.com/zopefoundation/persistent/issues/66

  • Change cPickleCache’s comparison of object sizes to determine whether an object can go in the cache to use PyObject_TypeCheck(). This matches what the pure Python implementation does and is a stronger test that the object really is compatible with the cache. Previously, an object could potentially include cPersistent_HEAD and not set tp_base to cPersistenceCAPI->pertype and still be eligible for the pickle cache; that is no longer the case. See issue 69.

4.2.4.2 (2017-04-23)

  • Packaging-only release: fix Python 2.7 manylinux wheels.

4.2.4.1 (2017-04-21)

  • Packaging-only release: get manylinux wheel built automatically.

4.2.4 (2017-03-20)

  • Avoid raising a SystemError: error return without exception set when loading an object with slots whose jar generates an exception (such as a ZODB POSKeyError) in setstate.

4.2.3 (2017-03-08)

  • Fix the hashcode of Python TimeStamp objects on 64-bit Python on Windows. See https://github.com/zopefoundation/persistent/pull/55

  • Stop calling gc.collect every time PickleCache.incrgc is called (every transaction boundary) in pure-Python mode (PyPy). This means that the reported size of the cache may be wrong (until the next GC), but it is much faster. This should not have any observable effects for user code.

  • Stop clearing the dict and slots of objects added to PickleCache.new_ghost (typically these values are passed to __new__ from the pickle data) in pure-Python mode (PyPy). This matches the behaviour of the C code.

  • Add support for Python 3.6.

  • Fix __setstate__ interning when state parameter is not a built-in dict

4.2.2 (2016-11-29)

4.2.1 (2016-05-26)

  • Fix the hashcode of C TimeStamp objects on 64-bit Python 3 on Windows.

4.2.0 (2016-05-05)

  • Fixed the Python(/PYPY) implementation TimeStamp.timeTime method to have subsecond precision.

  • When testing PURE_PYTHON environments under tox, avoid poisoning the user’s global wheel cache.

  • Add support for Python 3.5.

  • Drop support for Python 2.6 and 3.2.

4.1.1 (2015-06-02)

  • Fix manifest and re-upload to fix stray files included in 4.1.0.

4.1.0 (2015-05-19)

  • Make the Python implementation of Persistent and PickleCache behave more similarly to the C implementation. In particular, the Python version can now run the complete ZODB and ZEO test suites.

  • Fix the hashcode of the Python TimeStamp on 32-bit platforms.

4.0.9 (2015-04-08)

  • Make the C and Python TimeStamp objects behave more alike. The Python version now produces the same repr and .raw() output as the C version, and has the same hashcode. In addition, the Python version is now supports ordering and equality like the C version.

  • Intern keys of object state in __setstate__ to reduce memory usage when unpickling multiple objects with the same attributes.

  • Add support for PyPy3.

  • 100% branch coverage.

4.0.8 (2014-03-20)

  • Add support for Python 3.4.

  • In pure-Python Persistent, avoid loading state in _p_activate for non-ghost objects (which could corrupt their state). (PR #9)

  • In pure-Python, and don’t throw POSKeyError if _p_activate is called on an object that has never been committed. (PR #9)

  • In pure-Python Persistent, avoid calling a subclass’s __setattr__ at instance creation time. (PR #8)

  • Make it possible to delete _p_jar / _p_oid of a pure-Python Persistent object which has been removed from the jar’s cache (fixes aborting a ZODB Connection that has added objects). (PR #7)

4.0.7 (2014-02-20)

  • Avoid a KeyError from _p_accessed() on newly-created objects under pure-Python: these objects may be assigned to a jar, but not yet added to its cache. (PR #6)

  • Avoid a failure in Persistent.__setstate__ when the state dict contains exactly two keys. (PR #5)

  • Fix a hang in picklecache invalidation if OIDs are manually passed out-of-order. (PR #4)

  • Add PURE_PYTHON environment variable support: if set, the C extensions will not be built, imported, or tested.

4.0.6 (2013-01-03)

  • Updated Trove classifiers.

4.0.5 (2012-12-14)

  • Fixed the C-extensions under Py3k (previously they compiled but were not importable).

4.0.4 (2012-12-11)

  • Added support for Python 3.3.

  • C extenstions now build under Python 3.2, passing the same tests as the pure-Python reference implementation.

4.0.3 (2012-11-19)

  • Fixed: In the C implimentation, an integer was compared with a pointer, with undefined results and a compiler warning.

  • Fixed: the Python implementation of the _p_estimated_size propety didn’t support deletion.

  • Simplified implementation of the _p_estimated_size property to only accept integers. A TypeError is raised if an incorrect type is provided.

4.0.2 (2012-08-27)

  • Correct initialization functions in renamed _timestamp extension.

4.0.1 (2012-08-26)

  • Worked around test failure due to overflow to long on 32-bit systems.

  • Renamed TimeStamp extension module to avoid clash with pure-Python timestamp module on case-insensitive filesystems.

    N.B: the canonical way to import the TimeStamp class is now:

    from persistent.timestamp import TimeStamp

    which will yield the class from the extension module (if available), falling back to the pure-Python reference implementation.

4.0.0 (2012-08-11)

Platform Changes

  • Added explicit support for Python 3.2 and PyPy.

    • Note that the C implementations of Persistent, PickleCache, and Timestamp are not built (yet) on these platforms.

  • Dropped support for Python < 2.6.

Testing Changes

  • 100% unit test coverage.

  • Removed all ZODB-dependent tests:

    • Rewrote some to avoid the dependency

    • Cloned the remainder into new ZODB.tests modules.

  • Refactored some doctests refactored as unittests.

  • Completed pure-Python reference implementations of ‘Persistent’, ‘PickleCache’, and ‘TimeStamp’.

  • All covered platforms tested under tox.

  • Added support for continuous integration using tox and jenkins.

  • Added setup.py dev alias (installs nose and coverage).

  • Dropped dependency on zope.testing / zope.testrunner: tests now run with setup.py test.

Documentation Changes

  • Refactored many Doctests as Sphinx documentation (snippets are exercised via ‘tox’).

  • Added setup.py docs alias (installs Sphinx and repoze.sphinx.autointerface).

Download files

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

Source Distribution

persistent-6.1.1.tar.gz (120.0 kB view details)

Uploaded Source

Built Distributions

persistent-6.1.1-cp313-cp313-win_amd64.whl (128.3 kB view details)

Uploaded CPython 3.13Windows x86-64

persistent-6.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (240.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

persistent-6.1.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (239.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

persistent-6.1.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (229.3 kB view details)

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

persistent-6.1.1-cp313-cp313-macosx_11_0_arm64.whl (147.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

persistent-6.1.1-cp313-cp313-macosx_10_9_x86_64.whl (145.2 kB view details)

Uploaded CPython 3.13macOS 10.9+ x86-64

persistent-6.1.1-cp312-cp312-win_amd64.whl (128.3 kB view details)

Uploaded CPython 3.12Windows x86-64

persistent-6.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (241.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

persistent-6.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (239.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

persistent-6.1.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (229.5 kB view details)

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

persistent-6.1.1-cp312-cp312-macosx_11_0_arm64.whl (147.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

persistent-6.1.1-cp312-cp312-macosx_10_9_x86_64.whl (145.2 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

persistent-6.1.1-cp311-cp311-win_amd64.whl (128.1 kB view details)

Uploaded CPython 3.11Windows x86-64

persistent-6.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (235.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

persistent-6.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (232.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

persistent-6.1.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (225.8 kB view details)

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

persistent-6.1.1-cp311-cp311-macosx_11_0_arm64.whl (147.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

persistent-6.1.1-cp311-cp311-macosx_10_9_x86_64.whl (144.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

persistent-6.1.1-cp310-cp310-win_amd64.whl (128.1 kB view details)

Uploaded CPython 3.10Windows x86-64

persistent-6.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (232.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

persistent-6.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (229.9 kB view details)

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

persistent-6.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (222.9 kB view details)

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

persistent-6.1.1-cp310-cp310-macosx_11_0_arm64.whl (147.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

persistent-6.1.1-cp310-cp310-macosx_10_9_x86_64.whl (144.7 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

persistent-6.1.1-cp39-cp39-win_amd64.whl (128.1 kB view details)

Uploaded CPython 3.9Windows x86-64

persistent-6.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (231.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

persistent-6.1.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (229.1 kB view details)

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

persistent-6.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (222.1 kB view details)

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

persistent-6.1.1-cp39-cp39-macosx_11_0_arm64.whl (147.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

persistent-6.1.1-cp39-cp39-macosx_10_9_x86_64.whl (144.7 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

persistent-6.1.1-cp38-cp38-win_amd64.whl (128.0 kB view details)

Uploaded CPython 3.8Windows x86-64

persistent-6.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (234.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

persistent-6.1.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (231.6 kB view details)

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

persistent-6.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (224.7 kB view details)

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

persistent-6.1.1-cp38-cp38-macosx_11_0_arm64.whl (147.1 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

persistent-6.1.1-cp38-cp38-macosx_10_9_x86_64.whl (144.7 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file persistent-6.1.1.tar.gz.

File metadata

  • Download URL: persistent-6.1.1.tar.gz
  • Upload date:
  • Size: 120.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.11

File hashes

Hashes for persistent-6.1.1.tar.gz
Algorithm Hash digest
SHA256 2d321b60eb07ef900f85a96cf071ff8c3b9aee6e679becc48c46f3457e8d9d2f
MD5 6aba4288accd8016622e03e20a2e6ca5
BLAKE2b-256 d34d80e14d3f34a603c70d79f22ad5d14b5e77f7660c92d6f0ba405ca719c259

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: persistent-6.1.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 128.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for persistent-6.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e09807dfcd8d268795819776de8e871fe5ca1151acac3705d0855848cfccf710
MD5 6220d0aea2134790ce21c6055864d191
BLAKE2b-256 24cac3100eabcda47aa8a1bf73e16934d9eed0da8313e735eff5728af63b0fec

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 91723032023e1c3994cf19a1a798f490ed40c3dce9074933817ae4eaf8f4c242
MD5 7faf66fc29876da7111debb272269ac7
BLAKE2b-256 468efcaf10000330de9ef28513ab8aa042da465498e7a0279eb45a0961133e8b

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3688428e9f39bf89bae2ae2d67dcf35e61958a9ec4370e14a6ffa5489f13a702
MD5 e19c744a0e4d2d1fabedca0b4005e6f9
BLAKE2b-256 4330d33a557ce4aa058b0ae7b418ca0c8d2a123bd2aadbbec51aa1e9fd461dc1

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1281e94901af3e7290696557c3804078bd22e5edab07b3a9b5113fd94bbd8c3e
MD5 236a56e4d8492e99b06b0015316683b5
BLAKE2b-256 9d7e1e2a66b1877eff0b29cee1f0af54ca9ee977f056224d09e5f792750b28b4

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1955c2867a1810dfdc650c9534f68fd02a34bae49b26e941f617c8416d3883bc
MD5 9e24734370a8c6008f374252ddf261f2
BLAKE2b-256 cde7c20a51c5056cb6536733b4780a4f90b7917d19131828c39c786f9abd39c8

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp313-cp313-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp313-cp313-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4a06fac2da38deda02567d94df8c802061cee27b0541b6659ac2777786d2e4c7
MD5 d05cf0aad9fef544cba5f5df37c623d1
BLAKE2b-256 7d0d1c323cf2c5a945a7d85f789186c6a352c30da5c8166b113117470b7bdd75

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: persistent-6.1.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 128.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for persistent-6.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4f36a13d70513909ee02f27f2fff9bea046dc0230d759ab6d5123129b74676d4
MD5 93b0ff425c9bb1b7fc9be772a0297f0d
BLAKE2b-256 2b050f5a1ecedd4ca98c678360f7b14da47bad9604906eb2be13e63bb9e5f478

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1746e226bb9c0ac2a7e359eae8813719310f48d1ae62c3f6be20434caba4f30a
MD5 1423a890aab65fe88b8944f1da6f787a
BLAKE2b-256 bd8f1d94077277fb5729e8a2c958005bd17d9354527cc5bc9ff1e7e04f853f85

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec502840d0ede3f2e1c4f38b410a011c12f69be9268949e4e2b42aefe9fd7906
MD5 00fdc9bdba34c13b37d2461d8e68bfa5
BLAKE2b-256 0b65c5b851440c1d46192f581c3c5e20bbde5cf935706b840b933be0822f137d

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e3efc4975139f2e7424504e0bbec7c809a32b96f05b0b243547b1cad91e1ef01
MD5 91fe37efd9dda4cfb46eab3e02097e12
BLAKE2b-256 8ff316872dddaefc75f883c1fcc36571da6350dc0d0683104b3eae488524c329

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 030eaf3f723925e44eabfc12d43828e692f1d7023c5ffe3f375c344a21ad2ad8
MD5 134f440ce13f4aa3db814f296216a2e9
BLAKE2b-256 a85154150f1e05553dd375af8b9bdd114cda5fa6b88236cd576d73a18c9ace3f

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ce7528a7d55729d14ecc00e8be29cdb7c704d9f944f3ddfdb4eb107787e54eab
MD5 d6097d374d1bc976f4ee340be5ba0237
BLAKE2b-256 4e87590903bc1dce89d2c0a722eb793bf83ac71a0e310c35cf2cfbad095c4fb8

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: persistent-6.1.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 128.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for persistent-6.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8757b5227aabb18f9325c771a05ed0bb56cc4a6a89845af3818cbba1d75011f9
MD5 619b7bd84d33948d41def02b29a0ed10
BLAKE2b-256 4b46b6c5075d0af4a4693578ed633a487114925d65f8f0ac14457c72694f4824

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 062525a2860376137eb9c75a0cd049353a1c914a9c26870c1a4aa1d828ba9038
MD5 ba117c4c3d38f00c390d675caae3aefb
BLAKE2b-256 d9b48e672853a91fbcae38595c0a8649d26516d50cd2535dbb041fcadfdb7ebd

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09a5a968ee6b50fd6a089677a911464e2ef1a26e9c4738982cd380665b021e82
MD5 bf94b42e87afb286d3da54ae216171aa
BLAKE2b-256 cba4994188ce3754fa317b5c7e815cf049e53c2c71111f5a79d684be28682672

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d2181d6d550fdd427304e0fe0c1f0098ca9a4bc255e63093bcc4e7ff3ccd48f8
MD5 0dd3b0c8af456f012735bcdeef2748c2
BLAKE2b-256 058dfed85e55232e085a7f1bc0a8eeeb7c76945dab68bf7fd52ba6913e7a31cd

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a3e6c5fdf5e1a7da845235bcfab1752a770bea7eb0828140f8ead85764765a31
MD5 5bec9ec080dc8762e962344d940fae9a
BLAKE2b-256 79cc14fa67c399e9f9b286547911638316eca963e2fa74886f5712c7fe4f85af

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e5d9913ad0b32ff07319beff9ccadd9aa0ee07affb3acdde8003165d1eb18115
MD5 238b2815c86f1c2b63c1cf3aeeec1b56
BLAKE2b-256 fa447b97079e69ba10bc201fd8ba112f78cca8d579e814a762e2d7e567354905

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: persistent-6.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 128.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for persistent-6.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 60dc97896a14212cf6bb52688f4f8ba47c1a68b26bc9306d45ec7e64eeb92fc1
MD5 d28117e73a753db83d9cd09da2e4e1a4
BLAKE2b-256 d2d66444d139ac00296b5483bda05c257309a7df9782027921277879c499ee57

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c63e421c17329cc90e01fb9075070a6cc39f32ae73caeb8b87350eeddddc10d5
MD5 3575485cf6cc67774e6d467fad2b9e17
BLAKE2b-256 22f709c0ddb4b3d0bc7c5b7be0eb547c7c7414ef4e10e37cba1caf52a1122a1b

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a9dd5853c616cc9b2f859da90ee3266ef3a747613b2abb3c2fbb58916c766d2c
MD5 810ef5905dcdfa8c1833cfa78360108b
BLAKE2b-256 b0deb1eaefc5c07c158c6a975f2b8e902b2044e2924af722c172411718b7fb87

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 876e0b3eab6d483b041a0746ae6820e9f6af24c1c314352c0e9675a78efee86a
MD5 937a6b8c154c3001cf43cbf48018f1cb
BLAKE2b-256 3892ab8a0ddb9bf9edd22e4640a5a23280f06436599f8e1f3434c3e70c04f290

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 07842cd96f3a424085e74528d581c6b193d3f487fb4b42986bd582f732be9953
MD5 1e45bb96392dd4e7ce8b93adb326423d
BLAKE2b-256 37976d1014c1b93d56a122902bc7e27e7c70756d963025738d91635f0a7fbc57

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 861e34b4190fc1e980a7905fb11fa4929433216125e426b6ea2a2bd583ad1786
MD5 05adba62c519a3988d297e13b581f2ad
BLAKE2b-256 0c6f2ecda9b1bf578e513854d392a2c3c0db6a09508403828234b2ae60b8e2ab

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: persistent-6.1.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 128.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for persistent-6.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ebc19a31236ad993f12eff125c48f2dad7a997364ef87f232207491d1e601103
MD5 3b8f12d13688ebe396221f8967a585c2
BLAKE2b-256 b15b121a7b9dc2b62183b0c0341cde14e9324705b3682e5cc1bfbc5925bccdce

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 504399906cc897057637a4053326c5f5148da7fdde9b6a51b93f266fb5ed14de
MD5 d40b2ee73d17f872bbdd37899714d812
BLAKE2b-256 1328b4b7cc2b0861744e80f4a713adb3571e55a2b0b2a8ecd2846318a6ac3f90

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f12d8ddddff657d1e3577d86149c3c72f73810416489be42dc2510b70dfaddb
MD5 1299623316dc0829007158c47aa0fac3
BLAKE2b-256 b7932e75935a38d1b55404f1e8a069f52084570e700c741d271aebc6fd26b7d1

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8d03afc757124ca65549c167df52dc704be6193f05bf41554a158288eac30c50
MD5 ff003ff7d05069ccab219709e4333366
BLAKE2b-256 868b69fb89d9e91e1ca99038c7eddbf5cebd70dd534466cc88f3ee38f4cc2656

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98f1096c772ea6313f0e4f767c139a5e0abf470da44f94918563cedacf87194e
MD5 9392ab4fd2e2832a61b16a37a483907b
BLAKE2b-256 006ad52a66931ab57b54497489c23b32540673d879f939af43a60a230d0eb07b

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5224bf66a8caad568f64c03c114872e3e63b8fe4477efa3316a9e25385a6b83a
MD5 71641ab2ad7330ef705bd45c65c38eca
BLAKE2b-256 4ac33d21555e911f55954a0aae4a90780bd6176d13977c58d47b88c03f94f89c

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: persistent-6.1.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 128.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for persistent-6.1.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 19ef340e1de14312301b9756d031cab0923bfb7fc0c308c42ff5b7ac3f31f297
MD5 c9f77f77216eb38d7ee4a5d92d7bf147
BLAKE2b-256 14ec7abd00c33f4532de3d344b6c9faf0319842c8213f3a1c7a253682a6e488b

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2ee94e834c2539df7daf916f609f737809aebb7d0b012e6724b141b946312257
MD5 0fbf3017004f79a9f06ce0a8da10870d
BLAKE2b-256 635058f384951e4f4db1735ca93f604653fe6e35eb20b8dd57e3508ea6e75269

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aac21049bbce3e96fc7abd73fa209b15ee38c2c42ea3ce9b4d36bb9df28ab5e7
MD5 09fa8a293f484ff28554f5772bb06196
BLAKE2b-256 fd7143ca8fcb98503a45fb6d559c14f99c55cf172e2d45a026f69d8538501ee8

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7ca529dc9f01fd0f24e7c1426f9f1db4ddb45dcd185681b2328c9657ecb6fe5f
MD5 58213d835acaa63f9504b53ec1e0d889
BLAKE2b-256 25583dcd2d28f45a34469629e4e115f5ae4ff0a39dea9428216858450103ffc2

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c2eaad2e7e59474adbd83ff775b911bbd738cd994e66bda5b5c2d6e843ab28f
MD5 3e388777262a8348fec916fe7af1fcf7
BLAKE2b-256 b60302667df68cca036d3907954d33fad61a8ee533f1b33211307c89ed4a5658

See more details on using hashes here.

File details

Details for the file persistent-6.1.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for persistent-6.1.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 efa795dcbe5f70f45b3c4bc2b17842b3532a56756fbd6656c3879878eba3866b
MD5 5087fc8c00e4d07e74010e41ba71b131
BLAKE2b-256 ac89d989e4621ac7890dbbea231e412e6dca38ab79c7e8436e7d7a817ca80ecf

See more details on using hashes here.

Supported by

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