OpenVoiceOS / ovos-core

OpenVoiceOS Core, the FOSS Artificial Intelligence platform.
https://openvoiceos.org
Apache License 2.0
122 stars 17 forks source link

ensure compat with `mycroft` namespace imports before 0.0.8 stable release #420

Open JarbasAl opened 6 months ago

JarbasAl commented 6 months ago
          ensure compat with `mycroft` namespace imports before 0.0.8 stable release

the Configuration class needs to be patched to change the behaviour of the .get method, the previous method was introducing bugs in config loading and has been reverted in ovos-config. patching should be done only on mycroft namespace imports and dropped in release 0.1.0

_Originally posted by @JarbasAl in https://github.com/OpenVoiceOS/ovos-core/pull/418#discussion_r1501686579_

JarbasAl commented 6 months ago

ovos-listener needs to be updated for ovos utils 0.1.0 support, the repo is deprecated, but remains under the mycroft namespace

NeonDaniel commented 5 months ago

Related, neon-core refactor for ovos-core 0.0.8. I will see if I can break that up to test backwards compat before refactoring imports

JarbasAl commented 5 months ago

skipped test needing fixing https://github.com/OpenVoiceOS/ovos-core/blob/ddcc6ea5a201b7b8325a8a34e28fb7a78e53cd19/test/unittests/configuration/test_configuration.py#L11

JarbasAl commented 4 months ago

to close this issue we should install all the official mycroft skills and validate they work in ovos-core 0.0.8

one more that needs patching in the mycroft module, usage of self.enclosure.display_manager (removed in OVOS)

https://github.com/MycroftAI/skill-date-time/blob/21.02/__init__.py#L373

mikejgray commented 3 months ago

Now that legacy CommonPlay skills are supported, we need to make sure they actually load. Output from Pandora:

2024-05-26 21:45:54.144 - skills - ovos_core.skill_manager:_load_skill:708 - WARNING - Found deprecated skill directory: /Users/Mike/.local/share/mycroft/skills/skill-pandora
please create a setup.py for this skill
2024-05-26 21:45:54.144 - skills - ovos_workshop.skill_launcher:load:282 - INFO - ATTEMPTING TO LOAD SKILL: skill-pandora
2024-05-26 21:45:54.145 - skills - ovos_workshop.skill_launcher:remove_submodule_refs:50 - DEBUG - Skill module: skill-pandora
2024-05-26 21:45:54.284 - skills - ovos_workshop.skill_launcher:get_skill_class:120 - DEBUG - Loading skill class: <class 'skill-pandora.PianobarSkill'>
2024-05-26 21:45:54.285 - skills - ovos_workshop.skills.mycroft_skill:__call__:114 - WARNING - Legacy skill signature detected for skill-pandora; attempting to init skill manually, self.bus and self.skill_id will only be available in self.initialize. `__init__` method needs to accept `skill_id` and `bus` to resolve this.
2024-05-26 21:45:54.290 - skills - ovos_workshop.skills.mycroft_skill:MycroftSkill.__init__ - WARNING - Deprecation version=0.1.0. Caller=ovos_workshop.decorators.compat:40. MycroftSkill class has been deprecated, please subclass from OVOSSkill
2024-05-26 21:45:54.290 - skills - ovos_workshop.skills.ovos:file_system:475 - WARNING - Skill not fully initialized.to correct this add kwargs __init__(bus=None, skill_id='') to skill class PianobarSkill
2024-05-26 21:45:54.291 - skills - ovos_workshop.skills.ovos:file_system:478 - ERROR - Traceback:
  File "/Users/Mike/anaconda3/lib/python3.10/threading.py", line 973, in _bootstrap
    self._bootstrap_inner()
  File "/Users/Mike/anaconda3/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/Users/Mike/anaconda3/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/Mike/anaconda3/lib/python3.10/concurrent/futures/thread.py", line 83, in _worker
    work_item.run()
  File "/Users/Mike/anaconda3/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_core/skill_manager.py", line 376, in handle_internet_connected
    self._load_on_internet()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_core/skill_manager.py", line 587, in _load_on_internet
    self._load_new_skills(network=True, internet=True)
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_core/skill_manager.py", line 682, in _load_new_skills
    self._load_skill(skill_dir)
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_core/skill_manager.py", line 720, in _load_skill
    load_status = skill_loader.load()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skill_launcher.py", line 283, in load
    return self._load()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skill_launcher.py", line 365, in _load
    self.loaded = self._create_skill_instance()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skill_launcher.py", line 447, in _create_skill_instance
    self.instance = skill_class(bus=self.bus, skill_id=self.skill_id)
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skills/mycroft_skill.py", line 123, in __call__
    skill = super().__call__(*args, **kwargs)
  File "/Users/Mike/.local/share/mycroft/skills/skill-pandora/__init__.py", line 74, in __init__
    play_info_file = join(self.file_system.path, "play-info.json")

2024-05-26 21:45:54.291 - skills - ovos_workshop.skill_launcher:_create_skill_instance:450 - WARNING - Skill load raised exception: Accessed MycroftSkill.file_system in __init__
2024-05-26 21:45:54.291 - skills - ovos_workshop.skill_launcher:get_create_skill_function:136 - WARNING - Deprecation version=0.1.0. Caller=ovos_core.skill_manager:720. `create_skill` method is no longer supported
2024-05-26 21:45:54.292 - skills - ovos_workshop.skill_launcher:_create_skill_instance:473 - WARNING - Legacy skill: create_skill() got an unexpected keyword argument 'bus'
2024-05-26 21:45:54.292 - skills - ovos_workshop.skills.mycroft_skill:__call__:71 - WARNING - skill initialized without bus!! this is legacy behaviour and requires you to call skill.bind(bus) or skill._startup(skill_id, bus)
bus will be required starting on ovos-core 0.1.0
2024-05-26 21:45:54.293 - skills - ovos_workshop.skills.mycroft_skill:MycroftSkill.__init__ - WARNING - Deprecation version=0.1.0. Caller=ovos_workshop.decorators.compat:40. MycroftSkill class has been deprecated, please subclass from OVOSSkill
2024-05-26 21:45:54.293 - skills - ovos_workshop.skills.ovos:file_system:475 - WARNING - Skill not fully initialized.to correct this add kwargs __init__(bus=None, skill_id='') to skill class PianobarSkill
2024-05-26 21:45:54.293 - skills - ovos_workshop.skills.ovos:file_system:478 - ERROR - Traceback:
  File "/Users/Mike/anaconda3/lib/python3.10/threading.py", line 973, in _bootstrap
    self._bootstrap_inner()
  File "/Users/Mike/anaconda3/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/Users/Mike/anaconda3/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/Mike/anaconda3/lib/python3.10/concurrent/futures/thread.py", line 83, in _worker
    work_item.run()
  File "/Users/Mike/anaconda3/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_core/skill_manager.py", line 376, in handle_internet_connected
    self._load_on_internet()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_core/skill_manager.py", line 587, in _load_on_internet
    self._load_new_skills(network=True, internet=True)
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_core/skill_manager.py", line 682, in _load_new_skills
    self._load_skill(skill_dir)
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_core/skill_manager.py", line 720, in _load_skill
    load_status = skill_loader.load()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skill_launcher.py", line 283, in load
    return self._load()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skill_launcher.py", line 365, in _load
    self.loaded = self._create_skill_instance()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skill_launcher.py", line 474, in _create_skill_instance
    self.instance = skill_creator()
  File "/Users/Mike/.local/share/mycroft/skills/skill-pandora/__init__.py", line 649, in create_skill
    return PianobarSkill()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skills/mycroft_skill.py", line 75, in __call__
    return super().__call__(*args, **kwargs)
  File "/Users/Mike/.local/share/mycroft/skills/skill-pandora/__init__.py", line 74, in __init__
    play_info_file = join(self.file_system.path, "play-info.json")

2024-05-26 21:45:54.294 - skills - ovos_core.skill_manager:_load_skill:722 - ERROR - Load of skill /Users/Mike/.local/share/mycroft/skills/skill-pandora failed!
Traceback (most recent call last):
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skill_launcher.py", line 469, in _create_skill_instance
    self.instance = skill_creator(bus=self.bus,
TypeError: create_skill() got an unexpected keyword argument 'bus'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_core/skill_manager.py", line 720, in _load_skill
    load_status = skill_loader.load()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skill_launcher.py", line 283, in load
    return self._load()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skill_launcher.py", line 365, in _load
    self.loaded = self._create_skill_instance()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skill_launcher.py", line 474, in _create_skill_instance
    self.instance = skill_creator()
  File "/Users/Mike/.local/share/mycroft/skills/skill-pandora/__init__.py", line 649, in create_skill
    return PianobarSkill()
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skills/mycroft_skill.py", line 75, in __call__
    return super().__call__(*args, **kwargs)
  File "/Users/Mike/.local/share/mycroft/skills/skill-pandora/__init__.py", line 74, in __init__
    play_info_file = join(self.file_system.path, "play-info.json")
  File "/Users/Mike/Library/Caches/pypoetry/virtualenvs/ovos-mac-4gtofNfg-py3.10/lib/python3.10/site-packages/ovos_workshop/skills/ovos.py", line 479, in file_system
    raise Exception('Accessed MycroftSkill.file_system in __init__')
Exception: Accessed MycroftSkill.file_system in __init__
2024-05-26 21:45:54.294 - skills - ovos_core.skill_manager:_load_skill:729 - ERROR - Failed to load old style skill: /Users/Mike/.local/share/mycroft/skills/skill-pandora
JarbasAl commented 1 month ago

to close this issue we should install all the official mycroft skills and validate they work in ovos-core 0.0.8

@NeonDaniel can you look into this? seems to be the last issue in the 0.0.8 milestone