v9.0.0
Breaking Changes📦 pinecone-clientView on GitHub →
⚠ 2 breaking✨ 7 features⚡ 1 deprecations🔧 8 symbols
Summary
Version 9.0.0 is a complete rewrite of the Pinecone Python SDK, focusing on simplified installation, substantial performance gains via new serialization/transport layers, and a cleaner, resource-oriented client architecture. Python 3.10+ is now required.
⚠️ Breaking Changes
- The client organization is now resource-oriented (e.g., use `pc.indexes.create` instead of flat v8 method names). Deprecated aliases for v8 flat method names are in place, but code changes may be required.
- Python 3.9 is no longer supported; Python 3.10+ is now required.
Migration Steps
- Update installation command to `pip install pinecone`. Extras like `[grpc]` or `[asyncio]` are obsolete.
- Update code to use the new resource-oriented client structure (e.g., `pc.indexes.create` instead of old flat methods). Check the migration guide for specific signature changes.
- Ensure the environment uses Python 3.10 or newer.
✨ New Features
- Installation simplifies to `pip install pinecone`; gRPC and asyncio transports are included in the base package.
- Significant end-to-end performance improvements observed, especially for batch upserts (up to 17× faster) and query deserialization (3.4× faster).
- The full public surface is now type-checked with `mypy --strict`, providing complete annotations.
- Runtime dependency count reduced to three: `httpx[http2]`, `msgspec`, and `orjson`. `grpcio` is no longer a runtime dependency.
- Control plane methods are organized resource-oriented (e.g., `pc.indexes`, `pc.collections`).
- The `pc.preview` namespace is introduced for public preview features, starting with full-text search over documents.
- Assistant functionality is built into the core client via `pc.assistant`, retiring the separate plugin package.
Affected Symbols
⚡ Deprecations
- The `pinecone-plugin-assistant` package and plugin discovery system are retired; assistant functionality is now integrated into `pc.assistant`.