This release is a pre-release and may not be stable for production use.
OVOS-utils
ovos-utils is a shared utility library for the OpenVoiceOS ecosystem. It provides
logging, process lifecycle management, a testing-friendly fake message bus, event
scheduling, file utilities, network checks, audio playback, and XDG path helpers.
Most OVOS packages, including ovos-bus-client, ovos-config, and ovos-workshop,
depend on it, so most projects get it as a transitive dependency.
Install
pip install ovos-utils
Usage
The library exposes many small, independent modules. Import only what you need.
For example, use FakeBus to test skill code without a live message bus:
from ovos_utils.fakebus import FakeBus, FakeMessage
bus = FakeBus()
def on_utterance(message):
print(message.data["utterances"])
bus.on("recognizer_loop:utterance", on_utterance)
bus.emit(FakeMessage("recognizer_loop:utterance", {"utterances": ["hello"]}))
See docs/index.md for the full module overview, with links to
detailed pages on logging, process utilities, FakeBus, and event handling.
See docs/prerelease-quirks.md for what changed
since the last stable release.
Command line: ovos-logs
ovos-logs is a helper tool that slices, lists, and reduces OVOS service logs.
-
ovos-logs slice [options]. Slice logs for a time period. The default period runs from the last service start (-s) until now (-u). Pick specific logs with-l(default: all logs). Set the log directory with-pand the output file with-f.ovos-logs slice # Slice all logs from the last service start until now. ovos-logs slice -s 17:05:20 -u 17:05:25 # Slice all logs between 17:05:20 and 17:05:25. ovos-logs slice -s 17:05:20 -u 17:05:25 -l skills # Slice only skills.log between 17:05:20 and 17:05:25. ovos-logs slice -s 17:05:20 -u 17:05:25 -f ~/testslice.log # Slice logs between 17:05:20 and 17:05:25 into ~/testslice.log. # Default output file: ~/slice_<timestamp>.log
-
ovos-logs list [-e|-w|-d|-x] [options]. List log lines by severity (error, warning, debug, exception). Specify at least one level. You can combine several. Set the time range with-sand-u(default: last service start until now). Pick specific logs with-l(default: all logs).ovos-logs list -x # List EXCEPTION-level lines (with tracebacks) from the last service start until now. ovos-logs list -w -e -s 20-12-2023 -l bus -l skills # List WARNING and ERROR lines from bus.log and skills.log since 20 December 2023.
-
ovos-logs reduce [options]. Shrink logs to a target size in bytes, or remove entries before a given date. Pick specific logs with-l(default: all logs). Set the log directory with-p.ovos-logs reduce # Shrink all logs to 0 bytes. ovos-logs reduce -s 1000000 # Shrink all logs to about 1 MB, keeping the latest entries. ovos-logs reduce -d "1-12-2023 17:00" # Shrink all logs to entries after the given date and time. ovos-logs reduce -s 1000000 -l skills -l bus # Shrink skills.log and bus.log to about 1 MB each.
-
ovos-logs show -l <servicelog>. Print the contents of a log file.ovos-logs show -l bus # Print the contents of bus.log.
The logs shown depend on which log files exist in the log folder.
Related projects
- OpenVoiceOS/ovos-bus-client. The real message bus client that
FakeBusandFakeMessagestand in for during testing. - OpenVoiceOS/ovos-config. Reads and writes
mycroft.conf, the configuration file used byLOG,PIDLock, and the network utilities. - OpenVoiceOS/ovos-workshop. The skill framework built on
EventContainer,RuntimeRequirements, and the other utilities in this library.
License
Apache License 2.0. See LICENSE.
Metadata
Release files for ovos-utils 0.15.0a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ovos_utils-0.15.0a1.tar.gz | 86.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ovos_utils-0.15.0a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 183.0 kB
Release files / ovos_utils-0.15.0a1.tar.gz
| Download URL | ovos_utils-0.15.0a1.tar.gz |
|---|---|
| Size | 86.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd526b1541caa2244982879618ef4960a3bad0d3ee86b4c9766a4e7d2347eb38
|
|
BLAKE2b-256 checksum How to use checksums |
0a7aee81a1d02cd49e60406467ae07fcde9535efdca67713d13b352ed180135f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ovos_utils-0.15.0a1-py3-none-any.whl
| Download URL | ovos_utils-0.15.0a1-py3-none-any.whl |
|---|---|
| Size | 96.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
27dc8387077f6e2aafe1c6149ba76fa593411fc9ffec387cf280ab5d7fa4c251
|
|
BLAKE2b-256 checksum How to use checksums |
e4c6c96dbd68f674c2ad398cebd4c0428c190eed9eeeec49db3a9bb35dff2cca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|