Configuration
Everything the client needs, in one frozen dataclass.
DynavecConfig is an immutable description of your resources and tuning. It never holds secrets —
credentials are passed separately (see Credentials & IAM).
from dynavec import DynavecConfig
cfg = DynavecConfig(
vector_bucket="my-vectors", # S3 vector bucket name
index="docs", # vector index name
table="dynavec_docs", # DynamoDB table name
dimension=1536, # must match your embedder
distance_metric="cosine", # "cosine" or "euclidean" (S3 Vectors native)
region="us-east-1",
filterable_keys=["topic"], # metadata keys pushed to S3 Vectors for filtering
over_fetch=4, # candidate multiplier when reranking
top_k_page_size=50, # optional client-side stream batch size
max_workers=8, # thread pool for parallel I/O
auto_provision=True,
)
Key parameters
| Field | Meaning |
|---|---|
dimension | Embedding size; must match the embedder and the index. |
distance_metric | The S3 Vectors index metric. Other metrics are available at rerank time — see Metrics. |
filterable_keys | Small allowlist of metadata pushed to S3 Vectors. Everything else lives only in DynamoDB. Keep it small. |
over_fetch | How many extra candidates to pull before reranking/rescoring. |
top_k_page_size | Client-side stream hydration batch. None (default) uses native S3 Vectors pages (at most 100). Does not change the service page size. |
max_workers, parallel_writes | Thread-pool concurrency controls. |