Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A WeakSet class for storing objects using weak references.

Project Description

Python 2.7 & 3.1 include a WeakSet class, a collection for storing objects using weak references (see the Python weakref module).

This project is a backport of the weakrefset module, and tests, for Python 2.5 and 2.6. The tests require the unittest2 package.

You can install it with: pip install weakrefset

Usage is straightforward. You don’t need to deal with weak references themselves, the WeakSet manages the references and you can add / remove / iterate over your objects directly:

>>> from weakrefset import WeakSet
>>> class Foo(object): pass
...
>>> f1 = Foo()
>>> f2 = Foo()
>>> refs = WeakSet([f1, f2])
>>> f3 = Foo()
>>> refs.add(f3)
>>> refs.remove(f1)
>>> del f2
>>> f3 in refs
True
>>> for f in refs:
...  print f
...
<__main__.Foo object at 0x40e410>

To be compatible with Python 2.5, 2.6 and future versions of Python you can import it like this:

try:
    # location in Python 2.7 and 3.1
    from weakref import WeakSet
except ImportError:
    # separately installed
    from weakrefset import WeakSet
Release History

Release History

This version
History Node

1.0.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
weakrefset-1.0.0.tar.gz (2.8 kB) Copy SHA256 Checksum SHA256 Source Mar 30, 2010

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting