Persistent Collections

The persistent package provides two simple collections that are persistent and keep track of when they are mutated in place.

class persistent.mapping.PersistentMapping(*args, **kwargs)[source]

Bases: UserDict.IterableUserDict, persistent.Persistent

A persistent wrapper for mapping objects.

This class allows wrapping of mapping objects so that object changes are registered. As a side effect, mapping objects may be subclassed.

A subclass of PersistentMapping or any code that adds new attributes should not create an attribute named _container. This is reserved for backwards compatibility reasons.

class persistent.list.PersistentList(initlist=None)[source]

Bases: UserList.UserList, persistent.Persistent

A persistent wrapper for list objects.

Mutating instances of this class will cause them to be marked as changed and automatically persisted.