SMonitor integration#
ArgDigest uses SMonitor to standardize warnings, errors, and diagnostics.
Files#
argdigest/_smonitor.pyargdigest/_private/smonitor/catalog.pyargdigest/_private/smonitor/meta.py
Emission pattern#
from smonitor.integrations import emit_from_catalog
from argdigest._private.smonitor import CATALOG, META, PACKAGE_ROOT
emit_from_catalog(
CATALOG["missing_digester"],
package_root=PACKAGE_ROOT,
meta=META,
extra={"argname": argname},
)
Guidance#
Keep user messages explicit and actionable.
Keep hints concise and link to docs/issues when useful.
Avoid hardcoded messages outside the catalog.
Contributor rule#
If a new warning/error path is added:
update catalog entries,
keep message fields contract-consistent,
update docs where user-visible behavior changes.