Skip to main content

Translucent persistent objects

Project description

persistent: automatic persistence for Python objects

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.

persistent Changelog

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

Uploaded Source

Built Distributions

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

persistent-4.0.9.win-amd64-py3.4.exe (332.1 kB view details)

Uploaded Source

persistent-4.0.9.win-amd64-py3.3.exe (332.2 kB view details)

Uploaded Source

persistent-4.0.9.win-amd64-py3.2.exe (334.3 kB view details)

Uploaded Source

persistent-4.0.9.win-amd64-py2.7.exe (334.4 kB view details)

Uploaded Source

persistent-4.0.9.win-amd64-py2.6.exe (334.4 kB view details)

Uploaded Source

persistent-4.0.9.win32-py3.4.exe (300.6 kB view details)

Uploaded Source

persistent-4.0.9.win32-py3.3.exe (300.7 kB view details)

Uploaded Source

persistent-4.0.9.win32-py3.2.exe (305.8 kB view details)

Uploaded Source

persistent-4.0.9.win32-py2.7.exe (306.4 kB view details)

Uploaded Source

persistent-4.0.9.win32-py2.6.exe (306.4 kB view details)

Uploaded Source

persistent-4.0.9-py3.4-win-amd64.egg (168.9 kB view details)

Uploaded Egg

persistent-4.0.9-py3.4-win32.egg (168.5 kB view details)

Uploaded Egg

persistent-4.0.9-py3.3-win-amd64.egg (172.1 kB view details)

Uploaded Egg

persistent-4.0.9-py3.3-win32.egg (171.6 kB view details)

Uploaded Egg

persistent-4.0.9-py3.2-win-amd64.egg (166.3 kB view details)

Uploaded Egg

persistent-4.0.9-py3.2-win32.egg (165.9 kB view details)

Uploaded Egg

persistent-4.0.9-py2.7-win-amd64.egg (164.7 kB view details)

Uploaded Egg

persistent-4.0.9-py2.7-win32.egg (164.3 kB view details)

Uploaded Egg

persistent-4.0.9-py2.6-win-amd64.egg (165.0 kB view details)

Uploaded Egg

persistent-4.0.9-py2.6-win32.egg (164.6 kB view details)

Uploaded Egg

File details

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

File metadata

  • Download URL: persistent-4.0.9.tar.gz
  • Upload date:
  • Size: 675.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for persistent-4.0.9.tar.gz
Algorithm Hash digest
SHA256 c64f2efc2b40cce38a0683ef7ca715afeb1d69a156619d454462f0e1861cf28a
MD5 aaa93ce7bcb8e36b5088ae92a717ec78
BLAKE2b-256 86db130b1937dbf987d229eff068ae21401abad3b73e7b668b6de5789eadc1cb

See more details on using hashes here.

File details

Details for the file persistent-4.0.9.win-amd64-py3.4.exe.

File metadata

File hashes

Hashes for persistent-4.0.9.win-amd64-py3.4.exe
Algorithm Hash digest
SHA256 6bd06794b0395289cdf182f0e5d41f7ba1cb6a25a2ee588e3d9ec3ebd5ba502a
MD5 10e0ff75a66a0f5e326695b23b0848f2
BLAKE2b-256 876e84354b79e8f0e6b79b59c503455c09e84b5e281909668331291524ef1c24

See more details on using hashes here.

File details

Details for the file persistent-4.0.9.win-amd64-py3.3.exe.

File metadata

File hashes

Hashes for persistent-4.0.9.win-amd64-py3.3.exe
Algorithm Hash digest
SHA256 ee1c2f91e96c4fdd69936c0defed8d63c545254de2a36441439ba0f206d3236e
MD5 e442ee8eeb8fa5ed77892272b2b0470f
BLAKE2b-256 a8c7ee3cd887fe9dbb5bc242bccf064c4c7da7f0337292682cf6c61471885e83

See more details on using hashes here.

File details

Details for the file persistent-4.0.9.win-amd64-py3.2.exe.

File metadata

File hashes

Hashes for persistent-4.0.9.win-amd64-py3.2.exe
Algorithm Hash digest
SHA256 7e506b277d58dc6769516857719f9b1aa023fefb67ea9f10da2f0261dcda7bf0
MD5 d275c408e6e18d3c3cce3649182c735c
BLAKE2b-256 253f31a37310a850836150e4ffe9b96d59b295564b07e07b4df703f38eb6d8bc

See more details on using hashes here.

File details

Details for the file persistent-4.0.9.win-amd64-py2.7.exe.

File metadata

File hashes

Hashes for persistent-4.0.9.win-amd64-py2.7.exe
Algorithm Hash digest
SHA256 bd39195957c85b4c980f5a49fd17783a1fdce02c73ec437fce3b058e546ffcef
MD5 dba179927f6926bc8c6dcf66d5b898e1
BLAKE2b-256 b42dd563b501f941c82f0be723ad8b06b642dab2227a8301d50a6db085e102b4

See more details on using hashes here.

File details

Details for the file persistent-4.0.9.win-amd64-py2.6.exe.

File metadata

File hashes

Hashes for persistent-4.0.9.win-amd64-py2.6.exe
Algorithm Hash digest
SHA256 c479722b42c9326d915abf1cb81a72817eb2c467f8a42346e03459788c571dce
MD5 87f4f3314867f30c4531af500f2e63ee
BLAKE2b-256 44f8928faf8957e92cfa2f41d3c3bc1ebec4aede0166048aef6e985ccb848a8c

See more details on using hashes here.

File details

Details for the file persistent-4.0.9.win32-py3.4.exe.

File metadata

File hashes

Hashes for persistent-4.0.9.win32-py3.4.exe
Algorithm Hash digest
SHA256 04373ce50411c980d360ffa312e6ee63cfe85f6cd73841badc2ae2a9405f4bc7
MD5 e751adabd930dd424fa693e77fec4e7a
BLAKE2b-256 32f72b3031ef8cbb5c8c95eeb44e219f716c1f699c38377cdc2c866fc0f612b7

See more details on using hashes here.

File details

Details for the file persistent-4.0.9.win32-py3.3.exe.

File metadata

File hashes

Hashes for persistent-4.0.9.win32-py3.3.exe
Algorithm Hash digest
SHA256 5269de8cd068eb902a0dbcade95ce39f717487ecd375c0968b79acdf7d830d2b
MD5 de8f4b8d24e8bf89a3287bc7bc8e5a28
BLAKE2b-256 4ff319de4d6f8ea6a0327a8c12cca8f8d5e3b830ead45b6f647f56a2ff1f520a

See more details on using hashes here.

File details

Details for the file persistent-4.0.9.win32-py3.2.exe.

File metadata

File hashes

Hashes for persistent-4.0.9.win32-py3.2.exe
Algorithm Hash digest
SHA256 146cb2ca87242e8f6d4b6e68a50ac165ebdeaa6097df4c7755b7dbb717d45764
MD5 e72ef9d4f9ebd66eca16dc46f501a63a
BLAKE2b-256 e267144f4273fc7d85ef1572e8f341395d5b0e2ebbde656a105c46cc93cce547

See more details on using hashes here.

File details

Details for the file persistent-4.0.9.win32-py2.7.exe.

File metadata

File hashes

Hashes for persistent-4.0.9.win32-py2.7.exe
Algorithm Hash digest
SHA256 d639646536fac5f671210b20f69f1a8866e31bdbd6ac8ef1e7b2b58cd220b7f9
MD5 242069aa249692cb2705a7c2a5e64746
BLAKE2b-256 140e0c92db5e81bf441b3a44777fd27626606d991836a566fa8011cc9c973286

See more details on using hashes here.

File details

Details for the file persistent-4.0.9.win32-py2.6.exe.

File metadata

File hashes

Hashes for persistent-4.0.9.win32-py2.6.exe
Algorithm Hash digest
SHA256 9c8b08ff04269185ca7ccb8ff560ed4bf87b0842c141a0aecbd31d33f220b6f8
MD5 625d5435e3bda47b3c91de3297db301f
BLAKE2b-256 412a89ef4ff8e01036254cab7490bdc9efca550dfff38e14f395e30a2b5493b2

See more details on using hashes here.

File details

Details for the file persistent-4.0.9-py3.4-win-amd64.egg.

File metadata

File hashes

Hashes for persistent-4.0.9-py3.4-win-amd64.egg
Algorithm Hash digest
SHA256 f2d45113e68bb158a4e859c426759caf7114b8d8905afd08fdb7f1fe8d406870
MD5 b5af521b28975739493489b5a494c898
BLAKE2b-256 c45382a5ac0c9a412d23a22f49b5ee3f59b4101b32b9dd37ccf02b0589d6a496

See more details on using hashes here.

File details

Details for the file persistent-4.0.9-py3.4-win32.egg.

File metadata

File hashes

Hashes for persistent-4.0.9-py3.4-win32.egg
Algorithm Hash digest
SHA256 72c9bbbac9ca76305379ee56bcc7751d20385f4f73b1f36fbb06c04e1636e5d6
MD5 c4c1a51023d9bd27e0ea228f67a09d21
BLAKE2b-256 b30cd935a5da2f17bf084625d2ed2df922520f1dd941c2cafb440ab40e181394

See more details on using hashes here.

File details

Details for the file persistent-4.0.9-py3.3-win-amd64.egg.

File metadata

File hashes

Hashes for persistent-4.0.9-py3.3-win-amd64.egg
Algorithm Hash digest
SHA256 358db5e905018cbabf41b821ddaf214201b746a308103a2bf4ad2b8f09e65b72
MD5 6b08d8ddc043c2837ea54606ee79e9e3
BLAKE2b-256 f76ca9f2160eb68fa0dba6afa31c72003d9e5eb6ba616a3f8f14ede63547b1e9

See more details on using hashes here.

File details

Details for the file persistent-4.0.9-py3.3-win32.egg.

File metadata

File hashes

Hashes for persistent-4.0.9-py3.3-win32.egg
Algorithm Hash digest
SHA256 5950a5f45292fcb5484f4d98d32c583da4ad113938431d4c7b4fda8f090b913f
MD5 18a04f15f675161e54f5318c376e60b4
BLAKE2b-256 43beb1f039d77c7e27d5669d503ae342b68c26632c4273b804b409d81c6ca251

See more details on using hashes here.

File details

Details for the file persistent-4.0.9-py3.2-win-amd64.egg.

File metadata

File hashes

Hashes for persistent-4.0.9-py3.2-win-amd64.egg
Algorithm Hash digest
SHA256 eebedc2db17c7baef391cf3898a1aa33e7f5f89224772010d576c6613f462291
MD5 83d1c1a66ea40695dd7bdd74ba44b40a
BLAKE2b-256 6bbb8ff4af7c95bdb297dd69924fa49342a8810f094fc0895886ce6e017ff24e

See more details on using hashes here.

File details

Details for the file persistent-4.0.9-py3.2-win32.egg.

File metadata

File hashes

Hashes for persistent-4.0.9-py3.2-win32.egg
Algorithm Hash digest
SHA256 e9b641cb1c17758e01c88364703c12f5ef83fbcc1de232244b47a8e52ab13111
MD5 70dcb09ee19f72f82de596fa9a1c8017
BLAKE2b-256 a3a5561104a2f6dff7796a31f62bd5a7f136a4de5ea4f743b8a482b01756e988

See more details on using hashes here.

File details

Details for the file persistent-4.0.9-py2.7-win-amd64.egg.

File metadata

File hashes

Hashes for persistent-4.0.9-py2.7-win-amd64.egg
Algorithm Hash digest
SHA256 bebfd1c4ef101b11ea09de2c83e2a2babe32ad8dce6ae5523c31a182242cd752
MD5 b4bcc9b59e7fd39af76add304546bb7d
BLAKE2b-256 2130873a1962a3d4c717e3f224c4d3f9437fa18adf96e673e7e5640c7a99e462

See more details on using hashes here.

File details

Details for the file persistent-4.0.9-py2.7-win32.egg.

File metadata

File hashes

Hashes for persistent-4.0.9-py2.7-win32.egg
Algorithm Hash digest
SHA256 51083b72762ad02d4542b38c1f366d87d7344f3ed42388079a67fe0afef11fd6
MD5 7a82783a78aa67f8a28e0ad7a0db1620
BLAKE2b-256 bafb487a0cad47970d389929e85f1038e67185ee30ce0dd331a8e5a90b0c0574

See more details on using hashes here.

File details

Details for the file persistent-4.0.9-py2.6-win-amd64.egg.

File metadata

File hashes

Hashes for persistent-4.0.9-py2.6-win-amd64.egg
Algorithm Hash digest
SHA256 8c94d6334cc7c8e0c09167af5fc51a1e75056cf6abdbaec78b1244225802ec64
MD5 fadb2348dc5ec4b77240f03f477340fb
BLAKE2b-256 ad0d7eaa7c3b36aa1cc7ce96c20b09fdaf364ebc04f969c04e4ab1a6b364188c

See more details on using hashes here.

File details

Details for the file persistent-4.0.9-py2.6-win32.egg.

File metadata

File hashes

Hashes for persistent-4.0.9-py2.6-win32.egg
Algorithm Hash digest
SHA256 a6856a2297a4cd8d1f17dec9c1a1c065a9845a8f86301b84cc7b6eae30aaa0f6
MD5 abda60b430f03852a1d06d365d3ef05e
BLAKE2b-256 ef0318bd0e89a7669b37b076ab60d643a80779b2002927db1977e7068d1e707a

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