Install & Compatibility
Where this runs
tested against v8.703.26061 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.136s · 18.5MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 1.8s · import 0.130s · 19MB
17MB installed
● package 17MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Log
✓ from mo_logs import Log
setup_logging
✓ from mo_logs import setup_logging
Except
✓ from mo_logs import Except
Basic setup and usage of mo-logs for structured logging.
from mo_logs import Log, setup_logging
from mo_logs import constants
# Setup logging (call once at startup)
setup_logging()
# Basic logging
Log.note("This is a log message")
Log.note("Message with {field}", field="value")
# Warning
Log.warning("This is a warning")
# Error handling
from mo_logs import Except
try:
raise ValueError("something went wrong")
except ValueError as e:
error = Except.wrap(e)
Log.error("An error occurred: {error}", error=error)
# Set constants (like DEBUG flag)
constants.set({"DEBUG": True})
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'mo-logs'
Trying to import with hyphen instead of underscore.
fixUse `from mo_logs import Log` (with underscore).
AttributeError: module 'mo_logs' has no attribute 'Log'
Using `import mo_logs` then `mo_logs.Log` but the package may have changed export patterns.
fixUse `from mo_logs import Log`.
Upgrade
Version history
8.703.26061latest on PyPI · released Mar 2, 2026
Audit
Dependencies
No dependency data recorded yet.