argdigest.core package#

Submodules#

argdigest.core.agent_docs module#

Logic for generating and updating AI Agent instructions based on library configuration.

argdigest.core.agent_docs.generate_agent_docs(module_name, output_file='ARG_DIGEST_AGENTS.md')[source]#

Detects library config and writes the ARG_DIGEST_AGENTS.md file.

Parameters:
  • module_name (str)

  • output_file (str)

argdigest.core.argument_loader module#

argdigest.core.argument_loader.load_argument_digesters(digestion_source, digestion_style)[source]#
Parameters:
  • digestion_source (str | Iterable[str] | None)

  • digestion_style (str)

Return type:

dict[str, Callable[[…], Any]]

argdigest.core.argument_loader.resolve_standardizer(standardizer)[source]#
Parameters:

standardizer (Any)

Return type:

Callable[[str, dict[str, Any]], dict[str, Any]] | None

argdigest.core.argument_registry module#

class argdigest.core.argument_registry.ArgumentRegistry[source]#

Bases: object

classmethod clear()[source]#
Return type:

None

classmethod get_all()[source]#
Return type:

dict[str, Callable[[…], Any]]

classmethod register(name, func)[source]#
Parameters:
  • name (str)

  • func (Callable[[...], Any])

Return type:

None

argdigest.core.argument_registry.argument_digest(name)[source]#

Decorator to register an argument digester by argument name.

Parameters:

name (str)

argdigest.core.config module#

class argdigest.core.config.DigestConfig(digestion_source: 'str | list[str] | None' = None, digestion_style: 'str' = 'auto', standardizer: 'Any' = None, strictness: 'str' = 'warn', skip_param: 'str' = 'skip_digestion', puw_context: 'dict[str, Any] | None' = None, profiling: 'bool' = False)[source]#

Bases: object

Parameters:
  • digestion_source (str | list[str] | None)

  • digestion_style (str)

  • standardizer (Any)

  • strictness (str)

  • skip_param (str)

  • puw_context (dict[str, Any] | None)

  • profiling (bool)

digestion_source: str | list[str] | None = None#
digestion_style: str = 'auto'#
profiling: bool = False#
puw_context: dict[str, Any] | None = None#
skip_param: str = 'skip_digestion'#
standardizer: Any = None#
strictness: str = 'warn'#
argdigest.core.config.get_defaults()[source]#
Return type:

DigestConfig

argdigest.core.config.get_env_config_module()[source]#

Return the module path configured via environment, if present.

Return type:

str | None

argdigest.core.config.load_from_file(path)[source]#

Load configuration from a Python, YAML, or JSON file path.

Parameters:

path (str | Path)

Return type:

DigestConfig

argdigest.core.config.resolve_config(config)[source]#
Parameters:

config (Any)

Return type:

DigestConfig

argdigest.core.config.set_defaults(config=None, **kwargs)[source]#
Parameters:
Return type:

None

argdigest.core.context module#

class argdigest.core.context.Context(function_name: 'str', argname: 'str', value: 'Any', all_args: 'dict[str, Any]'=<factory>, audit_log: 'list[dict[str, Any]] | None'=None, _profiling: 'bool' = False)[source]#

Bases: object

Parameters:
  • function_name (str)

  • argname (str)

  • value (Any)

  • all_args (dict[str, Any])

  • audit_log (list[dict[str, Any]] | None)

  • _profiling (bool)

all_args: dict[str, Any]#
argname: str#
audit_log: list[dict[str, Any]] | None = None#
function_name: str#
value: Any#

argdigest.core.decorator module#

class argdigest.core.decorator.DigestionPlan(digesters=<factory>, pipeline_targets=<factory>, strictness='warn', skip_param='skip_digestion', standardizer=None, enable_argument_digestion=True, profiling=False, var_keyword_name=None)[source]#

Bases: object

Stores pre-calculated digestion logic for a specific function.

Parameters:
  • digesters (dict[str, Callable[[...], Any]])

  • pipeline_targets (dict[str, dict[str, Any]])

  • strictness (str)

  • skip_param (str)

  • standardizer (Callable[[str, dict], dict] | None)

  • enable_argument_digestion (bool)

  • profiling (bool)

  • var_keyword_name (str | None)

digesters: dict[str, Callable[[...], Any]]#
enable_argument_digestion: bool = True#
pipeline_targets: dict[str, dict[str, Any]]#
profiling: bool = False#
skip_param: str = 'skip_digestion'#
standardizer: Callable[[str, dict], dict] | None = None#
strictness: str = 'warn'#
var_keyword_name: str | None = None#
argdigest.core.decorator.arg_digest(*, kind=None, rules=None, map=None, digestion_source=<object object>, digestion_style=<object object>, standardizer=<object object>, strictness=<object object>, skip_param=<object object>, config=<object object>, type_check=False, puw_context=None, profiling=<object object>, **digestion_params)[source]#
Parameters:
  • kind (str | None)

  • rules (list[str] | None)

  • map (dict[str, dict] | None)

  • digestion_source (str | list[str] | None | object)

  • digestion_style (str | object)

  • standardizer (Any | object)

  • strictness (str | object)

  • skip_param (str | object)

  • config (DigestConfig | str | None | object)

  • type_check (bool)

  • puw_context (dict[str, Any] | None)

  • profiling (bool | object)

  • digestion_params (Any)

argdigest.core.decorator.get_digester_metadata(fn_dig, argname)[source]#
Parameters:
  • fn_dig (Callable)

  • argname (str)

Return type:

tuple[Signature, str]

argdigest.core.errors module#

exception argdigest.core.errors.DigestError(message, context=None, hint=None, code=None)[source]#

Bases: ArgDigestCatalogException

Base class for all ArgDigest exceptions.

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

exception argdigest.core.errors.DigestInvariantError(message, context=None, hint=None, code=None)[source]#

Bases: DigestError

Semantic rule violation (e.g. invalid parent-child link).

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

catalog_key: str | None = 'DigestInvariantError'#
exception argdigest.core.errors.DigestNotDigestedError(message, context=None, hint=None, code=None)[source]#

Bases: DigestError

Missing digester or cyclic dependency.

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

catalog_key: str | None = 'DigestNotDigestedError'#
exception argdigest.core.errors.DigestNotDigestedWarning(message, context=None, hint=None, code=None)[source]#

Bases: ArgDigestCatalogWarning, RuntimeWarning

Warning for missing digesters when strictness is ‘warn’.

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

catalog_key: str | None = 'DigestNotDigestedWarning'#
exception argdigest.core.errors.DigestTypeError(message, context=None, hint=None, code=None)[source]#

Bases: DigestError, TypeError

Unexpected or inconsistent data type.

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

catalog_key: str | None = 'DigestTypeError'#
exception argdigest.core.errors.DigestValueError(message, context=None, hint=None, code=None)[source]#

Bases: DigestError, ValueError

Invalid or out-of-domain value.

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

catalog_key: str | None = 'DigestValueError'#

argdigest.core.errors_base module#

exception argdigest.core.errors_base.ArgDigestCatalogException(**kwargs)[source]#

Bases: CatalogException

exception argdigest.core.errors_base.ArgDigestCatalogWarning(**kwargs)[source]#

Bases: CatalogWarning

argdigest.core.health module#

argdigest.core.health.run_health_check()[source]#

Run an ecosystem-oriented health check for ArgDigest integration points.

Return type:

dict[str, dict[str, Any]]

argdigest.core.logger module#

argdigest.core.logger.configure_logging(level=20, stream=None)[source]#

Simple helper to configure the argdigest logger.

Parameters:
  • level (int | str)

  • stream (Any | None)

Return type:

None

argdigest.core.logger.get_logger()[source]#
Return type:

Logger

argdigest.core.registry module#

class argdigest.core.registry.Registry[source]#

Bases: object

classmethod get_pipelines(kind)[source]#
Parameters:

kind (str)

Return type:

dict[str, Callable[[…], Any]]

classmethod register_pipeline(kind, name, func)[source]#
Parameters:
  • kind (str)

  • name (str)

  • func (Callable[[...], Any])

Return type:

None

classmethod run(kind, rules, value, ctx)[source]#
Parameters:
  • kind (str)

  • rules (list[str | Any])

  • value (Any)

  • ctx (Any)

Return type:

Any

argdigest.core.registry.get_pipelines(kind)[source]#
Parameters:

kind (str)

Return type:

dict[str, Callable[[…], Any]]

argdigest.core.registry.register_pipeline(kind, name)[source]#

Decorator to register a pipeline function for a given kind and name.

Parameters:
  • kind (str)

  • name (str)

argdigest.core.utils module#

argdigest.core.utils.bind_arguments(fn, *args, **kwargs)[source]#
Parameters:
  • fn (Callable[[...], Any])

  • args (Any)

  • kwargs (Any)

Return type:

dict[str, Any]

Module contents#

class argdigest.core.DigestConfig(digestion_source: 'str | list[str] | None' = None, digestion_style: 'str' = 'auto', standardizer: 'Any' = None, strictness: 'str' = 'warn', skip_param: 'str' = 'skip_digestion', puw_context: 'dict[str, Any] | None' = None, profiling: 'bool' = False)[source]#

Bases: object

Parameters:
  • digestion_source (str | list[str] | None)

  • digestion_style (str)

  • standardizer (Any)

  • strictness (str)

  • skip_param (str)

  • puw_context (dict[str, Any] | None)

  • profiling (bool)

digestion_source: str | list[str] | None = None#
digestion_style: str = 'auto'#
profiling: bool = False#
puw_context: dict[str, Any] | None = None#
skip_param: str = 'skip_digestion'#
standardizer: Any = None#
strictness: str = 'warn'#
exception argdigest.core.DigestError(message, context=None, hint=None, code=None)[source]#

Bases: ArgDigestCatalogException

Base class for all ArgDigest exceptions.

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

exception argdigest.core.DigestInvariantError(message, context=None, hint=None, code=None)[source]#

Bases: DigestError

Semantic rule violation (e.g. invalid parent-child link).

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

catalog_key: str | None = 'DigestInvariantError'#
exception argdigest.core.DigestNotDigestedError(message, context=None, hint=None, code=None)[source]#

Bases: DigestError

Missing digester or cyclic dependency.

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

catalog_key: str | None = 'DigestNotDigestedError'#
exception argdigest.core.DigestNotDigestedWarning(message, context=None, hint=None, code=None)[source]#

Bases: ArgDigestCatalogWarning, RuntimeWarning

Warning for missing digesters when strictness is ‘warn’.

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

catalog_key: str | None = 'DigestNotDigestedWarning'#
exception argdigest.core.DigestTypeError(message, context=None, hint=None, code=None)[source]#

Bases: DigestError, TypeError

Unexpected or inconsistent data type.

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

catalog_key: str | None = 'DigestTypeError'#
exception argdigest.core.DigestValueError(message, context=None, hint=None, code=None)[source]#

Bases: DigestError, ValueError

Invalid or out-of-domain value.

Parameters:
  • message (str)

  • context (Context | None)

  • hint (str | None)

  • code (str | None)

catalog_key: str | None = 'DigestValueError'#
argdigest.core.arg_digest(*, kind=None, rules=None, map=None, digestion_source=<object object>, digestion_style=<object object>, standardizer=<object object>, strictness=<object object>, skip_param=<object object>, config=<object object>, type_check=False, puw_context=None, profiling=<object object>, **digestion_params)[source]#
Parameters:
  • kind (str | None)

  • rules (list[str] | None)

  • map (dict[str, dict] | None)

  • digestion_source (str | list[str] | None | object)

  • digestion_style (str | object)

  • standardizer (Any | object)

  • strictness (str | object)

  • skip_param (str | object)

  • config (DigestConfig | str | None | object)

  • type_check (bool)

  • puw_context (dict[str, Any] | None)

  • profiling (bool | object)

  • digestion_params (Any)

argdigest.core.argument_digest(name)[source]#

Decorator to register an argument digester by argument name.

Parameters:

name (str)

argdigest.core.get_defaults()[source]#
Return type:

DigestConfig

argdigest.core.get_pipelines(kind)[source]#
Parameters:

kind (str)

Return type:

dict[str, Callable[[…], Any]]

argdigest.core.register_pipeline(kind, name)[source]#

Decorator to register a pipeline function for a given kind and name.

Parameters:
  • kind (str)

  • name (str)

argdigest.core.set_defaults(config=None, **kwargs)[source]#
Parameters:
Return type:

None