Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
cd2930f
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 10, 2025
f3d1092
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 10, 2025
d60cace
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 11, 2025
d407353
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 12, 2025
af32276
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 13, 2025
ce8163a
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 14, 2025
534a8ff
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 15, 2025
ac66600
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 16, 2025
867a543
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 17, 2025
00f027a
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 18, 2025
3689a8c
Update requirements.txt
JarbasAl Jun 18, 2025
45f49d6
Update release_workflow.yml
JarbasAl Jun 18, 2025
ba675ac
Increment Version to 1.0.4a1
JarbasAl Jun 18, 2025
988b81d
Update Changelog
JarbasAl Jun 18, 2025
f0cb250
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 19, 2025
77adce2
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 20, 2025
de82ee4
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jun 22, 2025
eef42d2
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jul 8, 2025
b1d2183
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jul 9, 2025
7dfcec0
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jul 12, 2025
801931b
Update downstream dependencies for ovos-plugin-manager
github-actions[bot] Jul 13, 2025
b645260
Update langcodes requirement from ~=3.3.0 to ~=3.5.0 in /requirements…
dependabot[bot] Jul 22, 2025
7fd7899
Increment Version to 1.0.4a2
JarbasAl Jul 22, 2025
01dfcd7
Update combo-lock requirement from ~=0.2 to ~=0.3 in /requirements (#…
dependabot[bot] Jul 22, 2025
fefebce
Update Changelog
JarbasAl Jul 22, 2025
15beb84
feat!: add collections and batch operations support to embeddings plu…
JarbasAl Jul 22, 2025
cefd6db
Increment Version to 2.0.0a1
JarbasAl Jul 22, 2025
9b53aae
Update Changelog
JarbasAl Jul 22, 2025
87f9ad4
Update requests requirement from ~=2.26 to ~=2.32 in /requirements (#…
dependabot[bot] Jul 22, 2025
dd3f447
Increment Version to 2.0.0a2
JarbasAl Jul 22, 2025
ce2106c
Update Changelog
JarbasAl Jul 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release_workflow.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: Release Alpha and Propose Stable

on:
workflow_dispatch:
pull_request:
types: [closed]
branches: [dev]

jobs:
publish_alpha:
if: github.event.pull_request.merged == true
uses: TigreGotico/gh-automations/.github/workflows/publish-alpha.yml@master
secrets: inherit
with:
Expand Down
31 changes: 28 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,37 @@
# Changelog

## [1.0.3a1](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/1.0.3a1) (2025-06-10)
## [2.0.0a2](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/2.0.0a2) (2025-07-22)

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

**Merged pull requests:**

- refactor: simplify pipeline factory, missed in previous PR [\#327](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/327) ([JarbasAl](https://github.com/JarbasAl))
- Update requests requirement from ~=2.26 to ~=2.32 in /requirements [\#330](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/330) ([dependabot[bot]](https://github.com/apps/dependabot))

## [2.0.0a1](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/2.0.0a1) (2025-07-22)

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

**Breaking changes:**

- feat!: add collections and batch operations support to embeddings plu… [\#333](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/333) ([JarbasAl](https://github.com/JarbasAl))

## [1.0.4a2](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/1.0.4a2) (2025-07-22)

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

## [1.0.4a3](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/1.0.4a3) (2025-07-22)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/1.0.4a1...1.0.4a3)

**Merged pull requests:**

- Update langcodes requirement from ~=3.3.0 to ~=3.5.0 in /requirements [\#332](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/332) ([dependabot[bot]](https://github.com/apps/dependabot))
- Update combo-lock requirement from ~=0.2 to ~=0.3 in /requirements [\#331](https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/331) ([dependabot[bot]](https://github.com/apps/dependabot))

## [1.0.4a1](https://github.com/OpenVoiceOS/ovos-plugin-manager/tree/1.0.4a1) (2025-06-18)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-plugin-manager/compare/1.0.3...1.0.4a1)



Expand Down
205 changes: 96 additions & 109 deletions downstream_report.txt

Large diffs are not rendered by default.

100 changes: 74 additions & 26 deletions ovos_plugin_manager/embeddings.py
Original file line number Diff line number Diff line change
@@ -1,78 +1,126 @@
from ovos_plugin_manager.templates.embeddings import EmbeddingsDB, TextEmbeddingsStore, FaceEmbeddingsStore, VoiceEmbeddingsStore
from ovos_plugin_manager.templates.embeddings import EmbeddingsDB, ImageEmbedder, TextEmbedder, VoiceEmbedder, FaceEmbedder
from ovos_plugin_manager.utils import PluginTypes


def find_embeddings_plugins() -> dict:
def find_embeddings_db_plugins() -> dict:
"""
Find all installed plugins
@return: dict plugin names to entrypoints
Discover all installed general embeddings database plugins.

Returns:
dict: A mapping of plugin names to their entrypoints for general embeddings database plugins.
"""
from ovos_plugin_manager.utils import find_plugins
return find_plugins(PluginTypes.EMBEDDINGS)


def load_embeddings_plugin(module_name: str) -> type(EmbeddingsDB):
def load_embeddings_db_plugin(module_name: str) -> type(EmbeddingsDB):
"""
Get an uninstantiated class for the requested module_name
@param module_name: Plugin entrypoint name to load
@return: Uninstantiated class
Load and return the uninstantiated class of a general embeddings database plugin by its module name.

Parameters:
module_name (str): The entrypoint name of the embeddings database plugin to load.

Returns:
type(EmbeddingsDB): The plugin class corresponding to the specified module name.
"""
from ovos_plugin_manager.utils import load_plugin
return load_plugin(module_name, PluginTypes.EMBEDDINGS)


def find_voice_embeddings_plugins() -> dict:
"""
Find all installed plugins
@return: dict plugin names to entrypoints
Discover all installed voice embeddings plugins.

Returns:
dict: A mapping of plugin names to their entrypoints for available voice embeddings plugins.
"""
from ovos_plugin_manager.utils import find_plugins
return find_plugins(PluginTypes.VOICE_EMBEDDINGS)


def load_voice_embeddings_plugin(module_name: str) -> type(VoiceEmbeddingsStore):
def load_voice_embeddings_plugin(module_name: str) -> type(VoiceEmbedder):
"""
Get an uninstantiated class for the requested module_name
@param module_name: Plugin entrypoint name to load
@return: Uninstantiated class
Load and return the uninstantiated class of a voice embeddings plugin by its module name.

Parameters:
module_name (str): The entrypoint name of the voice embeddings plugin to load.

Returns:
type(VoiceEmbedder): The uninstantiated class of the specified voice embeddings plugin.
"""
from ovos_plugin_manager.utils import load_plugin
return load_plugin(module_name, PluginTypes.VOICE_EMBEDDINGS)


def find_image_embeddings_plugins() -> dict:
"""
Discover all installed image embeddings plugins.

Returns:
dict: A mapping of plugin names to their entrypoints for image embeddings plugins.
"""
from ovos_plugin_manager.utils import find_plugins
return find_plugins(PluginTypes.IMAGE_EMBEDDINGS)


def load_image_embeddings_plugin(module_name: str) -> type(ImageEmbedder):
"""
Load and return the uninstantiated class of an image embeddings plugin specified by its module name.

Parameters:
module_name (str): The entrypoint name of the image embeddings plugin to load.

Returns:
type(ImageEmbedder): The uninstantiated class of the requested image embeddings plugin.
"""
from ovos_plugin_manager.utils import load_plugin
return load_plugin(module_name, PluginTypes.IMAGE_EMBEDDINGS)

def find_face_embeddings_plugins() -> dict:
"""
Find all installed plugins
@return: dict plugin names to entrypoints
Find all installed face embeddings plugins.

Returns:
dict: A mapping of plugin names to their entrypoints for face embeddings plugins.
"""
from ovos_plugin_manager.utils import find_plugins
return find_plugins(PluginTypes.FACE_EMBEDDINGS)


def load_face_embeddings_plugin(module_name: str) -> type(FaceEmbeddingsStore):
def load_face_embeddings_plugin(module_name: str) -> type(FaceEmbedder):
"""
Get an uninstantiated class for the requested module_name
@param module_name: Plugin entrypoint name to load
@return: Uninstantiated class
Load and return the uninstantiated class of a face embeddings plugin by its module name.

Parameters:
module_name (str): The entrypoint name of the face embeddings plugin to load.

Returns:
type(FaceEmbedder): The uninstantiated class of the specified face embeddings plugin.
"""
from ovos_plugin_manager.utils import load_plugin
return load_plugin(module_name, PluginTypes.FACE_EMBEDDINGS)


def find_text_embeddings_plugins() -> dict:
"""
Find all installed plugins
@return: dict plugin names to entrypoints
Discover all installed text embeddings plugins.

Returns:
dict: A mapping of plugin names to their entrypoints for text embeddings plugins.
"""
from ovos_plugin_manager.utils import find_plugins
return find_plugins(PluginTypes.TEXT_EMBEDDINGS)


def load_text_embeddings_plugin(module_name: str) -> type(TextEmbeddingsStore):
def load_text_embeddings_plugin(module_name: str) -> type(TextEmbedder):
"""
Get an uninstantiated class for the requested module_name
@param module_name: Plugin entrypoint name to load
@return: Uninstantiated class
Load and return the uninstantiated class of a text embeddings plugin specified by its module name.

Parameters:
module_name (str): The entrypoint name of the text embeddings plugin to load.

Returns:
type(TextEmbedder): The uninstantiated class of the specified text embeddings plugin.
"""
from ovos_plugin_manager.utils import load_plugin
return load_plugin(module_name, PluginTypes.TEXT_EMBEDDINGS)
Loading