"""Source implementations. Add a new corpus = add a new module here."""

from arborist.sources.claim_pack import ClaimPackSource
from arborist.sources.grok import GrokExportSource, GrokMediaPostsSource
from arborist.sources.textbook_tex import TextbookTexSource
from arborist.sources.vcs import GitRepoSource, MercurialRepoSource
from arborist.sources.wikipedia import (
    WikipediaCurDump,
    WikipediaOldDump,
    WikipediaSqlDump,
)
from arborist.sources.wikipedia_xml import WikipediaAbstractDump, WikipediaXmlDump

__all__ = [
    "ClaimPackSource",
    "GitRepoSource",
    "GrokExportSource",
    "GrokMediaPostsSource",
    "TextbookTexSource",
    "MercurialRepoSource",
    "WikipediaAbstractDump",
    "WikipediaCurDump",
    "WikipediaOldDump",
    "WikipediaSqlDump",
    "WikipediaXmlDump",
]

# HtmlPageSource has optional deps (selectolax). Surface import errors only
# when callers actually request it.
try:
    from arborist.sources.html_page import HtmlPageSource  # noqa: F401
    __all__.append("HtmlPageSource")
except ImportError:  # pragma: no cover
    pass

# HtmlPageSource has optional deps (httpx + selectolax). Surface import errors
# only when callers actually request it.
try:
    from arborist.sources.html_page import HtmlPageSource  # noqa: F401
    __all__.append("HtmlPageSource")
except ImportError:  # pragma: no cover
    pass
