Skip to main content

Reduced-conflict Integer Id Utility

Project description

This package provides an API to create integer ids for any object. Objects can later be looked up by their id as well. This functionality is commonly used in situations where dealing with objects is undesirable, such as in search indices or any code that needs an easy hash of an object.

This is similar to the zope.intid package, but with two distinct advantages:

  • Induces fewer conflict errors, since object ids are not used as part of the stored data. The id for an object is stored in an attribute of the object itself, with the attribute name being configured by the construction of the id utility.

    This does require that the object “play nice” with this approach. At a minimum, the attributes used to store ids on objects should

    • persist with the rest of the object’s state, and

    • not be modified by the object.

  • Fewer dependencies.

Events generated on the assignment and removal of ids are generated by the register and unregister methods rather than by the callers of those methods.

Changes

1.0.1 (2011-06-27)

  • Make the behavior of the utility’s getId method consistent with zope.intid in regard to its handling of proxied objects.

1.0.0 (2011-02-21)

  • Initial release.

Project details


Download files

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

Source Distribution

zc.intid-1.0.1.tar.gz (8.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page