Skip to content

Commit

Permalink
Merge pull request #249 from OpenVoiceOS/dev
Browse files Browse the repository at this point in the history
0.1.1
  • Loading branch information
JarbasAl authored Sep 10, 2024
2 parents e1aa516 + f208c24 commit 7eb4767
Show file tree
Hide file tree
Showing 56 changed files with 3,580 additions and 1,414 deletions.
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "pip" # See documentation for possible values
directory: "/requirements" # Location of package manifests
schedule:
interval: "weekly"
14 changes: 0 additions & 14 deletions .github/workflows/publish_alpha.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,20 +34,6 @@ jobs:
runs-on: ubuntu-latest
needs: update_version
steps:
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: V${{ needs.update_version.outputs.version }}
release_name: Release ${{ needs.update_version.outputs.version }}
body: |
Changes in this Release
${{ needs.update_version.outputs.changelog }}
draft: false
prerelease: true
commitish: dev
- name: Checkout Repository
uses: actions/checkout@v2
with:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
strategy:
max-parallel: 2
matrix:
python-version: [ 3.7, 3.8, 3.9, "3.10" ]
python-version: [ 3.8, 3.9, "3.10" ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
Expand All @@ -46,12 +46,12 @@ jobs:
sudo apt-get update
sudo apt install python3-dev
python -m pip install build wheel
- name: Install core repo
run: |
pip install .
- name: Install test dependencies
run: |
pip install -r requirements/test.txt
- name: Install core repo
run: |
pip install .
- name: Run unittests
run: |
pytest --cov=ovos_plugin_manager --cov-report xml test/unittests
Expand Down
133 changes: 114 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,143 @@
# Changelog

## [0.0.25](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/0.0.25) (2023-12-29)
## [0.1.1a3](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/0.1.1a3) (2024-09-05)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.25a4...0.0.25)
[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V...0.1.1a3)

**Merged pull requests:**
**Implemented enhancements:**

- Update requirements.txt [\#201](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/201) ([JarbasAl](https://github.com/JarbasAl))
- feat/units\_kwarg\_solvers [\#247](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/247) ([JarbasAl](https://github.com/JarbasAl))
- feat/metadata [\#246](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/246) ([JarbasAl](https://github.com/JarbasAl))
- feat/embeddings\_metadata\_support [\#245](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/245) ([JarbasAl](https://github.com/JarbasAl))
- feat/add\_rerank\_method [\#243](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/243) ([JarbasAl](https://github.com/JarbasAl))
- feat/pipeline\_intent\_match [\#242](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/242) ([JarbasAl](https://github.com/JarbasAl))
- feat/pipeline\_plugin\_placeholder [\#241](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/241) ([JarbasAl](https://github.com/JarbasAl))
- feat/embeddings plugins [\#240](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/240) ([JarbasAl](https://github.com/JarbasAl))
- feat/alternative\_transcripts [\#236](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/236) ([JarbasAl](https://github.com/JarbasAl))
- feat/lang\_detection\_plugin [\#220](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/220) ([JarbasAl](https://github.com/JarbasAl))
- feat/restore phonetic spellings [\#195](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/195) ([JarbasAl](https://github.com/JarbasAl))

**Fixed bugs:**

- abstractmethod decorator breaks OCP 0.0.6 compat. [\#229](https://github.com/OpenVoiceOS/ovos-plugin-manager/issues/229)
- fix/restore\_dead\_code [\#256](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/256) ([JarbasAl](https://github.com/JarbasAl))
- fix/context\_kwarg\_backwards\_compat [\#248](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/248) ([JarbasAl](https://github.com/JarbasAl))
- refactor/solver\_decorators [\#244](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/244) ([JarbasAl](https://github.com/JarbasAl))
- fix/missing\_property [\#239](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/239) ([JarbasAl](https://github.com/JarbasAl))
- ensure cache dir exists [\#232](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/232) ([JarbasAl](https://github.com/JarbasAl))
- fix/playback\_time\_not\_abstract [\#230](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/230) ([JarbasAl](https://github.com/JarbasAl))
- fix/legacy\_playlist\_queue [\#227](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/227) ([JarbasAl](https://github.com/JarbasAl))
- hotfix/voice\_kwarg [\#223](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/223) ([JarbasAl](https://github.com/JarbasAl))
- hotfix/clean\_shutdown [\#222](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/222) ([JarbasAl](https://github.com/JarbasAl))
- fix/tts\_reload [\#219](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/219) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.25a4](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.25a4) (2023-12-29)
**Closed issues:**

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.25a3...V0.0.25a4)
- Error about Azure TTS plugin [\#193](https://github.com/OpenVoiceOS/ovos-plugin-manager/issues/193)

**Merged pull requests:**

- update imports [\#198](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/198) ([JarbasAl](https://github.com/JarbasAl))
- license compliance [\#255](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/255) ([JarbasAl](https://github.com/JarbasAl))
- planned\_deprecations [\#254](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/254) ([JarbasAl](https://github.com/JarbasAl))
- refactor/improve\_readwritestream [\#234](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/234) ([JarbasAl](https://github.com/JarbasAl))
- refactor/deprecation\_warnings [\#233](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/233) ([JarbasAl](https://github.com/JarbasAl))
- fix/py3.12 [\#231](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/231) ([JarbasAl](https://github.com/JarbasAl))
- refactor/legacy\_audio [\#226](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/226) ([JarbasAl](https://github.com/JarbasAl))
- Fix file path handling in setup.py [\#225](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/225) ([NeonDaniel](https://github.com/NeonDaniel))
- Update for ovos-utils 0.0.X compat. [\#224](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/224) ([NeonDaniel](https://github.com/NeonDaniel))

## [V0.0.25a3](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.25a3) (2023-12-29)
## [V](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V) (2024-03-10)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.25a2...V0.0.25a3)
[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.26a10...V)

**Merged pull requests:**

- Update requirements.txt [\#197](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/197) ([JarbasAl](https://github.com/JarbasAl))
- chore\(docs\): add a long description to PyPi [\#215](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/215) ([mikejgray](https://github.com/mikejgray))

## [V0.0.25a2](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.25a2) (2023-12-28)
## [V0.0.26a10](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.26a10) (2024-02-17)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.25a1...V0.0.25a2)
[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.26a9...V0.0.26a10)

**Closed issues:**
**Fixed bugs:**

- module 'inspect' has no attribute 'formatargspec' [\#189](https://github.com/OpenVoiceOS/ovos-plugin-manager/issues/189)
- fix: AdminPlugin [\#214](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/214) ([builderjer](https://github.com/builderjer))

**Merged pull requests:**
## [V0.0.26a9](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.26a9) (2024-02-13)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.26a8...V0.0.26a9)

**Implemented enhancements:**

- feat/streaming\_solver [\#213](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/213) ([JarbasAl](https://github.com/JarbasAl))

**Fixed bugs:**

- Messages from ovos\_utils.log.LOG are swallowed and not sent to STDOUT [\#173](https://github.com/OpenVoiceOS/ovos-plugin-manager/issues/173)

## [V0.0.26a8](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.26a8) (2024-02-11)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.26a7...V0.0.26a8)

**Fixed bugs:**

- fix/load\_persistent\_cache\(\) [\#209](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/209) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.26a7](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.26a7) (2024-02-10)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.26a6...V0.0.26a7)

**Implemented enhancements:**

- feat/streaming\_tts [\#212](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/212) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.26a6](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.26a6) (2024-02-07)

- refactor/move\_from\_utils [\#196](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/196) ([JarbasAl](https://github.com/JarbasAl))
[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.26a5...V0.0.26a6)

## [V0.0.25a1](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.25a1) (2023-12-09)
**Implemented enhancements:**

- feat/track\_meta [\#211](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/211) ([NeonJarbas](https://github.com/NeonJarbas))

## [V0.0.26a5](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.26a5) (2024-01-08)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.24...V0.0.25a1)
[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.26a4...V0.0.26a5)

**Implemented enhancements:**

- feat/disable\_cache [\#194](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/194) ([JarbasAl](https://github.com/JarbasAl))
- feat/OCP\_backends [\#207](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/207) ([NeonJarbas](https://github.com/NeonJarbas))

## [V0.0.26a4](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.26a4) (2024-01-03)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.26a3...V0.0.26a4)

**Implemented enhancements:**

- feat/sentence\_tokenize\_before\_TTS [\#206](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/206) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.26a3](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.26a3) (2023-12-30)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.26a2...V0.0.26a3)

**Fixed bugs:**

- fix phal plugins in ovos-utils \>= 0.1.0a2 [\#205](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/205) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.26a2](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.26a2) (2023-12-30)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.26a1...V0.0.26a2)

**Fixed bugs:**

- fix gui extensions in ovos-utils \>= 0.1.0a2 [\#204](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/204) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.26a1](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/V0.0.26a1) (2023-12-29)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/V0.0.25...V0.0.26a1)

**Merged pull requests:**

- packaging/update imports [\#203](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/203) ([JarbasAl](https://github.com/JarbasAl))
- Update requirements.txt [\#201](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/201) ([JarbasAl](https://github.com/JarbasAl))



Expand Down
45 changes: 3 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,7 @@
# OVOS plugin manager

OPM can be used to search, install, load and create plugins for the OpenVoiceOS ecosystem!
OPM can be used to load and create plugins for the OpenVoiceOS ecosystem!

![logo](https://raw.githubusercontent.com/OpenVoiceOS/ovos_assets/921b41891ed18c9e16d24d1894266200ee3bd104/Logo/Raw/opm-logo.svg)
![image](https://github.com/OpenVoiceOS/ovos-plugin-manager/assets/33701864/8c939267-42fc-4377-bcdb-f7df65e73252)

## Install

```bash
pip install ovos-plugin-manager
```

## Usage

see [./examples](examples) folder for basic usage


## Plugins

OPM provides templates to create OVOS plugins

#### List of plugins

This list is non exhaustive

##### Wake Words
- [ovos-ww-plugin-hotkeys](https://github.com/OpenVoiceOS/ovos_ww_plugin_hotkeys)
- [ovos-ww-plugin-pocketsphinx](https://github.com/OpenVoiceOS/ovos-wakeword-plugin-pocketsphinx)
- [ovos-ww-plugin-precise](https://github.com/OpenVoiceOS/ovos-wake-word-plugin-precise)
- [chatterbox-ww-plugin-dummy](https://github.com/HelloChatterbox/dummy_wakeword_plugin)

##### TTS
- [ovos-tts-plugin-mimic](https://github.com/OpenVoiceOS/ovos-tts-plugin-mimic)
- [ovos-tts-plugin-mimic2](https://github.com/OpenVoiceOS/ovos-tts-plugin-mimic2)
- [ovos-tts-plugin-google](https://github.com/OpenVoiceOS/ovos-tts-plugin-google)
- [ovos-tts-plugin-responsivevoice](https://github.com/OpenVoiceOS/ovos-tts-plugin-responsivevoice)
- [ovos-tts-plugin-pico](https://github.com/OpenVoiceOS/ovos-tts-plugin-pico)
- [ovos-tts-plugin-espeakNG](https://github.com/OpenVoiceOS/ovos-tts-plugin-espeakNG)
- [chatterbox-polly-tts-plugin](https://github.com/HelloChatterbox/chatterbox-polly-tts-plugin)

##### STT
- [ovos-stt-plugin-vosk](https://github.com/OpenVoiceOS/ovos-stt-plugin-vosk)

##### Audio Service
- [ovos-guiplayer-plugin](https://github.com/OpenVoiceOS/ovos-guiplayer-plugin)
- [ovos-vlc-plugin](https://github.com/OpenVoiceOS/ovos-vlc-plugin)
Documentation can be found in the [ovos-technical-manual](https://openvoiceos.github.io/ovos-technical-manual/OPM)
17 changes: 0 additions & 17 deletions ovos_plugin_manager/__init__.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,2 @@
from ovos_plugin_manager.utils import PluginTypes
from ovos_plugin_manager.plugin_entry import OpenVoiceOSPlugin
from ovos_utils.log import LOG


def find_plugins(*args, **kwargs):
# TODO: Deprecate in 0.1.0
LOG.warning("This reference is deprecated. "
"Import from ovos_plugin_manager.utils directly")
from ovos_plugin_manager.utils import find_plugins
return find_plugins(*args, **kwargs)


def load_plugin(*args, **kwargs):
# TODO: Deprecate in 0.1.0
LOG.warning("This reference is deprecated. "
"Import from ovos_plugin_manager.utils directly")
from ovos_plugin_manager.utils import load_plugin
return load_plugin(*args, **kwargs)
10 changes: 4 additions & 6 deletions ovos_plugin_manager/audio.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@
from ovos_utils.log import LOG
from ovos_bus_client.util import get_mycroft_bus
from ovos_config import Configuration
from ovos_utils.log import log_deprecation


def find_plugins(*args, **kwargs):
# TODO: Deprecate in 0.1.0
LOG.warning("This reference is deprecated. "
"Import from ovos_plugin_manager.utils directly")
from ovos_plugin_manager.utils import find_plugins
return find_plugins(*args, **kwargs)
# TODO - restore this log in next release with updated version string
#log_deprecation("ovos_plugin_manager.audio has been deprecated on ovos-audio, "
# "move to ovos_plugin_manager.media", "1.0.0")


def find_audio_service_plugins() -> dict:
Expand Down
16 changes: 0 additions & 16 deletions ovos_plugin_manager/audio2ipa.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,6 @@
from ovos_utils.log import LOG


def find_plugins(*args, **kwargs):
# TODO: Deprecate in 0.1.0
LOG.warning("This reference is deprecated. "
"Import from ovos_plugin_manager.utils directly")
from ovos_plugin_manager.utils import find_plugins
return find_plugins(*args, **kwargs)


def load_plugin(*args, **kwargs):
# TODO: Deprecate in 0.1.0
LOG.warning("This reference is deprecated. "
"Import from ovos_plugin_manager.utils directly")
from ovos_plugin_manager.utils import load_plugin
return load_plugin(*args, **kwargs)


def find_audio2ipa_plugins() -> dict:
"""
Find all installed plugins
Expand Down
29 changes: 11 additions & 18 deletions ovos_plugin_manager/audio_transformers.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,5 @@
from ovos_plugin_manager.templates.transformers import AudioTransformer, AudioLanguageDetector
from ovos_plugin_manager.utils import PluginTypes, PluginConfigTypes
from ovos_plugin_manager.templates.transformers import AudioTransformer
from ovos_utils.log import LOG


def find_plugins(*args, **kwargs):
# TODO: Deprecate in 0.1.0
LOG.warning("This reference is deprecated. "
"Import from ovos_plugin_manager.utils directly")
from ovos_plugin_manager.utils import find_plugins
return find_plugins(*args, **kwargs)


def load_plugin(*args, **kwargs):
# TODO: Deprecate in 0.1.0
LOG.warning("This reference is deprecated. "
"Import from ovos_plugin_manager.utils directly")
from ovos_plugin_manager.utils import load_plugin
return load_plugin(*args, **kwargs)


def find_audio_transformer_plugins() -> dict:
Expand Down Expand Up @@ -57,3 +40,13 @@ def get_audio_transformer_module_configs(module_name: str):
"""
from ovos_plugin_manager.utils.config import load_plugin_configs
return load_plugin_configs(module_name, PluginConfigTypes.AUDIO_TRANSFORMER)


def find_audio_lang_detector_plugins() -> dict:
"""
Find all installed audio language detector plugins
@return: dict plugin names to entrypoints
"""
from ovos_plugin_manager.utils import find_plugins
return {k: p for k, p in find_plugins(PluginTypes.AUDIO_TRANSFORMER).items()
if issubclass(p, AudioLanguageDetector)}
16 changes: 0 additions & 16 deletions ovos_plugin_manager/coreference.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,6 @@
replace_coreferences


def find_plugins(*args, **kwargs):
# TODO: Deprecate in 0.1.0
LOG.warning("This reference is deprecated. "
"Import from ovos_plugin_manager.utils directly")
from ovos_plugin_manager.utils import find_plugins
return find_plugins(*args, **kwargs)


def load_plugin(*args, **kwargs):
# TODO: Deprecate in 0.1.0
LOG.warning("This reference is deprecated. "
"Import from ovos_plugin_manager.utils directly")
from ovos_plugin_manager.utils import load_plugin
return load_plugin(*args, **kwargs)


def find_coref_plugins() -> dict:
"""
Find all installed plugins
Expand Down
Loading

0 comments on commit 7eb4767

Please sign in to comment.