traits.trait_set_object Module

Classes

class traits.trait_set_object.TraitSetEvent(*, removed=None, added=None)[source]

An object reporting in-place changes to a traits sets.

Parameters
  • removed (set, optional) – Old values that were removed from the set.

  • added (set, optional) – New values added to the set.

removed

Old values that were removed from the set.

Type

set

added

New values added to the set.

Type

set

class traits.trait_set_object.TraitSet(*args, **kwargs)[source]

A subclass of set that validates and notifies listeners of changes.

Parameters
  • value (iterable, optional) – Iterable providing the items for the set.

  • item_validator (callable, optional) – Called to validate and/or transform items added to the set. The callable should accept a single item and return the transformed item, raising TraitError for invalid items. If not given, no item validation is performed.

  • notifiers (list of callable, optional) –

    A list of callables with the signature:

    notifier(trait_set, removed, added)
    

    Where ‘added’ is a set containing new values that have been added. And ‘removed’ is a set containing old values that have been removed.

    If this argument is not given, the list of notifiers is initially empty.

item_validator

Called to validate and/or transform items added to the set. The callable should accept a single item and return the transformed item, raising TraitError for invalid items.

Type

callable

notifiers

A list of callables with the signature:

notifier(trait_set, removed, added)

where ‘added’ is a set containing new values that have been added and ‘removed’ is a set containing old values that have been removed.

Type

list of callable

notify(removed, added)[source]

Call all notifiers.

This simply calls all notifiers provided by the class, if any. The notifiers are expected to have the signature:

notifier(trait_set, removed, added)

Any return values are ignored. Any exceptions raised are not handled. Notifiers are therefore expected not to raise any exceptions under normal use.

Parameters
  • removed (set) – The items that have been removed.

  • added (set) – The new items that have been added to the set.

add(value)[source]

Add an element to a set.

This has no effect if the element is already present.

Parameters

value (any) – The value to add to the set.

clear()[source]

Remove all elements from this set.

discard(value)[source]

Remove an element from the set if it is a member.

If the element is not a member, do nothing.

Parameters

value (any) – An item in the set

difference_update(*args)[source]

Remove all elements of another set from this set.

Parameters

args (iterables) – The other iterables.

intersection_update(*args)[source]

Update the set with the intersection of itself and another set.

Parameters

args (iterables) – The other iterables.

pop()[source]

Remove and return an arbitrary set element.

Raises KeyError if the set is empty.

Returns

item – An element from the set.

Return type

any

Raises

KeyError – If the set is empty.

remove(value)[source]

Remove an element that is a member of the set.

If the element is not a member, raise a KeyError.

Parameters

value (any) – An element in the set

Raises

KeyError – If the value is not found in the set.

symmetric_difference_update(value)[source]

Update the set with the symmetric difference of itself and another.

Parameters

value (iterable) –

update(*args)[source]

Update the set with the union of itself and others.

Parameters

args (iterables) – The other iterables.

class traits.trait_set_object.TraitSetObject(*args, **kwargs)[source]

A specialization of TraitSet with a default validator and notifier for compatibility with Traits versions before 6.0.

Parameters
  • trait (CTrait) – The trait that the set has been assigned to.

  • object (HasTraits) – The object this set belongs to. Can also be None in cases where the set has been disconnected from its HasTraits parent.

  • name (str) – The name of the trait on the object.

  • value (iterable) – The initial value of the set.

trait

The trait that the set has been assigned to.

Type

CTrait

object

A callable that when called with no arguments returns the HasTraits object that this set belongs to, or None if there is no such object.

Type

callable

name

The name of the trait on the object.

Type

str

value

The initial value of the set.

Type

iterable

notifier(trait_set, removed, added)[source]

Converts and consolidates the parameters to a TraitSetEvent and then fires the event.

Parameters
  • trait_set (set) – The complete set

  • removed (set) – Set of values that were removed.

  • added (set) – Set of values that were added.