traits.trait_dict_object Module

Classes

class traits.trait_dict_object.TraitDictEvent(*, removed=None, added=None, changed=None)[source]

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

Parameters
  • removed (dict, optional) – Old keys and values that were just removed.

  • added (dict, optional) – New keys and values that were just added.

  • changed (dict, optional) – Updated keys and their previous values.

removed

Old keys and values that were just removed.

Type

dict

added

New keys and values that were just added.

Type

dict

changed

Updated keys and their previous values.

Type

dict

class traits.trait_dict_object.TraitDict(value=None, *, key_validator=None, value_validator=None, notifiers=None)[source]

A subclass of dict that validates keys and values and notifies listeners of any change.

Parameters
  • value (dict or iterable, optional) – The initial dict or an iterable containing key-value pairs.

  • key_validator (callable, optional) – Called to validate a key in the dict. The callable must accept a single key and return a validated key or raise a TraitError If not provided, all keys are considered valid.

  • value_validator (callable, optional) – Called to validate a value in the dict. The callable must accept a single value and return a validated value or raise a TraitError If not provided, all values are considered valid.

  • notifiers (list, optional) –

    A list of callables with the signature:

    notifier(trait_dict, removed, added, changed)
    

    Where: ‘removed’ is a dict of key-values that are no longer in the dictionary. ‘added’ is a dict of new key-values that have been added. ‘changed’ is a dict with old values previously associated with the key.

key_validator

Called to validate a key in the dict. The callable must accept a single key and return a validated key or raise a TraitError

Type

callable

value_validator

Called to validate a value in the dict. The callable must accept a single value and return a validated value or raise a TraitError

Type

callable

notifiers

A list of callables with the signature:

notifier(trait_dict, removed, added, changed)

Where: ‘removed’ is a dict of key-values that are no longer in the dictionary. ‘added’ is a dict of new key-values that have been added. ‘changed’ is a dict with old values previously associated with the key.

Type

list

notify(removed, added, changed)[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_dict, removed, added, changed)

Any return values are ignored.

clear()[source]

Remove all items from the dict.

update(other)[source]

Update the values in the dict by the new dict or an iterable of key-value pairs.

Parameters

other (dict or iterable) – The dict from which values will be updated into this dict.

setdefault(key, value=None)[source]

Returns the value if key is present in the dict, else creates the key-value pair and returns the value.

Parameters

key (A hashable object.) – Key to the item.

pop(key, value=<undefined>)[source]

Remove specified key and return the corresponding value. If key is not found, the default value is returned if given, otherwise KeyError is raised.

Parameters
  • key (A hashable object.) – Key to the dict item.

  • value (any) – Value to return if key is absent.

popitem()[source]

Remove and return some (key, value) pair as a tuple. Raise KeyError if dict is empty.

Returns

key_value – Some 2-tuple from the dict.

Return type

tuple

Raises

KeyError – If the dict is empty

class traits.trait_dict_object.TraitDictObject(trait, object, name, value)[source]

A subclass of TraitDict that fires trait events when mutated. This is for backward compatibility with Traits 6.0 and lower.

This is used by the Dict trait type, and all values set into a Dict trait will be copied into a new TraitDictObject instance.

Mutation of the TraitDictObject will fire a “name_items” event with appropriate added, changed and removed values.

Parameters
  • trait (CTrait instance) – The CTrait instance associated with the attribute that this dict has been set to.

  • object (HasTraits instance) – The HasTraits instance that the dict has been set as an attribute for.

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

  • value (dict) – The dict of values to initialize the TraitDictObject with.

trait

The CTrait instance associated with the attribute that this dict has been set to.

Type

CTrait instance

object

A weak reference to a HasTraits instance that the dict has been set as an attribute for.

Type

weak reference to a HasTraits instance

name

The name of the attribute on the object.

Type

str

name_items

The name of the items event trait that the trait dict will fire when mutated.

Type

str

notifier(trait_dict, removed, added, changed)[source]

Fire the TraitDictEvent with the provided parameters.

Parameters
  • trait_dict (dict) – The complete dictionary.

  • removed (dict) – Dict of removed items.

  • added (dict) – Dict of added items.

  • changed (dict) – Dict of changed items.