refactor: convert providers to be installed via package

currently providers have a `pip_package` list. Rather than make our own form of python dependency management, we should use `pyproject.toml` files in each provider declaring the dependencies in a more trackable manner.
Each provider can then be installed using the already in place `module` field in the ProviderSpec, pointing to the directory the provider lives in
we can then simply `uv pip install` this directory as opposed to installing the dependencies one by one

Signed-off-by: Charlie Doern <cdoern@redhat.com>
This commit is contained in:
Charlie Doern 2025-07-29 15:18:54 -04:00
parent a1301911e4
commit 41431d8bdd
76 changed files with 1294 additions and 134 deletions

View file

@ -0,0 +1,20 @@
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "llama-stack-provider-vector-io-chroma"
version = "0.1.0"
description = "Chroma inline vector database provider for Llama Stack"
authors = [{ name = "Meta Llama", email = "llama-oss@meta.com" }]
requires-python = ">=3.12"
license = { "text" = "MIT" }
dependencies = [
"chromadb",
]
[tool.setuptools.packages.find]
where = ["."]
include = ["llama_stack*"]

View file

@ -0,0 +1,20 @@
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "llama-stack-provider-vector-io-faiss"
version = "0.1.0"
description = "Faiss inline vector database provider for Llama Stack"
authors = [{ name = "Meta Llama", email = "llama-oss@meta.com" }]
requires-python = ">=3.12"
license = { "text" = "MIT" }
dependencies = [
"faiss-cpu",
]
[tool.setuptools.packages.find]
where = ["."]
include = ["llama_stack*"]

View file

@ -0,0 +1,20 @@
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "llama-stack-provider-vector-io-milvus"
version = "0.1.0"
description = "Milvus inline vector database provider for Llama Stack"
authors = [{ name = "Meta Llama", email = "llama-oss@meta.com" }]
requires-python = ">=3.12"
license = { "text" = "MIT" }
dependencies = [
"pymilvus[milvus-lite]>=2.4.10",
]
[tool.setuptools.packages.find]
where = ["."]
include = ["llama_stack*"]

View file

@ -0,0 +1,20 @@
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "llama-stack-provider-vector-io-qdrant"
version = "0.1.0"
description = "Qdrant inline vector database provider for Llama Stack"
authors = [{ name = "Meta Llama", email = "llama-oss@meta.com" }]
requires-python = ">=3.12"
license = { "text" = "MIT" }
dependencies = [
"qdrant-client",
]
[tool.setuptools.packages.find]
where = ["."]
include = ["llama_stack*"]

View file

@ -0,0 +1,20 @@
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "llama-stack-provider-vector-io-sqlite-vec"
version = "0.1.0"
description = "SQLite-Vec inline vector database provider for Llama Stack"
authors = [{ name = "Meta Llama", email = "llama-oss@meta.com" }]
requires-python = ">=3.12"
license = { "text" = "MIT" }
dependencies = [
"sqlite-vec",
]
[tool.setuptools.packages.find]
where = ["."]
include = ["llama_stack*"]