iscc-sct / iscc_sct /main.py
titusz's picture
Synced repo using 'sync_with_huggingface' Github Action
b31f748 verified
from iscc_sct.models import Metadata
from iscc_sct.code_semantic_text import gen_text_code_semantic
from iscc_sct.options import sct_opts
__all__ = [
"create",
]
def create(text, granular=False, **options):
# type (str, bool) -> Metadata
"""
Create Semantic Text-Code
High-Level API for creating Semantic Text-Code.
:param text: Text used for creating Semantic Text-Code.
:param granular: Activate options for granular processing (Default: False).
:param options: Override individual options for creating Semantic Text-Code.
:return: Semantic Text-Code `Metadata` object in Object-Format
"""
# Override global options with individual options derived from `granular` parameter
granular = dict(simprints=True, offsets=True, sizes=True, contents=True) if granular else {}
opts = sct_opts.override(granular)
# Override local options with individual options form additional keyword arguments
opts = opts.override(options)
data = gen_text_code_semantic(text, **opts.model_dump())
return Metadata(**data).to_object_format()