Skip to content

v1.3.3

Compare
Choose a tag to compare
@cmungall cmungall released this 14 Oct 01:22
· 424 commits to main since this release
5c87a05

Highlights

Given a tree-root/container object, this will create an index,
and allow for retrieval of proxy objects that shadow domain
YAMLRoot classes. These operate in the same way, except that
object references are automatically dereferenced.

For example, given a container object following the standard
personinfo schema, an index can be created and queried:

    >>> ix = ObjectIndex(container, schemaview=schemaview)
    >>> container = ix.bless(container)
    >>> for p in container.persons:
    >>>    for r in p.has_familial_relationships():
    >>>        print(f"{p.name} {p.type} {r.related_to.name}")

Note this will work even if related_to is not inlined.

This means naive traversal of the object tree is not guaranteed
to be bounded, unlike with a YAMLRoot object. E.g.

    >>> person.has_familial_relationships[0].
    >>>    related_to.has_familial_relationships[0].
    >>>    related_to.has_familial_relationships[0].name

In the above, the same proxy object is reused for any
object with an identifier.

What's Changed

New Contributors

Full Changelog: v1.3.2...v1.3.3