iter_concrete_archive_tree_subclasses#

lsst.images.tests.iter_concrete_archive_tree_subclasses() Iterator[type[ArchiveTree]]#

Yield every importable concrete serialization.ArchiveTree subclass.

Walks the ArchiveTree.__subclasses__() tree, skipping abstract classes. Importing this module already imports every lsst.images module that defines a subclass, so the tree is fully populated by the time this is called.

This discovery is deliberately separate from check_archive_tree_class_invariants so that the per-class check stays usable on a single class even if this metaprogramming is removed later.