Registry Style Integration#

Use this pattern when your team prefers a central explicit map.

Structure#

mylib/
  _argdigest.py
  _private/digestion/
    registry.py
    digesters.py

Registry module#

# mylib/_private/digestion/registry.py
from .digesters import digest_selection, digest_syntax

ARGUMENT_DIGESTERS = {
    "selection": digest_selection,
    "syntax": digest_syntax,
}

_argdigest.py#

DIGESTION_SOURCE = "mylib._private.digestion.registry"
DIGESTION_STYLE = "registry"
STRICTNESS = "error"

Decorated function#

from argdigest import arg_digest

@arg_digest(config="mylib._argdigest")
def select(selection=None, syntax="MolSysMT"):
    ...

Why this style works#

  • Single discovery surface for all active digesters.

  • Easy audit of digestion coverage by argument name.

  • Good fit for medium-size APIs with centralized maintenance.