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.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 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.8.tar.gz (565.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.8.win-amd64-py3.4.exe (328.7 kB view details)

Uploaded Source

persistent-4.0.8.win-amd64-py3.3.exe (328.8 kB view details)

Uploaded Source

persistent-4.0.8.win-amd64-py3.2.exe (330.9 kB view details)

Uploaded Source

persistent-4.0.8.win-amd64-py2.7.exe (330.9 kB view details)

Uploaded Source

persistent-4.0.8.win-amd64-py2.6.exe (330.9 kB view details)

Uploaded Source

persistent-4.0.8.win32-py3.4.exe (297.1 kB view details)

Uploaded Source

persistent-4.0.8.win32-py3.3.exe (297.2 kB view details)

Uploaded Source

persistent-4.0.8.win32-py3.2.exe (302.3 kB view details)

Uploaded Source

persistent-4.0.8.win32-py2.7.exe (303.0 kB view details)

Uploaded Source

persistent-4.0.8.win32-py2.6.exe (303.0 kB view details)

Uploaded Source

persistent-4.0.8-py3.4-win-amd64.egg (163.0 kB view details)

Uploaded Egg

persistent-4.0.8-py3.4-win32.egg (162.6 kB view details)

Uploaded Egg

persistent-4.0.8-py3.3-win-amd64.egg (166.2 kB view details)

Uploaded Egg

persistent-4.0.8-py3.3-win32.egg (165.7 kB view details)

Uploaded Egg

persistent-4.0.8-py3.2-win-amd64.egg (160.6 kB view details)

Uploaded Egg

persistent-4.0.8-py3.2-win32.egg (160.1 kB view details)

Uploaded Egg

persistent-4.0.8-py2.7-win-amd64.egg (159.0 kB view details)

Uploaded Egg

persistent-4.0.8-py2.7-win32.egg (158.6 kB view details)

Uploaded Egg

persistent-4.0.8-py2.6-win-amd64.egg (159.3 kB view details)

Uploaded Egg

persistent-4.0.8-py2.6-win32.egg (158.9 kB view details)

Uploaded Egg

File details

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

File metadata

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

File hashes

Hashes for persistent-4.0.8.tar.gz
Algorithm Hash digest
SHA256 678902217c5370d33694c6dc95b89e1e6284b4dc41f04c056326194a3f6f3e22
MD5 2942f1ca7764b1bef8d48fa0d9a236b7
BLAKE2b-256 e36ef7214ed16580f14265f68f560112a21fe5b95691ab1314270ec65151acf5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8.win-amd64-py3.4.exe
Algorithm Hash digest
SHA256 04ea4c98c86dd88ebfc8c3a4574ee3db67d60b00e0ce2a4b64b0a7609d73d469
MD5 daba523784fad1410389bd958fa5ec18
BLAKE2b-256 5a7a8c558271009fedbec4239258d90462b92a375dbef6d62670d59c56b8f180

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8.win-amd64-py3.3.exe
Algorithm Hash digest
SHA256 bad36cef8707961d15fe0f8d2d9724be9981b9500cbfd4f27fff025dd5dc69c3
MD5 27aa049c86854e028a120641c16f5352
BLAKE2b-256 2f6c0ea4f0ee6163531ef604f5a13fe9560202fbace435a82ce9dbaee48abef4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8.win-amd64-py3.2.exe
Algorithm Hash digest
SHA256 78dcf8003b9cadb511858db4738da59e496f0c3cd5c7342fa8ab4cf2cc38ae37
MD5 2266ba2c00d8d603a4ba2308b47bd981
BLAKE2b-256 e6fd5bff28ded0ee0d95b18ada5e3aa9ccb592665744fb7e16a174c10b81f012

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8.win-amd64-py2.7.exe
Algorithm Hash digest
SHA256 54ed4f50782ff5d61ca1137951fe2686950d21ba1311d948b09b11b5b2c73fcf
MD5 1535a802989a36b8c630fd093262db1f
BLAKE2b-256 2ad79127649df28feb621bd65d582db297065a7d08e2254503e7df5ddb66027b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8.win-amd64-py2.6.exe
Algorithm Hash digest
SHA256 5f6200d73e5d0c6b738882823e0b56e282d2d2629539d3119cb56a243356b319
MD5 bd096b8d553cb963a7ec5c0cc932c2fb
BLAKE2b-256 e02e7b23bf571ece987617675ba2757b96cf203636c9cde27d689b46a3b612f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8.win32-py3.4.exe
Algorithm Hash digest
SHA256 04c301dd2a4788d1d62efafacd24b4905e9a0889e03c71e8dbf1b62e159acd8a
MD5 ef76e10e5f45cb604d68b3bc4fd88344
BLAKE2b-256 0676574176a958cb21f481453c61fdf588e671689b9b7a973215292c15797699

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8.win32-py3.3.exe
Algorithm Hash digest
SHA256 b869ad30960d68404776377c2b424ca15125a197e6dfd51d7c8f3cfb7d4a4ed9
MD5 673f1cff745c9bbbe668a19b53fb717f
BLAKE2b-256 aceb46e32be74f77a59599a3bccd965ea3f18dc89cf6195c9c95bd4081d33c38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8.win32-py3.2.exe
Algorithm Hash digest
SHA256 5ffd7c66ffd539b850928c5ba5da7e7a542413b9615c7b2c119620c9b134f29a
MD5 5da808e265028c32464aa8e5088ae8e4
BLAKE2b-256 75f84ad963f63cbb2f9aa5d92807135f2f4d2be814a94bcfa114c7da100a3c4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8.win32-py2.7.exe
Algorithm Hash digest
SHA256 184a8c3d73bdf711291cdeb307ae0107c61fccf38668f811d1389f899995fb6b
MD5 644bb9850de3c9b765790d5ae78df258
BLAKE2b-256 464d716c51519209eec53edc9f34093574f63797f879f34064c89c64fbee0e4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8.win32-py2.6.exe
Algorithm Hash digest
SHA256 1f235bac421446982af64756de8a9456c22423c9a3271914e196145c57a26613
MD5 e24e336676193f023d8efc56b24260a4
BLAKE2b-256 398646c90f43c574809559b261265112e48f6249fd6749ef9d8bfb575838d924

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8-py3.4-win-amd64.egg
Algorithm Hash digest
SHA256 a38e3e9b0fb660aef913a6f0c8dc9bfaedf5b89cc08c5f1070178c6c31cd3fa6
MD5 a8130b4f6b297eaa3014557b8473871e
BLAKE2b-256 300deec3b095a15ee22f5437d94fd12059252672e2e24fb398fe3190585fb503

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8-py3.4-win32.egg
Algorithm Hash digest
SHA256 4699baaa0cd65adadec18e72f1294978f4ea4ede52438deb0db2fe9bd9977a53
MD5 4477e73d208a30b1cad5f4a60cccbe1f
BLAKE2b-256 011f465c6ea14df2ee4642435a973c906c227d19a251dbcc03025fd962d1f8bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8-py3.3-win-amd64.egg
Algorithm Hash digest
SHA256 c993c0582f6feed119c8026997af80bad26c6020bba41cef0f61706c40a09d16
MD5 dc7b57acdb197c3a0bef9a9bde551dfb
BLAKE2b-256 09e346eab4897a2d84f59470e050df307046a01a7508d4b6924047e1817d5b16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8-py3.3-win32.egg
Algorithm Hash digest
SHA256 b26a43b323fcebd8664be4f6f059d7a874a4f17eb82c84e8c9bdbe1c5c12a6d7
MD5 674310de1bc580dc26c11a860f445b93
BLAKE2b-256 04d8e9ed9e5a33407f9d2cee44609b72a8206c6c019ed0098d0ac62871697d14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8-py3.2-win-amd64.egg
Algorithm Hash digest
SHA256 2097dc5905323a330a3a618498581cdc7b17e45a3836f1e90ec68af4ad4902c7
MD5 c6b1ddbc14d1b2f2cf3118a4ad1e8286
BLAKE2b-256 75daccb268791ef1039b6609a617eafb54d8c4c959a0a58351f72e98ee81fb08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8-py3.2-win32.egg
Algorithm Hash digest
SHA256 32b806154d64de6e9db57c6020d010ff6b3c026e1c4560478c29c44575e19e56
MD5 52181eda41f25856a9a30c4341e90c96
BLAKE2b-256 c2e24789057b822f4e8c369592954c6263400191e2eeacc4817f39ef6c3921fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8-py2.7-win-amd64.egg
Algorithm Hash digest
SHA256 797044afce71efc0e877f8bff66fdf1b474be7ecea40e592bf547560ae1c3d37
MD5 c99b184d32c78030ba2e6c8d1f885c74
BLAKE2b-256 6b6d9578302fac4dbb5545d47749f1df86d16388346ae531a426d66023d9dee5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8-py2.7-win32.egg
Algorithm Hash digest
SHA256 6ffa8da55bdf4364dbd82b3c582cfb60f684c76a90579b6bdd53b1f73cdefdad
MD5 f4d54b45003a5123107978fd3d117ad5
BLAKE2b-256 3f046a92d9a03c3b288f522c3381022a14425c34dde87449859d2c11e8a934f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8-py2.6-win-amd64.egg
Algorithm Hash digest
SHA256 2823527de23a7012242a6d18ba32df7814fb2648962c3c4d5d495e9f6463dc93
MD5 902a1fd8fd8fa4f6c73f99715a0db112
BLAKE2b-256 f434113e300f10f2cd60b03d2779b2179890a81cf666e369a272a170ed56930e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for persistent-4.0.8-py2.6-win32.egg
Algorithm Hash digest
SHA256 476e269af0aeb97091575a91d98acda175e4e88d1e8376f92bf468185d08306f
MD5 f0812bd2c7b945923405791b01a937f1
BLAKE2b-256 401fc7b02cbfba899036f37d19fdf8ce78d7740a1faeae02cb7ff0579032d4fa

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