Skip to content

[Bug] [Plugins] Pinecone Python plugins cause problems with autocomplete (intellisense) in IDEs #423

Open
@austin-denoble

Description

@austin-denoble
  • I believe this is a new bug
  • I have searched the existing Github issues and Community Forum, and I could not find an existing post for this bug

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:

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 like Pinecone.inference.<function> you may see warnings about the inference module not existing.

pip install pinecone
pip install pinecone-plugin-inference # the inference plugin is also included with the latest version of the python client

Then, when working with client while developing, you may run into something like this where the attribute on the Pinecone class is untyped:
Screenshot 2024-12-12 at 6 07 40 PM

We're working on improving this experience, most likely through moving functionality out of the plugin ecosystem, and into the core SDK.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingwontfixThis will not be worked on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions