skip to navigation
skip to content

persistent 4.0.8

Translucent persistent objects

Latest Version:

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.8 (2014-03-20)

  • Added 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 dev alias (installs nose and coverage).
  • Dropped dependency on zope.testing / zope.testrunner: tests now run with test.

Documentation Changes

  • Refactored many Doctests as Sphinx documentation (snippets are exercised via ‘tox’).
  • Added docs alias (installs Sphinx and repoze.sphinx.autointerface).
File Type Py Version Uploaded on Size
persistent-4.0.8-py2.6-win-amd64.egg (md5) Python Egg 2.6 2014-03-20 155KB
persistent-4.0.8-py2.6-win32.egg (md5) Python Egg 2.6 2014-03-20 155KB
persistent-4.0.8-py2.7-win-amd64.egg (md5) Python Egg 2.7 2014-03-20 155KB
persistent-4.0.8-py2.7-win32.egg (md5) Python Egg 2.7 2014-03-20 154KB
persistent-4.0.8-py3.2-win-amd64.egg (md5) Python Egg 3.2 2014-03-20 156KB
persistent-4.0.8-py3.2-win32.egg (md5) Python Egg 3.2 2014-03-20 156KB
persistent-4.0.8-py3.3-win-amd64.egg (md5) Python Egg 3.3 2015-09-10 162KB
persistent-4.0.8-py3.3-win32.egg (md5) Python Egg 3.3 2015-09-10 161KB
persistent-4.0.8-py3.4-win-amd64.egg (md5) Python Egg 3.4 2016-05-26 159KB
persistent-4.0.8-py3.4-win32.egg (md5) Python Egg 3.4 2016-05-26 158KB
persistent-4.0.8.tar.gz (md5) Source 2014-03-20 552KB (md5) MS Windows installer 2.6 2014-03-20 323KB (md5) MS Windows installer 2.7 2014-03-20 323KB (md5) MS Windows installer 3.2 2014-03-20 323KB (md5) MS Windows installer 3.3 2015-09-10 321KB (md5) MS Windows installer 3.4 2016-05-26 321KB
persistent-4.0.8.win32-py2.6.exe (md5) MS Windows installer 2.6 2014-03-20 295KB
persistent-4.0.8.win32-py2.7.exe (md5) MS Windows installer 2.7 2014-03-20 295KB
persistent-4.0.8.win32-py3.2.exe (md5) MS Windows installer 3.2 2014-03-20 295KB
persistent-4.0.8.win32-py3.3.exe (md5) MS Windows installer 3.3 2015-09-10 290KB
persistent-4.0.8.win32-py3.4.exe (md5) MS Windows installer 3.4 2016-05-26 290KB