ai-parrot-embeddings
Concrete backend implementations for the AI-Parrot retrieval stack: embedding models, vector stores, and rerankers.
What's in this package
This satellite contributes modules to three subsystems of the
parrot.* namespace:
parrot.embeddings.{google, huggingface, openai}— embedding backendsparrot.stores.{postgres, pgvector, milvus, arango, bigquery, faiss_store}— vector storesparrot.rerankers.{local, llm}— rerankers
The abstract base classes (EmbeddingModel, AbstractStore, AbstractReranker),
the registries (EmbeddingRegistry), the dispatch maps (supported_embeddings,
supported_stores), and all shared types (parrot.stores.models.Document,
SearchResult, etc.) remain in the ai-parrot core package.
Import contract
This package uses PEP 420 implicit namespace packages. Its modules ship
directly under the existing parrot.* namespace — no separate top-level.
Existing imports continue to work unchanged once installed:
from parrot.embeddings.huggingface import SentenceTransformerModel # from satellite
from parrot.stores.pgvector import PgVectorStore # from satellite
from parrot.embeddings import EmbeddingRegistry # from core
from parrot.stores import AbstractStore, supported_stores # from core
No code changes are needed in user projects after upgrading from
ai-parrot[embeddings] to ai-parrot-embeddings[...].
Install
| Goal | Command |
|---|---|
| Core framework only (no backends) | pip install ai-parrot |
| One backend | pip install ai-parrot-embeddings[pgvector] |
| Multiple backends | pip install ai-parrot-embeddings[pgvector,milvus,huggingface] |
| Embeddings + vector stores | pip install ai-parrot-embeddings[huggingface,pgvector] |
| Rerankers | pip install ai-parrot-embeddings[reranker-local] |
| Everything | pip install ai-parrot-embeddings[all] |
| Legacy all-in-one (unchanged) | pip install ai-parrot[all] |
Extras
| Extra | Pulls in | Enables |
|---|---|---|
huggingface |
sentence-transformers, tokenizers, safetensors, einops, accelerate, peft, xformers, simsimd, bm25s, rank_bm25, sentencepiece |
parrot.embeddings.huggingface.SentenceTransformerModel |
google |
google-genai, google-cloud-aiplatform |
parrot.embeddings.google.GoogleEmbeddingModel |
openai |
openai, tiktoken |
parrot.embeddings.openai.OpenAIEmbeddingModel |
pgvector |
pgvector==0.4.1 |
parrot.stores.postgres.PgVectorStore, parrot.stores.pgvector.PgVectorStore |
milvus |
pymilvus, milvus-lite |
parrot.stores.milvus.MilvusStore |
arango |
python-arango-async |
parrot.stores.arango.ArangoDBStore |
bigquery |
google-cloud-bigquery |
parrot.stores.bigquery.BigQueryStore |
faiss |
(no extra deps; faiss-cpu ships with ai-parrot core) |
parrot.stores.faiss_store.FAISSStore |
chroma |
(empty — chromadb removed due to unpatched CVEs) | (reserved) |
reranker-local |
sentence-transformers, tokenizers, safetensors |
parrot.rerankers.local.LocalCrossEncoderReranker |
reranker-llm |
(no extra deps; uses existing LLM clients) | parrot.rerankers.llm.LLMReranker |
all |
All of the above | Full retrieval stack |
Development
git clone https://github.com/phenobarbital/ai-parrot
cd ai-parrot
source .venv/bin/activate
uv pip install -e packages/ai-parrot -e packages/ai-parrot-embeddings
uv run pytest packages/ai-parrot-embeddings/tests/
Or for the full workspace (if no pre-existing dependency conflicts):
uv sync --all-packages
Architecture
This package uses PEP 420 implicit namespace packages (not the
parrot_<name>.* + sys.meta_path redirector pattern used by
ai-parrot-tools, -loaders, -pipelines). The satellite ships no
__init__.py files at parrot/, parrot/embeddings/, parrot/stores/,
or parrot/rerankers/. Python's import machinery merges the satellite's
directory entries with the host's regular packages at import time, because
the host's sub-package __init__.py files call pkgutil.extend_path.
Design rationale
- Spec:
sdd/specs/ai-parrot-embeddings.spec.md - Proposal:
sdd/proposals/ai-parrot-embeddings.proposal.md - Feature: FEAT-201
Metadata
Release files for ai-parrot-embeddings 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ai_parrot_embeddings-1.0.5.tar.gz | 123.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ai_parrot_embeddings-1.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 226.5 kB
Release files / ai_parrot_embeddings-1.0.5.tar.gz
| Download URL | ai_parrot_embeddings-1.0.5.tar.gz |
|---|---|
| Size | 123.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
baabc19bfb5b8281f87bc26d2b0ffdb1cc6f1bd513fd3cfd9dc4bd9244a10313
|
|
BLAKE2b-256 checksum How to use checksums |
d0a1606635b4e0cf7a8db5407f2a9aad4f3439c8b1b2b1abdd4c5a471cbdf726
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.
Transparency logRelease files / ai_parrot_embeddings-1.0.5-py3-none-any.whl
| Download URL | ai_parrot_embeddings-1.0.5-py3-none-any.whl |
|---|---|
| Size | 103.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e720080010d3ad09b3d0e18d3ad380eca1ae55886c95801ffed881d15f41d570
|
|
BLAKE2b-256 checksum How to use checksums |
3495f3fabbbdc6d8fdf5f722ca3f88bdd71141cbf503326d2e4557f2bc92ca25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.
Transparency log