Skip to content

Migrating Off ovos-utils 0.1.0

In a nutshell

Any code that imports from ovos_utils written before late 2024 is affected. ovos-utils 0.1.0 deleted almost every helper the package had carried since the Mycroft era. Fix it by moving each import to its new home using the table below.

The ovos-utils 0.1.0 gutting (2024-09)

A decade of accumulated helpers, inherited all the way back from the Mycroft era, disappeared in a single release: ovos-utils 0.1.0 cut the bulk of the package under the stated goal of removing "ALL dead code." From the outside this meant imports breaking across the ecosystem the moment a project bumped past the alpha stream, with no single traceback pointing at the cause since the deleted symbols were scattered across messagebus, configuration, intents, skills, and sound helpers alike. A cycle of @deprecated/log_deprecation shims had named each symbol's new home before the cut landed, and a couple of straggler shims survived the mass deletion only to be swept away later.

ovos-utils 0.1.0 deleted almost everything that had accumulated in the package since the Mycroft era (10,709 deleted lines, PR body: "remove ALL dead code"). If you have any code importing from ovos_utils written before late 2024, check it against this table.

Old symbol (ovos_utils.*) New home
messagebus.get_message_lang, .get_websocket, .get_mycroft_bus, .send_message, .wait_for_reply, .decode_binary_message ovos_bus_client.util.*
messagebus.dig_for_message, .FakeMessage, .Message, .FakeBus ovos_utils.fakebus
messagebus.EventContainer ovos_utils.events.EventContainer
messagebus.BusService, .BusFeedProvider, .BusQuery, .BusFeedConsumer removed, no replacement
enclosure.api.EnclosureApi ovos_bus_client.apis.enclosure.EnclosureApi
enclosure.mark1.* (Mark1 eyes/faceplate/animations) removed, no replacement in this repo. ovos-PHAL-plugin-mk1 carries the eyes/faceplate/mouth handling instead
configuration.* (get_default_lang, find_user_config, read_mycroft_config, ...) ovos_config.config.* / ovos_config.locations / ovos_config.locale
fingerprinting.* (detect_platform, is_mycroft_core, ...) removed, no direct successor
intents.IntentServiceInterface ovos_workshop.intents
intents.IntentQueryApi removed, no replacement
intents.converse.ConverseTracker removed, no replacement
intents.layers.IntentLayers ovos_workshop.decorators.layers.IntentLayers
ovos_service_api.OVOSApiService ovos_backend_client.api.BaseApi
skills.blacklist_skill, .whitelist_skill ovos_workshop.permissions.*
skills.get_skills_folder ovos_plugin_manager.skills.get_default_skills_directory
skills.get_installed_skills ovos_plugin_manager.skills.get_installed_skill_ids
skills.api.SkillApi ovos_workshop.skills.api.SkillApi
skills.audioservice.AudioServiceInterface OCP (OCPInterface)
skills.locations.* ovos_plugin_manager.skills
skills.settings.* (backend upload, folder-local settings) removed, no replacement
sound.play_acknowledge_sound and friends emit the bus message mycroft.audio.play_sound instead
sound.record use ovos-dinkum-listener in recording mode
sound.alsa.AlsaControl ovos_phal_plugin_alsa.AlsaVolumeControlPlugin
gui.GUITracker, .GUIPlaybackStatus removed without replacement (ovos-utils 3a77617, 2023-12-29)

Migration action:

Old, before 0.1.0 — none of these imports work any more (the ovos_utils.messagebus module still exists as a deprecated shim, but it no longer exports these two functions):

from ovos_utils.messagebus import get_mycroft_bus, wait_for_reply
from ovos_utils.configuration import read_mycroft_config
from ovos_utils.skills import blacklist_skill

New, 0.1.0 and later:

from ovos_bus_client.util import get_mycroft_bus, wait_for_reply
from ovos_config.config import read_mycroft_config
from ovos_workshop.permissions import blacklist_skill

Lifecycle:

Phase Version Notes
Active any tag before V0.1.0 mycroft-core-derived helpers, no shims
Deprecated but functional 80a2f7c (2023-12-29) through the 0.1.0 alpha stream (0.1.0a1..0.1.0a16) @deprecated/log_deprecation shims naming the replacement
Dropped V0.1.0 (2024-09-10; the mass deletion landed earlier in 3a77617, 2023-12-29) (ovos-utils 3a77617)

The ovos_utils.messagebus shim module itself had a bumpy exit: deleted in 9c1fd55 (#304), then restored the same day for backwards compatibility (#306, first shipped in 0.5.2, with a follow-up in #308). It still ships as a deprecated re-export of dig_for_message / Message / FakeMessage / FakeBus from ovos_utils.fakebus, warning on import. The functions shown above (get_mycroft_bus, wait_for_reply) are not in it: those moved to ovos_bus_client.util for good.


Read next: Updating From Older OVOS Related: For Skill Maintainers · For Plugin Maintainers · Version-Compatible Skills & Plugins