def test_optional_wrong_version(): with pytest.raises(ImportError): import_optional_dependency("skimage", min_version="999") with pytest.warns(UserWarning, match="MorphoCut requires version.+"): import_optional_dependency("skimage", min_version="999", on_version="warn")
def __init__(self, path: RawOrVariable[str], **kwargs): super().__init__() self.path = path self.kwargs = kwargs import_optional_dependency("av") self._pims = import_optional_dependency("pims")
def __init__(self, description: Optional[RawOrVariable[str]] = None, monitor_interval=None): super().__init__() self._tqdm = import_optional_dependency("tqdm") self.description = description self.monitor_interval = monitor_interval
def __init__( self, archive_fn: str, fnames_images: MaybeList[RawOrVariable[Tuple[str, ...]]], meta: RawOrVariable[Mapping], meta_fn: str = "ecotaxa_export.tsv", store_types: bool = True, ): super().__init__() self.archive_fn = archive_fn if isinstance(fnames_images, tuple): fnames_images = [fnames_images] if not isinstance(fnames_images, list): raise ValueError( "Unexpected type for fnames_images: needs to be a tuple or a list of tuples" ) self.fnames_images = fnames_images self.meta = meta self.meta_fn = meta_fn self.store_types = store_types self._pd = import_optional_dependency("pandas")
def __init__( self, path: RawOrVariable[str], meta: RawOrVariable[bool], series: Optional[RawOrVariable[int]] = None, **kwargs, ): super().__init__() self.path = path self.meta = meta self.series = series self.kwargs = kwargs import_optional_dependency("jpype") self._pims = import_optional_dependency("pims")
def __init__( self, archive_fn: RawOrVariable[str], img_rank: MaybeTuple[RawOrVariable[int]] = 1, ): super().__init__() self.archive_fn = archive_fn self.img_rank = img_rank self._pd = import_optional_dependency("pandas")
def __init__( self, path_or_buf, data: RawOrVariable[Mapping], columns: Optional[Collection] = None, drop_duplicates_subset: Optional[Collection] = None, writer=_default_writer, ): super().__init__() self.path_or_buf = path_or_buf self.data = data self.columns = columns self.drop_duplicates_subset = drop_duplicates_subset self.dataframe = [] # type: List[Mapping] self.writer = writer self._pd = import_optional_dependency("pandas")
def __init__(self, model: Callable, image: RawOrVariable): super().__init__() self.model = model self.image = image self._torch = import_optional_dependency( "torch", "Visit https://pytorch.org/ for instructions.", "1.2") import torch.utils.data self._torch_utils_data = torch.utils.data class _StreamDataset(torch.utils.data.IterableDataset): def __init__(self, node, stream): self.node = node self.stream = stream def __iter__(self): with closing_if_closable(self.stream) as stream: for obj in stream: yield (self.node.prepare_input(obj, ("image", )), _Envelope(obj)) self._StreamDataset = _StreamDataset
def __init__( self, fmt: RawOrVariable[str], string: RawOrVariable, case_sensitive: bool = False, ): super().__init__() self.fmt = fmt self.string = string self.case_sensitive = case_sensitive self._parse = import_optional_dependency("parse") @self._parse.with_pattern(".*") def parse_greedystar(text): return text self._extra_types = {"greedy": parse_greedystar} if not isinstance(fmt, Variable): self._parser = self._compile(fmt) else: self._parser = None
def __init__(self, filename: str, data: RawOrVariable[Mapping] = None, on=None, fields: Sequence = None): super().__init__() self.data = data self.on = on pd = import_optional_dependency("pandas") ext = os.path.splitext(filename)[1] if ext in (".xls", ".xlsx"): dataframe = pd.read_excel(filename, usecols=fields) else: with open('example.csv', newline='') as csvfile: dialect = csv.Sniffer().sniff(csvfile.read(1024)) dataframe = pd.read_csv(filename, dialect=dialect, usecols=fields) dataframe.set_index(self.on, inplace=True, verify_integrity=True) self.dataframe = dataframe
def test_optional_hit(): import_optional_dependency("morphocut") import_optional_dependency("skimage", min_version="0.16")
def test_optional_miss(): with pytest.raises(ImportError): import_optional_dependency("foo_bar_baz") assert import_optional_dependency("foo_bar_baz", raise_on_missing=False) == None