Update docstrings and type hints for Index and IndexAsyncio #535
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.
Improve Index and IndexAsyncio classes: code quality and consistency
Summary
Improvements to the
IndexandIndexAsyncioclasses for code quality, type safety, error handling, and documentation. Changes are non-breaking and maintain backward compatibility.Changes Made
1. Fixed Mutable Default Argument
pinecone/db_data/index.py,pinecone/db_data/index_asyncio.pyadditional_headers: Optional[Dict[str, str]] = {}to= Nonewith initialization inside the method2. Fixed Outdated Comment
pinecone/db_data/index.py3. Added Missing Documentation
pinecone/db_data/index.py,pinecone/db_data/index_asyncio.pyupsert_recordsmethod with Args, Examples, and usage details4. Added Validation Decorator
pinecone/db_data/index.py,pinecone/db_data/index_asyncio.py@validate_and_convert_errorsdecorator toupsert_recordsmethod for consistent error handling5. Improved Type Hints
pinecone/db_data/index.py,pinecone/db_data/index_asyncio.pyrecords: List[Dict]toList[Dict[str, Any]]inupsert_recordsmethod for better type safety6. Improved Exception Handling
pinecone/db_data/index.py,pinecone/db_data/index_asyncio.pyraise Exception(...)withraise ValueError(...)insearchmethods for more appropriate exception typesTesting
Impact
upsert_recordsmethod@validate_and_convert_errorsdecorator and appropriate exception typesFiles Changed
pinecone/db_data/index.pypinecone/db_data/index_asyncio.py