Package: zope.container
zope.containerThis package define interfaces of container components, and provides
container implementations such as a BTreeContainer and
OrderedContainer, as well as the base class used byzope.site.folderfor the Folder implementation.Documentation is hosted athttps://zopecontainer.readthedocs.ioChanges5.2 (2023-10-05)Add support for Python 3.12.5.1 (2023-04-24)Drop usingsetup_requiresdue to constant problems on GHA.Add preliminary support for Python 3.12a7.5.0 (2023-01-24)Build Linux binary wheels for Python 3.11.Drop support for Python 2.7, 3.5, 3.6.4.10 (2022-11-17)Release to rebuild a full set of binary wheels.4.9 (2022-11-16)Add support for building arm64 wheels on macOS.4.8 (2022-11-06)Add support for final Python 3.11 release.4.7 (2022-09-15)Disable unsafe math optimizations in C code.  Seepull request 46.4.6 (2022-07-14)Add support for Python 3.11 (as of 3.11.0b3).4.5.0 (2021-11-19)Add support for Python 3.9 and 3.10.4.4.0 (2020-04-02)Support thePURE_PYTHONenvironment variable at runtime instead
of just at wheel build time. A value of 0 forces the C extensions to
be used failing if they aren’t present. Any other value forces the
Python implementation to be used, ignoring the C extensions.Drop support for the deprecatedpython setup.py testcommand.Ensure all objects have consistent interface resolution orders. This
may slightly change the order of interfaces forContainedProxyobjects. Seeissue 34.Stop including outdated versions ofzope.proxy(implementation)
andpersistentheaders. Instead, locate and use the installed
versions. Seeissue 32.NoteThis adds those two dependencies tosetup_requires.4.3.0 (2019-11-11)Add support for Python 3.8.Drop support for Python 3.4.4.2.2 (2018-08-10)Add a dependency onzope.cachedescriptors, previously removed in
3.11.zope.cachedescriptorsis a lightweight package, and the
copied code had diverged from the source. Seehttps://github.com/zopefoundation/zope.container/issues/16Fix the possibility of a rare crash in the C extension when deallocating items. Seehttps://github.com/zopefoundation/zope.container/issues/24Add support for Python 3.7.4.2.1 (2017-08-02)MakeOrderedContainer.updateOrdernormalize and store text keys
the same way that__setitem__does. Fixeshttps://github.com/zopefoundation/zope.container/issues/214.2.0 (2017-07-31)Add support for Python 3.5 and 3.6.Drop support for Python 2.6 and 3.3.MakeOrderedContainerproperly 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. Fixeshttps://github.com/zopefoundation/zope.container/issues/17FixOrderedContainerbecoming inconsistent if an event
subscriber threw an exception when adding an item. Seehttps://github.com/zopefoundation/zope.container/issues/18Attain 100% test coverage. Seehttps://github.com/zopefoundation/zope.container/issues/15Make the defaultNameChooseralways decode bytes using ASCII instead of
whatever the current system codec happens to be.Make the defaultNameChooserstop catchingKeyboardInterruptand otherBaseExceptiontypes when it potentially calls
user-defined code to convert a name to a text string. Instead, just
catchException.Respect thePURE_PYTHONenvironment 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. Seehttps://github.com/zopefoundation/zope.container/issues/134.1.0 (2015-05-22)Makezope.container._proxy.PyContainedProxyBaseinherit
directly fromzope.proxy.AbstractProxyBaseas well aspersistent.Persistent, removing a bunch of redundant code, and
fixing bugs in interaction with pure-Python persistence. See:https://github.com/zopefoundation/zope.container/pull/4Add direct dependencies onzope.proxyandpersistentsince 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)RestoreFolderpickle forward/backward compatibility with
version 3.12.0 after making it inherit fromBTreeContainer.4.0.0a2 (2013-02-21)Allow testing without checkouts of unreleasedzope.publisherandZODB.Add Python 3 Trove classifiers.4.0.0a1 (2013-02-20)Add support for Python 3.3.MakeFolderclass inherit fromBTreeContainerclass, so that the
IContainer interface does not need to be re-implemented. Added adataattribute for BBB.Replace deprecatedzope.component.adaptsusage with equivalentzope.component.adapterdecorator.Replace deprecatedzope.interface.implementsusage with equivalentzope.interface.implementerdecorator.Drop support for Python 2.4 and 2.5.SendIContainerModifiedEventafterthe container is modified
(LP#705600).Preserve the original exception traceback inOrderedContainer.__setitem__.Handle Broken Objects more gracefullyFix 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.Addzcmlextra dependencies.3.11.1 (2010-04-30)Prefer the standard libraries doctest module to the one fromzope.testing.Add compatibility with ZODB3 3.10 by importing theIBrokeninterface
from it directly. Once we can rely on the new ZODB3 version exclusively,
we can remove the dependency onto thezope.brokendistribution.Never fail if the suggested name is in a wrong type (#227617)checkNamefirst checks the parameter type before the emptiness.3.11.0 (2009-12-31)Copy two trivial classes fromzope.cachedescriptorsinto 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)Movezope.copypastemoverelated tests into that package.Remove no longer used zcml prefix from the configure file.Stop importing DocTestSuite fromzope.testing.doctestunit. Fixes
compatibility problems withzope.testing3.8.4.3.10.0 (2009-12-15)Break testing dependency onzope.app.testing.Break testing dependency onzope.app.dependableby moving the code and
tests into that package.ImportISitefromzope.componentafter it was moved there fromzope.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)MoveIXMLRPCPublisherZCML registrations for containers fromzope.app.publisher.xmlrpctozope.containerfor now.3.8.2 (2009-05-17)Rid ourselves ofIContainedinterface.  This interface was moved
tozope.location.interfaces.  A b/w compat import still exists
to keep old code running.  Depend onzope.location>=3.5.4.Rid ourselves of the implementations ofIObjectMovedEvent,IObjectAddedEvent,IObjectRemovedEventinterfaces andObjectMovedEvent,ObjectAddedEventandObjectRemovedEventclasses.  B/w compat imports still exist.
All of these were moved tozope.lifecycleevent. Depend onzope.lifecycleevent>=3.5.2.Fix a bug inOrderedContainerwhere 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 onzope.traversingby disusingzope.traversing.api.getPathin favor of usingILocationInfo(object).getPath().  The rest of the runtime
dependencies onzope.traversingare currently interface
dependencies.Break runtime dependency onzope.app.dependableby using a zcml
condition on the subscriber ZCML directive that registers theCheckDependencyhandler forIObjectRemovedEvent.  Ifzope.app.dependableis not installed, this subscriber will never
be registered.zope.app.dependableis now a testing dependency
only.3.8.1 (2009-04-03)Fix misspackaged 3.8.03.8.0 (2009-04-03)Changeconfigure.zcmlto not depend onzope.app.component.
Fixes:https://bugs.launchpad.net/bugs/348329Move the declaration ofIOrderedContainer.updateOrderto a new, basicIOrderedinterface and letIOrderedContainerinherit it. This allows
easier reuse of the declaration.3.7.2 (2009-03-12)Fix: added missingComponentLookupError, missing since revision 95429
and missing in last release.Adapt to the move of IDefaultViewName fromzope.component.interfacestozope.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 thezope.container.interfaces.IReservedNamesinterface.
The defaultNameChooseris now also aware of reserved names.3.7.1 (2009-02-05)Raise more “Pythonic” errors from__setitem__, losing the dependency
onzope.exceptions:ozope.exceptions.DuplicationError->KeyErrorozope.exceptions.UserError->ValueErrorMove import ofIBrokeninterface to use newzope.brokenpackage, which has no dependencies beyondzope.interface.Maketestpart pull in the extra test requirements of this package.Split thez3c.recipe.compattestconfiguration out into a new file,compat.cfg, to reduce the burden of doing standard unit tests.Strip out bogus develop eggs frombuildout.cfg.3.7.0 (2009-01-31)Split this package offzope.app.container. This package is
intended to have far less dependencies thanzope.app.container.This package also contains the container implementation that
used to be inzope.app.folder.