Source code for pinecone.preview.index

"""Preview index data-plane wrapper (2026-01.alpha)."""

from __future__ import annotations

from typing import TYPE_CHECKING, Any

from pinecone.preview.documents import PreviewDocuments as PreviewDocuments

if TYPE_CHECKING:
    from pinecone._internal.config import PineconeConfig

__all__ = ["PreviewDocuments", "PreviewIndex"]


[docs] class PreviewIndex: """Data-plane wrapper for a preview index. .. admonition:: Preview :class: warning Uses Pinecone API version ``2026-01.alpha``. Preview surface is not covered by SemVer — signatures and behavior may change in any minor SDK release. Pin your SDK version when relying on preview features. Obtain via ``pc.preview.index(name=...)`` or ``pc.preview.index(host=...)``. Args: host: Normalized data-plane host URL for this index. config: SDK configuration shared with the parent client. Examples: >>> from pinecone import Pinecone >>> pc = Pinecone(api_key="your-api-key") >>> with pc.preview.index(name="articles-en-preview") as index: ... response = index.documents.upsert( ... namespace="articles-en", ... documents=[{"_id": "doc-1", "title": "Introduction to vectors"}], ... ) Explicit open/close when a context manager is not convenient: >>> index = pc.preview.index(host="https://my-index.svc.pinecone.io") >>> try: ... response = index.documents.upsert( ... namespace="articles-en", ... documents=[{"_id": "doc-1", "title": "Introduction to vectors"}], ... ) ... finally: ... index.close() """
[docs] def __init__(self, host: str, config: PineconeConfig) -> None: self._host = host self._config = config self.documents = PreviewDocuments(config=config, host=host)
@property def host(self) -> str: """Data-plane host URL for this index. .. admonition:: Preview :class: warning Uses Pinecone API version ``2026-01.alpha``. Preview surface is not covered by SemVer — signatures and behavior may change in any minor SDK release. Pin your SDK version when relying on preview features. Examples: >>> from pinecone import Pinecone >>> pc = Pinecone(api_key="your-api-key") >>> index = pc.preview.index(host="https://my-index.svc.pinecone.io") >>> print(index.host) https://my-index.svc.pinecone.io """ return self._host
[docs] def close(self) -> None: """Close the underlying HTTP client. Idempotent. .. admonition:: Preview :class: warning Uses Pinecone API version ``2026-01.alpha``. Preview surface is not covered by SemVer — signatures and behavior may change in any minor SDK release. Pin your SDK version when relying on preview features. Examples: >>> from pinecone import Pinecone >>> pc = Pinecone(api_key="your-api-key") >>> index = pc.preview.index(host="https://my-index.svc.pinecone.io") >>> index.close() """ self.documents.close()
def __enter__(self) -> PreviewIndex: return self def __exit__(self, *args: Any) -> None: self.close() def __repr__(self) -> str: return f"PreviewIndex(host={self._host!r})"