[Bug] [Plugins] Pinecone Python plugins cause problems with autocomplete (intellisense) in IDEs #423
Labels
bug
Something isn't working
status:needs-triage
An issue that needs to be triaged by the Pinecone team
Describe the bug
In order to support early access to features and API changes outside of the standard release cycle, the
pinecone
python client introduced plugins as a way to add additional functionality to the core, stable SDK. There are currently three plugins which offer assistant, inference, and records support against upcoming API version changes:pinecone-plugin-inference
- https://pypi.org/project/pinecone-plugin-inference/pinecone-plugin-records
- https://pypi.org/project/pinecone-plugin-records/pinecone-plugin-assistant
- https://pypi.org/project/pinecone-plugin-assistant/Installation and usage instructions can be found on pypi above as a part of each client.
These plugins can be included in the pinecone SDK directly, or added individually as additional dependencies alongside the SDK.
When these plugin dependencies are installed alongside the pinecone SDK, they will attach additional functionality to the relevant client classes at runtime.
This means that when working with the
pinecone
client and plugins within an IDE development context, autocomplete and intellisense tools may have trouble reconciling the functionality added at runtime.Error information
The most likely presentation of this issue is losing contextual information when working in an IDE's autocomplete, intellisense, etc. The code that is attached to the client through a plugin will not be easily visible in your IDE. You may see pop-up errors mentioning things don't exist, or are untyped.
Steps to reproduce the issue locally
Install the
pinecone
client along with one of the plugins in an existing python project. When trying to work with something likePinecone.inference.<function>
you may see warnings about the inference module not existing.Then, when working with client while developing, you may run into something like this where the attribute on the Pinecone class is untyped:
We're working on improving this experience, most likely through moving functionality out of the plugin ecosystem, and into the core SDK.
The text was updated successfully, but these errors were encountered: