Source code for xpmir.misc

from abc import ABC, abstractmethod
from functools import cached_property
from typing import List
from pathlib import Path
from experimaestro import Config, Meta


[docs]class IDList(Config, ABC): """A configuration that returns a list of ids""" @property @abstractmethod def ids(self) -> List[str]: """Returns the list of IDs""" ...
[docs]class FileIDList(IDList): """A file-based list of IDs""" path: Meta[Path] @cached_property def ids(self) -> List[str]: return list(self.path.read_text().split("\n"))