def load_lookups(lang: str, tables: List[str], strict: bool = True) -> "Lookups":
    """Load the data from the spacy-lookups-data package for a given language,
    if available. Returns an empty `Lookups` container if there's no data or if the package
    is not installed.

    lang (str): The language code (corresponds to entry point exposed by
        the spacy-lookups-data package).
    tables (List[str]): Name of tables to load, e.g. ["lemma_lookup", "lemma_exc"]
    strict (bool): Whether to raise an error if a table doesn't exist.
    RETURNS (Lookups): The lookups container containing the loaded tables.
    """
    # TODO: import spacy_lookups_data instead of going via entry points here?
    lookups = Lookups()
    if lang not in registry.lookups:
        if strict and len(tables) > 0:
            raise ValueError(Errors.E955.format(table=", ".join(tables), lang=lang))
        return lookups
    data = registry.lookups.get(lang)
    for table in tables:
        if table not in data:
            if strict:
                raise ValueError(Errors.E955.format(table=table, lang=lang))
            language_data = {}  # type: ignore[var-annotated]
        else:
            language_data = load_language_data(data[table])  # type: ignore[assignment]
        lookups.add_table(table, language_data)
    return lookups
Load the data from the spacy-lookups-data package for a given language,
    if available. Returns an empty `Lookups` container if there's no data or if the package
    is not installed.

    lang (str): The language code (corresponds to entry point exposed by
        the spacy-lookups-data package).
    tables (List[str]): Name of tables to load, e.g. ["lemma_lookup", "lemma_exc"]
    strict (bool): Whether to raise an error if a table doesn't exist.
    RETURNS (Lookups): The lookups container containing the loaded tables.
    
spacy/lookups.py