Metadata-Version: 2.5
Name: render-lab-tasks-pinecone
Version: 0.1.0
Summary: pinecone tasks for Render Workflows
Project-URL: Repository, https://github.com/render-lab/render-tasks-python
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: httpx<0.29,>=0.28
Requires-Dist: render-lab-tasks-core<0.2,>=0.1.1
Requires-Dist: render==1.0.1
Description-Content-Type: text/markdown

# render-lab-tasks-pinecone

Twelve tasks for index provisioning, namespaces, vectors, search, and bulk imports.
Import `render_lab_tasks_pinecone.tasks` for registration; each operation exports
an injectable async `*_impl(ctx, input, *, deps=...)` alongside the wrapped task.

`PINECONE_API_KEY` is required at first use. Data-plane calls first describe the
index to resolve its HTTPS host. REST requests use API version 2026-04, matching
the pinned TypeScript SDK 8.0.0. There are no transport retry loops. Stable vector
IDs support convergent upserts; startImport has no automatic durable retries.

Provisioning checks immutable dimension/metric/cloud/region fields. Search takes
exactly one vector or ID. Delete requires exactly one ids/filter/deleteAll mode.
Upsert/fetch are capped at 1,000 records; list/search/fetch DTOs are rejected at
4 MiB. Namespace record counts that arrive as strings remain null, matching the
source mapping; this inherited loss is tracked for live validation.

Bulk import options map to errorMode.onError and integrationId. Await operations
poll by throwing. Terminal exceptions still follow the source durable policy.
The source provision error embeds undefined status because its message is built
before the first read; Python preserves it for source parity.

The hermetic fixtures run through the actual TS SDK with an injected fetch and
compare wire requests and DTO results. No live indexes, imports, or vector writes
have been performed. Account/region availability, namespace schema enforcement,
imports, bounds, and conflict recovery remain in the live-testing backlog.

## Installation

```sh
pip install render-lab-tasks-pinecone==0.1.0
```
