Skip to content

Releases: pinecone-io/pinecone-python-client

Release v3.0.0

16 Jan 13:00
Compare
Choose a tag to compare

Serverless indexes are currently in public preview, so make sure to review the current limitations and test thoroughly before using in production.

Changes overview

  • Deploy Pinecone’s new serverless indexes. The create_index method has been refactored to accept a PodSpec or ServerlessSpec depending on how you would like to deploy your index. Many old properties such as pod_type, replicas, etc are moved into PodSpec since they do not apply to serverless indexes.
  • Understand cost. The quantity of read units consumed by each serverless query and fetch call are now returned with the response.
  • Flexible API Keys. The v3.0.0 Python SDK is consuming the new Control Plane API hosted at https://api.pinecone.io/. This new API allows for a lot more flexibility in how API keys are used in comparison to the past when a rigid 1:1 relationship was enforced between projects and environments.
  • State encapsulation with classes. We’ve refactored away from global state variables set with pinecone.init into new Pinecone class instances that encapsulate their configuration state. This change enables users to interact with Pinecone using multiple API keys if they wish.
  • Streamlined dependencies, smoother installs.
    • Removed many dependencies: numpy, pyyaml, loguru, requests, dnspython
    • Expanded the urllib3 support back to 1.26.x
    • Everything GRPC-related is now moved into a subpackage, pinecone.grpc, so that GRPC code is only imported when needed. For applications using REST, this will mean quicker startup and fewer dependency clashes with other packages.
  • Richer responses. The list_indexes and list_collections methods now return an array with full descriptions of each resource, not merely an array of names.
  • Migration to the Apache 2 open source license. We’ve moved from a proprietary EULA to a more welcoming Apache 2 license to make it easier than ever for people to incorporate the Pinecone Python SDK into their projects.
  • Bug fixes:
    • Removed code that was erroneously parsing some metadata into DateTime objects.
    • Refactored urllib3 usage to stop spamming deprecation warning messages.
    • Suppressed a tqdm warning that was appearing during notebook runs.
  • Tidying up / Breaking changes
    • list_indexes now returns additional data, and to continue iterating over an array of names you need to chain a call to a new helper method .names(). See here.
    • list_collections has changed very similar to list_indexes. Use .names(). See here.
    • describe_index takes the same arguments as before (the index name), but returns data in a different shape reflecting the move of some configurations under the spec key and elevation of host to the top level. See a table of changed properties here.
    • The order of positional arguments to the query method has been updated to reflect that top_k is a required parameter. If you previously relied on passing your query vector as the first positional argument, you’ll see a strange error from the API about duplicate top_k values being passed. We recommend adopting keyword arguments to fix and be resilient to any future changes, e.g. index.query(vector=vec, top_k=10)
    • query() no longer accepts multiple queries via the queries keyword argument.
  • Debugging tools. See what data is coming and going with a new environment variable, PINECONE_DEBUG_CURL='true'

New Contributors

Full Changelog: v2.2.4...v3.0.0.dev10

Release v2.2.4

15 Sep 15:56
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.2.2...v2.2.4

Release v2.2.2

07 Jun 06:02
Compare
Choose a tag to compare

Changelog

Security Fixes

  • numpy dependency from unpinned to >=1.22.0 to address low severity CVE-2021-34141
  • protobuf dependency from 3.19.3 to ~=3.19.5 to address a potential denial-of-service vector. This should only affect those consuming the grpc-flavored version of the client via pinecone-client[grpc].

Numpy features deprecated

We plan to remove our dependency on numpy in a future release to simplify the install experience. Deprecation warnings have been added to code paths where numpy is currently in use. Let us know if you have concerns about this.

End of Python 3.7 Support

We have also removed support for Python 3.7 which has reached the official end-of-life. The last version of the pinecone-client to support Python 3.7 is v2.2.1. Our numpy dependency forced our hand in this decision to drop support because numpy 1.22.0 no longer supports Python 3.7.

Release v2.2.0

22 Feb 17:10
Compare
Choose a tag to compare

Change log:

  • Support for Vector sparse_values
  • Added function upsert_from_dataframe() which allows upserting a large dataset of vectors by providing a Pandas dataframe
  • Added option to pass vectors to upsert() as a list of dictionaries
  • Implemented GRPC retry by directly configuring the low-level grpcio behavior, instead of wrapping with an interceptor

Release 2.1.0

03 Jan 14:57
f9c7c2c
Compare
Choose a tag to compare

Change log:

  • Fix "Connection Reset by peer" error after long idle periods
  • Add typing and explicit names for arguments in all client operations
  • Add docstrings to all client operations
  • Support batch upsert by passing batch_size to upsert method
  • Improve gRPC query results parsing performance

v2.0.13

16 Aug 14:23
Compare
Choose a tag to compare
Release v2.0.13

Release 2.0.12

08 Aug 17:47
Compare
Choose a tag to compare
v2.0.12

release 2.0.12

Release 2.0.11

06 Jun 16:19
Compare
Choose a tag to compare
v2.0.11

release v2.0.11

v2.0.10

29 Apr 16:22
Compare
Choose a tag to compare
Release v2.0.10

Release v2.0.9

11 Apr 16:05
Compare
Choose a tag to compare
Release v2.0.9