SMonitor Integration#
DepDigest uses SMonitor as its diagnostics backend.
For most users, this is transparent: you can use DepDigest directly and still get structured, readable dependency diagnostics.
What SMonitor Provides in Practice#
Consistent messages for missing dependencies.
Structured events for debugging and support workflows.
Breadcrumb-style traceability in instrumented paths.
Is SMonitor Optional?#
In the current DepDigest release, SMonitor is a runtime dependency.
That means:
you do not need to install/configure it separately in normal use;
DepDigest will initialize its integration automatically.
Default Behavior#
If a dependency is missing in a guarded path:
DepDigest raises a dependency error for your application flow;
SMonitor emits a structured diagnostic event in parallel.
If diagnostics emission fails, core DepDigest behavior remains robust.
Do I Need to Configure SMonitor?#
Usually no.
But if your project needs custom diagnostics behavior, you can configure SMonitor explicitly:
import smonitor
smonitor.configure(
profile="user", # or dev / qa / debug
level="WARNING",
)
Example to reduce diagnostics side effects in specific contexts:
import smonitor
smonitor.configure(enabled=False)
Where DepDigest Stores Its Diagnostic Definitions#
Runtime config:
depdigest/_smonitor.pyCatalog/meta:
depdigest/_private/smonitor/catalog.py
If you maintain your own library, keep your equivalent catalog and templates coherent with your dependency behavior.
Next#
Continue with Edge Cases for integration pitfalls and production caveats.