Fix and add test

This commit is contained in:
Hood Chatham 2024-12-20 14:14:06 +01:00
parent 2442f7209d
commit b5bcd164ee
2 changed files with 30 additions and 3 deletions

View File

@ -95,11 +95,14 @@ def blank(
config = util.dot_to_dict(config)
return LangClass.from_config(config, vocab=vocab, meta=meta)
def __getattr__(name):
if name == "cli":
import importlib
return importlib.import_module("." + name, __name__)
if name == "info":
from .cli.info import info
return info
if name == "cli":
from . import cli
return cli
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")

View File

@ -495,3 +495,27 @@ def test_find_available_port():
with pytest.warns(UserWarning, match="already in use"):
found_port = find_available_port(port, host, auto_select=True)
assert found_port == port + 1, "Didn't find next port"
def test_lazy_load_cli():
import subprocess
import sys
from textwrap import dedent
subprocess.run(
[
sys.executable,
"-c",
dedent(
"""\
import sys
import spacy
assert "spacy" in sys.modules
assert "spacy.cli" not in sys.modules
spacy.cli
assert "spacy.cli" in sys.modules
"""
),
],
check=True,
)