schrodinger.models.diffy module¶
Need a diff in a jiffy? Use diffy!
- schrodinger.models.diffy.get_diff(new_state, old_state)¶
- schrodinger.models.diffy.get_diff(new_state: list, old_state)
- schrodinger.models.diffy.get_diff(new_state: set, old_state)
- schrodinger.models.diffy.get_diff(new_state: dict, old_state)
Given two states of an object, calculate what changed between them.
- schrodinger.models.diffy.get_removed(new_state, old_state)¶
- schrodinger.models.diffy.get_removed(new_state: set, old_state)
- schrodinger.models.diffy.get_removed(new_state: list, old_state)
- schrodinger.models.diffy.get_removed(new_state: dict, old_state)
- schrodinger.models.diffy.get_added(new_state, old_state)¶
- schrodinger.models.diffy.get_added(new_state: list, old_state)
- schrodinger.models.diffy.get_added(new_state: set, old_state)
- schrodinger.models.diffy.get_added(new_state: dict, old_state)
- schrodinger.models.diffy.get_updated(new_state, old_state)¶
- schrodinger.models.diffy.get_updated(new_state: dict, old_state)
- schrodinger.models.diffy.get_moved(new_state, old_state)¶
- schrodinger.models.diffy.get_moved(new_state: list, old_state)
- class schrodinger.models.diffy.ListDiff(added, removed, moved)¶
Bases:
tuple
- added¶
Alias for field number 0
- moved¶
Alias for field number 2
- removed¶
Alias for field number 1
- schrodinger.models.diffy.get_diff_list(new_state, old_state)¶
Calculate what was added, removed, and moved between two states of a list.
Note that items are compared by identity not equality (ie
is
rather than==
).- Returns
A namedtuple describing what was added, removed, and moved between two lists. See
get_added
,get_removed
, andget_moved
more details.- Return type
ListDiff(set, set, set)
- class schrodinger.models.diffy.SetDiff(added, removed)¶
Bases:
tuple
- added¶
Alias for field number 0
- removed¶
Alias for field number 1
- schrodinger.models.diffy.get_diff_set(new_state, old_state)¶
Calculate what was added and removed between two states of a set.
- Returns
A namedtuple describing what was added and removed.
- Return type
SetDiff(set, set)
- schrodinger.models.diffy.get_removed_set(new_state, old_state)¶
Calculate what was removed between two states of a set.
- Return type
set
- schrodinger.models.diffy.get_removed_list(new_state, old_state)¶
- Returns
A set of tuples, each describing an item that was removed and and its index in
old_state
- Return type
set((object, int))
- schrodinger.models.diffy.get_added_list(new_state, old_state)¶
- Returns
A set of tuples, each describing an item that was added and and its index in
new_state
.- Return type
set((object, int))
- schrodinger.models.diffy.get_added_set(new_state, old_state)¶
Calculate what was removed between two states of a set.
- Return type
set
- class schrodinger.models.diffy.DictDiff(added, removed, updated)¶
Bases:
tuple
- added¶
Alias for field number 0
- removed¶
Alias for field number 1
- updated¶
Alias for field number 2
- schrodinger.models.diffy.get_diff_dict(new_state, old_state)¶
Return dictionary items that have been added, removed, and updated.
- Returns
A namedtuple describing what was added, removed, and moved between two dicts. See
get_added
,get_removed
, andget_updated
more details.- Return type
DictDiff(dict, dict, dict)
- schrodinger.models.diffy.get_added_dict(new_state, old_state)¶
- Returns
A dictionary with items in
new_state
but not inold_state
.
- schrodinger.models.diffy.get_removed_dict(new_state, old_state)¶
- Returns
A dictionary with items in
old_state
but not innew_state
.
- schrodinger.models.diffy.get_updated_dict(new_state, old_state)¶
- Returns
A dictionary with values that have changed from
old_state
tonew_state
. The values in the returned dictionary will be those fromnew_state
.
- schrodinger.models.diffy.get_moved_list(new_state, old_state)¶
- Returns
A set of tuples, each describing an item that was moved and and its index in
new_state
- Return type
set((object, int))