feat: make asyncio extra optional #84
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
pinecone[asyncio]for sync‑only users; require it only when async APIs are used.Changes
vectorstores: lazy‑importPineconeAsyncio; inasync_indexraise ImportError with guidance if missing; sync paths unchanged.embeddings: lazy‑importPineconeAsyncio;async_clientraises ImportError with guidance if missing.rerank: lazy‑importPineconeAsyncio;_get_async_clientraises ImportError; publicareranklogs and returns[]when extra is missing.libs/pinecone/pyproject.toml):pinecone>=6,<8(no asyncio extra by default).asyncio = ["pinecone[asyncio]>=6,<8"].pinecone[asyncio]totestandtest_integrationgroups.tests/unit_tests/test_optional_asyncio.pyverifying:_get_async_client()raises ImportError;arerank()returns[]and logs guidance.Developer Notes
pip install langchain-pinecone[asyncio](package extra)pinecone[asyncio]is present in their environment.Fixes