Spaces:
Running on Zero
Running on Zero
| """Public PaDoc API with heavy model imports loaded lazily.""" | |
| from __future__ import annotations | |
| from importlib import import_module | |
| from .constants import DEFAULT_FORK_TOKEN_MAP, DEFAULT_SPECIAL_TOKENS | |
| from .data import DataPiece, Node, parse_data_piece, parse_node | |
| __version__ = "0.1.0" | |
| _LAZY = { | |
| "ForkTokenTrainer": ("padoc.modeling", "ForkTokenTrainer"), | |
| "SequentialPaDocEngine": ("padoc.transformers_infer", "SequentialPaDocEngine"), | |
| "preprocess_model": ("padoc.preprocess", "preprocess_model"), | |
| } | |
| def __getattr__(name: str): | |
| target = _LAZY.get(name) | |
| if target is None: | |
| raise AttributeError(f"module 'padoc' has no attribute {name!r}") | |
| module_name, attribute_name = target | |
| value = getattr(import_module(module_name), attribute_name) | |
| globals()[name] = value | |
| return value | |
| __all__ = [ | |
| "DEFAULT_FORK_TOKEN_MAP", | |
| "DEFAULT_SPECIAL_TOKENS", | |
| "DataPiece", | |
| "ForkTokenTrainer", | |
| "Node", | |
| "SequentialPaDocEngine", | |
| "parse_data_piece", | |
| "parse_node", | |
| "preprocess_model", | |
| ] | |