Releases: pinecone-io/pinecone-python-client
Releases · pinecone-io/pinecone-python-client
Release v3.0.0
- Existing users will want to checkout the v3.0.0 Migration Guide for a walkthrough of all the new features and changes.
- New users should start with the README and Reference Docs
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_indexmethod has been refactored to accept aPodSpecorServerlessSpecdepending on how you would like to deploy your index. Many old properties such aspod_type,replicas, etc are moved intoPodSpecsince they do not apply to serverless indexes. - Understand cost. The quantity of read units consumed by each serverless
queryandfetchcall 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.initinto newPineconeclass 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
urllib3support back to1.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.
- Removed many dependencies:
- Richer responses. The
list_indexesandlist_collectionsmethods 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
DateTimeobjects. - Refactored
urllib3usage to stop spamming deprecation warning messages. - Suppressed a
tqdmwarning that was appearing during notebook runs.
- Removed code that was erroneously parsing some metadata into
- Tidying up / Breaking changes
list_indexesnow 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_collectionshas changed very similar to list_indexes. Use.names(). See here.describe_indextakes the same arguments as before (the index name), but returns data in a different shape reflecting the move of some configurations under thespeckey and elevation ofhostto the top level. See a table of changed properties here.- The order of positional arguments to the
querymethod has been updated to reflect thattop_kis 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 duplicatetop_kvalues 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 thequerieskeyword argument.
- Debugging tools. See what data is coming and going with a new environment variable,
PINECONE_DEBUG_CURL='true'
New Contributors
- @zackproser migrated the repository onto poetry in #193
- @austin-denoble made numerous documentation and CI contributions, beginning with #208
- @loisaidasam spotted some typos in #254
Full Changelog: v2.2.4...v3.0.0.dev10
Release v2.2.4
What's Changed
- Bump protobuf dependency to 3.20.x by @jhamon in #185
- CI setup for nightly python builds by @jhamon in #179
- Docs improvements
- by @byronnlandry in #187
- by @byronnlandry in #188
- by @efung in #191
- Fixing annoying urllib3 deprecation error
- Give feedback when
environmentkwarg mispelled by @tdonia in #198
New Contributors
- @efung made their first contribution in #191
- @izeye made their first contribution in #195
- @tdonia made their first contribution in #197
Full Changelog: v2.2.2...v2.2.4
Release v2.2.2
Changelog
Security Fixes
numpydependency from unpinned to>=1.22.0to address low severity CVE-2021-34141protobufdependency from3.19.3to~=3.19.5to address a potential denial-of-service vector. This should only affect those consuming the grpc-flavored version of the client viapinecone-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
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
grpciobehavior, instead of wrapping with an interceptor
Release 2.1.0
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_sizetoupsertmethod - Improve gRPC query results parsing performance
v2.0.13
Release 2.0.12
v2.0.12 release 2.0.12
Release 2.0.11
v2.0.11 release v2.0.11
v2.0.10
Release v2.0.9
Release v2.0.9