Source code for askemblaex.config

"""
askemblaex/config.py

Runtime configuration helpers.

The set of image extensions recognised by the pipeline can be overridden via
the ``ASKEMBLAEX_IMG_EXTS`` environment variable (comma-separated list,
e.g. ``".png,.jpg,.tiff"``).
"""

from __future__ import annotations

import os


DEFAULT_IMG_EXTS = {
    ".png",
    ".jpg",
    ".jpeg",
    ".tiff",
    ".tif",
}


[docs] def get_img_exts() -> set[str]: """ Return the set of image file extensions the pipeline should process. Reads ``ASKEMBLAEX_IMG_EXTS`` from the environment. If unset, returns :data:`DEFAULT_IMG_EXTS`. Extensions are normalised to lowercase and prefixed with a dot if missing. Returns: Set of dot-prefixed lowercase extension strings e.g. ``{".png", ".jpg", ".tiff"}``. """ raw = os.getenv("GENIEXTRACT_IMG_EXTS") if not raw: return DEFAULT_IMG_EXTS exts = set() for part in raw.split(","): part = part.strip().lower() if not part: continue if not part.startswith("."): part = "." + part exts.add(part) return exts