A Python interface to EmbeddingBridge for embedding storage and command execution.
- Python ctypes bindings to the C core
- Embedding store and retrieval
- CLI wrapper to programmatically run EmbeddingBridge commands
- Vector similarity search
- Simple and intuitive API
pip install -e .- Python 3.7+
- NumPy
- pandas
- pyarrow
- boto3 (for S3 support)
- zstandard
from embeddingbridge import EmbeddingStore
# Create a new store
store = EmbeddingStore("path/to/store", dimension=384)
# Add a vector
vector_id = store.add_vector([0.1, 0.2, ...]) # Your vector values
# Or add from a file
file_id = store.add_embedding_from_file("path/to/embedding.npy")
# Retrieve a vector and metadata by ID
vector_data = store.get_vector(vector_id)
print(vector_data["vector"], vector_data["metadata"])from embeddingbridge import EmbeddingBridge
# Initialize repository
embr = EmbeddingBridge()
init_result = embr.init()
# Register a model
embr.model_register("text-embedding-3-small", dimensions=1536, normalize=True)
# Store an embedding file
store_result = embr.store("vector.npy", "document.txt")
print(store_result.stdout)__init__(path, dimension=None): Initialize a new embedding store or open an existing oneadd_vector(vector): Add a vector to the store and return its IDadd_embedding_from_file(file_path): Add an embedding from a file and return its IDget_vector(id): Retrieve a stored vector and metadata by IDclose(): Close the storedimension: Property returning the dimension of vectors
__init__(working_dir=None): Initialize an EmbeddingBridge CLI wrapper (optional working directory)init(): Initialize an EmbeddingBridge repositorymodel_register(name, dimensions, normalize=False, description=None): Register a new modelmodel_list(): List registered modelsstore(embedding_file, source_file): Store an embedding filestatus(source_file=None, verbose=False): Get status of a filelog(source_file): Display log of versionsdiff(hash1, hash2): Compare versions of embeddingsrm(source_file, model=None, cached=False): Remove an embeddingrollback(hash_value, source_file, model=None): Roll back to a previous versionconfig(*cmd_args): Run a config command with provided argumentsgc(*options): Run garbage collection (e.g.,-nfor dry-run)get(remote, path): Download a file or directory from a remote repositorymerge(source_set, target_set=None, strategy=None): Merge embeddings from one set to anotherpush(remote, set_name=None): Push a set to a remotepull(remote, set_name=None): Pull a set from a remoteremote(*subargs): Manage remotes (add, list, remove, etc.)