Skip to main content

Zope Container

Project description

zope.container

Latest release Supported Python versions https://travis-ci.org/zopefoundation/zope.container.png?branch=master Documentation Status https://coveralls.io/repos/github/zopefoundation/zope.container/badge.svg?branch=master

This package define interfaces of container components, and provides container implementations such as a BTreeContainer and OrderedContainer, as well as the base class used by zope.site.folder for the Folder implementation.

Documentation is hosted at https://zopecontainer.readthedocs.io

Changes

4.2.1 (2017-08-02)

4.2.0 (2017-07-31)

  • Add support for Python 3.5 and 3.6.

  • Drop support for Python 2.6 and 3.3.

  • Make OrderedContainer properly store the decoded text keys for maintaining order instead of the raw bytes. Also make it able to accept raw bytes under Python 3 in the first place. Fixes https://github.com/zopefoundation/zope.container/issues/17

  • Fix OrderedContainer becoming inconsistent if an event subscriber threw an exception when adding an item. See https://github.com/zopefoundation/zope.container/issues/18

  • Attain 100% test coverage. See https://github.com/zopefoundation/zope.container/issues/15

  • Make the default NameChooser always decode bytes using ASCII instead of whatever the current system codec happens to be.

  • Make the default NameChooser stop catching KeyboardInterrupt and other BaseException types when it potentially calls user-defined code to convert a name to a text string. Instead, just catch Exception.

  • Respect the PURE_PYTHON environment variable at runtime in addition to build time. This makes it possible to use the pure-Python implementation of the container proxy on CPython for ease of debugging. See https://github.com/zopefoundation/zope.container/issues/13

4.1.0 (2015-05-22)

  • Make zope.container._proxy.PytContainedProxyBase inherit directly from zope.proxy.AbstractProxyBase as well as persistent.Persistent, removing a bunch of redundant code, and fixing bugs in interaction with pure-Python persistence. See: https://github.com/zopefoundation/zope.container/pull/4

  • Add direct dependencies on zope.proxy and persistent since we import from them; pin them to the versions needed for pure-Python.

  • Drop deprecated BBB imports module, zope.container.dependency.

4.0.0 (2014-03-19)

  • Add support for Python 3.4.

  • Add support for PyPy.

4.0.0a3 (2013-02-28)

  • Restore Folder pickle forward/backward compatibility with version 3.12.0 after making it inherit from BTreeContainer.

4.0.0a2 (2013-02-21)

  • Allow testing without checkouts of unreleased zope.publisher and ZODB.

  • Add Python 3 Trove classifiers.

4.0.0a1 (2013-02-20)

  • Add support for Python 3.3.

  • Make Folder class inherit from BTreeContainer class, so that the IContainer interface does not need to be re-implemented. Added a data attribute for BBB.

  • Replace deprecated zope.component.adapts usage with equivalent zope.component.adapter decorator.

  • Replace deprecated zope.interface.implements usage with equivalent zope.interface.implementer decorator.

  • Drop support for Python 2.4 and 2.5.

  • Send IContainerModifiedEvent after the container is modified (LP#705600).

  • Preserve the original exception traceback in OrderedContainer.__setitem__.

  • Handle Broken Objects more gracefully

  • Fix a bug that made it impossible to store None values in containers (LP#1070719).

3.12.0 (2010-12-14)

  • Fix detection of moving folders into itself or a subfolder of itself. (LP#118088)

  • Fix ZCML-related tests and dependencies.

  • Add zcml extra dependencies.

3.11.1 (2010-04-30)

  • Prefer the standard libraries doctest module to the one from zope.testing.

  • Add compatibility with ZODB3 3.10 by importing the IBroken interface from it directly. Once we can rely on the new ZODB3 version exclusively, we can remove the dependency onto the zope.broken distribution.

  • Never fail if the suggested name is in a wrong type (#227617)

  • checkName first checks the parameter type before the emptiness.

3.11.0 (2009-12-31)

  • Copy two trivial classes from zope.cachedescriptors into this package, which allows us to remove that dependency. We didn’t actually use any caching properties as the dependency suggested.

3.10.1 (2009-12-29)

  • Move zope.copypastemove related tests into that package.

  • Remove no longer used zcml prefix from the configure file.

  • Stop importing DocTestSuite from zope.testing.doctestunit. Fixes compatibility problems with zope.testing 3.8.4.

3.10.0 (2009-12-15)

  • Break testing dependency on zope.app.testing.

  • Break testing dependency on zope.app.dependable by moving the code and tests into that package.

  • Import ISite from zope.component after it was moved there from zope.location.

3.9.1 (2009-10-18)

  • Rerelease 3.9.0 as it had a broken Windows 2.6 egg.

  • Mark this project as part of the ZTK.

3.9.0 (2009-08-28)

  • Previous releases should be versioned 3.9.0 as they are not pure bugfix releases and worth a “feature” release, increasing feature version.

    Packages that depend on any changes introduced in version 3.8.2 or 3.8.3 should depend on version 3.9 or greater.

3.8.3 (2009-08-27)

  • Move IXMLRPCPublisher ZCML registrations for containers from zope.app.publisher.xmlrpc to zope.container for now.

3.8.2 (2009-05-17)

  • Rid ourselves of IContained interface. This interface was moved to zope.location.interfaces. A b/w compat import still exists to keep old code running. Depend on zope.location>=3.5.4.

  • Rid ourselves of the implementations of IObjectMovedEvent, IObjectAddedEvent, IObjectRemovedEvent interfaces and ObjectMovedEvent, ObjectAddedEvent and ObjectRemovedEvent classes. B/w compat imports still exist. All of these were moved to zope.lifecycleevent. Depend on zope.lifecycleevent>=3.5.2.

  • Fix a bug in OrderedContainer where trying to set the value for a key that already exists (duplication error) would actually delete the key from the order, leaving a dangling reference.

  • Partially break dependency on zope.traversing by disusing zope.traversing.api.getPath in favor of using ILocationInfo(object).getPath(). The rest of the runtime dependencies on zope.traversing are currently interface dependencies.

  • Break runtime dependency on zope.app.dependable by using a zcml condition on the subscriber ZCML directive that registers the CheckDependency handler for IObjectRemovedEvent. If zope.app.dependable is not installed, this subscriber will never be registered. zope.app.dependable is now a testing dependency only.

3.8.1 (2009-04-03)

  • Fix misspackaged 3.8.0

3.8.0 (2009-04-03)

  • Change configure.zcml to not depend on zope.app.component. Fixes: https://bugs.launchpad.net/bugs/348329

  • Move the declaration of IOrderedContainer.updateOrder to a new, basic IOrdered interface and let IOrderedContainer inherit it. This allows easier reuse of the declaration.

3.7.2 (2009-03-12)

  • Fix: added missing ComponentLookupError, missing since revision 95429 and missing in last release.

  • Adapt to the move of IDefaultViewName from zope.component.interfaces to zope.publisher.interfaces.

  • Add support for reserved names for containers. To specify reserved names for some container, you need to provide an adapter from the container to the zope.container.interfaces.IReservedNames interface. The default NameChooser is now also aware of reserved names.

3.7.1 (2009-02-05)

  • Raise more “Pythonic” errors from __setitem__, losing the dependency on zope.exceptions:

    o zope.exceptions.DuplicationError -> KeyError

    o zope.exceptions.UserError -> ValueError

  • Move import of IBroken interface to use new zope.broken package, which has no dependencies beyond zope.interface.

  • Make test part pull in the extra test requirements of this package.

  • Split the z3c.recipe.compattest configuration out into a new file, compat.cfg, to reduce the burden of doing standard unit tests.

  • Strip out bogus develop eggs from buildout.cfg.

3.7.0 (2009-01-31)

  • Split this package off zope.app.container. This package is intended to have far less dependencies than zope.app.container.

  • This package also contains the container implementation that used to be in zope.app.folder.

Download files

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

Source Distribution

zope.container-4.2.1.tar.gz (70.2 kB view details)

Uploaded Source

Built Distributions

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

zope.container-4.2.1-cp36-cp36m-win_amd64.whl (84.6 kB view details)

Uploaded CPython 3.6mWindows x86-64

zope.container-4.2.1-cp36-cp36m-win32.whl (83.4 kB view details)

Uploaded CPython 3.6mWindows x86

zope.container-4.2.1-cp36-cp36m-macosx_10_12_x86_64.whl (84.1 kB view details)

Uploaded CPython 3.6mmacOS 10.12+ x86-64

zope.container-4.2.1-cp35-cp35m-win_amd64.whl (84.6 kB view details)

Uploaded CPython 3.5mWindows x86-64

zope.container-4.2.1-cp35-cp35m-win32.whl (83.4 kB view details)

Uploaded CPython 3.5mWindows x86

zope.container-4.2.1-cp34-cp34m-win_amd64.whl (82.0 kB view details)

Uploaded CPython 3.4mWindows x86-64

zope.container-4.2.1-cp34-cp34m-win32.whl (81.8 kB view details)

Uploaded CPython 3.4mWindows x86

zope.container-4.2.1-cp27-cp27m-win_amd64.whl (82.9 kB view details)

Uploaded CPython 2.7mWindows x86-64

zope.container-4.2.1-cp27-cp27m-win32.whl (82.2 kB view details)

Uploaded CPython 2.7mWindows x86

File details

Details for the file zope.container-4.2.1.tar.gz.

File metadata

File hashes

Hashes for zope.container-4.2.1.tar.gz
Algorithm Hash digest
SHA256 51752cea1a1aa60d2c5e8ea9640d782aa7c5a697dd7ffab129efd1e56344c7eb
MD5 7fd96fda0a66360857dcf4fbcefe4f28
BLAKE2b-256 1a4a10e6e1dbd437fafcf52253ff63636003b1903e46ee9f439868f66d05ce9c

See more details on using hashes here.

File details

Details for the file zope.container-4.2.1-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for zope.container-4.2.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 e027342dfa0b893496f48dafa994b5cc941cfdd7981a6fdd52b41fc06ad8a96d
MD5 98de4709e8082f8cba41a38ab5349167
BLAKE2b-256 8a9572322c31feb84d540b797f9ca6807c226a416c48f01d2203341fec93b97a

See more details on using hashes here.

File details

Details for the file zope.container-4.2.1-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for zope.container-4.2.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 b6878cae2cad324c0fd3d64182421e0ec2d27d792a15372e7ee97d9b5ed89c06
MD5 290683aa4c7a128ebdc32cae73645708
BLAKE2b-256 49bcc141e4f3390eb091559224fc2a94fc79dfd5eaf9181621f9abe4a651ec85

See more details on using hashes here.

File details

Details for the file zope.container-4.2.1-cp36-cp36m-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for zope.container-4.2.1-cp36-cp36m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7457453fee64bad6c96d10b97ab1e1e648f5c6dfba44816a9760324e2d268d06
MD5 706c68ce98da1c9b0ef1297858c5b58f
BLAKE2b-256 cb570f0cd846c178d18d5cb7772d98b825d3e1042b26d50023bc833be61c3f0c

See more details on using hashes here.

File details

Details for the file zope.container-4.2.1-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for zope.container-4.2.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 3734b0e08bf97e54cf2f569cb716ffd1cc85c34ee15da8c2257e460132a2a253
MD5 370c4bfe82ce9def2b003eb534b44112
BLAKE2b-256 4614ef78e4083a202b844d05ada7f94858751067815c0653056a70661ef12042

See more details on using hashes here.

File details

Details for the file zope.container-4.2.1-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for zope.container-4.2.1-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 d6346b1f3ba2856f88723b52e0aab8e9d27bd338f388e953776a40b749394c8f
MD5 a466800ef184bbe8462a0520ed9cb6f3
BLAKE2b-256 5ad6a0375289a052dfa1a212c0df7cc7bda09a96d2b42c966c9e14caf67619b8

See more details on using hashes here.

File details

Details for the file zope.container-4.2.1-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for zope.container-4.2.1-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 1606beacbf2cbed010e0f35e160d2f9c2f8f205c4117a4ba585e50d248a95cd6
MD5 576c4c90f3136be7f6d586fde811e705
BLAKE2b-256 4586f78979074588f8eb7a517ae44b95fc28aae9dcce0924be8bee5aaa40d7e8

See more details on using hashes here.

File details

Details for the file zope.container-4.2.1-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for zope.container-4.2.1-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 97f776c03dd52e01a1d3a3c16f35d3c4d032b384111c1c965e29e9c0c01a2dd5
MD5 a23fa92db6eb4ad28d216dd77575094f
BLAKE2b-256 3e3041a32666946d52745724c12ec5e1054e163371b5d037d846f2d2284e30fb

See more details on using hashes here.

File details

Details for the file zope.container-4.2.1-cp27-cp27m-win_amd64.whl.

File metadata

File hashes

Hashes for zope.container-4.2.1-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 3e7acb95e4d36b4fc2ab451c4f48e405a913b5a8905bc9a61da45c7bcf2000ce
MD5 31e2a49d3d1d8eb6bdcdaa83115fa5cf
BLAKE2b-256 b0e2052e03798570f5c61a081aebaade029517cd736849c39a18815ff8686a8d

See more details on using hashes here.

File details

Details for the file zope.container-4.2.1-cp27-cp27m-win32.whl.

File metadata

File hashes

Hashes for zope.container-4.2.1-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 fccfc245193c2882d581fa8b0719c8883403d125bfc3f0ac0da668828bbca0d6
MD5 bf643933ccc327ebf7a5aa07b1cb91ff
BLAKE2b-256 fa91cdb45073703b7059b1fcb83a01651f9e2efa49c53fa976ef3ea0da9fc714

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