pinecone 7.0.0.dev3__tar.gz → 7.0.1.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/PKG-INFO +5 -7
  2. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/README.md +3 -6
  3. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/__init__.py +16 -2
  4. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/__init__.pyi +34 -1
  5. pinecone-7.0.1.dev1/pinecone/__version__ +1 -0
  6. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/data/__init__.py +0 -2
  7. pinecone-7.0.1.dev1/pinecone/data/features/__init__.py +11 -0
  8. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/data/features/bulk_imports/__init__.py +4 -1
  9. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/backup_model.py +3 -3
  10. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/resources/asyncio/index.py +18 -32
  11. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/resources/sync/index.py +19 -31
  12. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/__init__.py +1 -1
  13. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/index.py +147 -3
  14. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/index_asyncio.py +134 -6
  15. {pinecone-7.0.0.dev3/pinecone/db_data/features/bulk_import → pinecone-7.0.1.dev1/pinecone/db_data/resources/asyncio}/bulk_import_asyncio.py +9 -9
  16. {pinecone-7.0.0.dev3/pinecone/db_data/features/bulk_import → pinecone-7.0.1.dev1/pinecone/db_data/resources/sync}/bulk_import.py +8 -8
  17. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/exceptions/exceptions.py +29 -2
  18. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/future.py +4 -5
  19. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/rest_aiohttp.py +18 -3
  20. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/rest_urllib3.py +1 -1
  21. pinecone-7.0.1.dev1/pinecone/openapi_support/retry_aiohttp.py +44 -0
  22. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/pinecone.py +6 -11
  23. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pyproject.toml +4 -3
  24. pinecone-7.0.0.dev3/pinecone/__version__ +0 -1
  25. pinecone-7.0.0.dev3/pinecone/data/features/__init__.py +0 -10
  26. pinecone-7.0.0.dev3/pinecone/db_data/features/bulk_import/__init__.py +0 -3
  27. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/LICENSE.txt +0 -0
  28. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/config/__init__.py +0 -0
  29. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/config/config.py +0 -0
  30. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/config/openapi_config_factory.py +0 -0
  31. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/config/openapi_configuration.py +0 -0
  32. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/config/pinecone_config.py +0 -0
  33. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/control/__init__.py +0 -0
  34. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/__init__.py +0 -0
  35. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/grpc/protos/db_data_2025_01_pb2.py +0 -0
  36. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/grpc/protos/db_data_2025_01_pb2.pyi +0 -0
  37. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/grpc/protos/db_data_2025_01_pb2_grpc.py +0 -0
  38. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/__init__.py +0 -0
  39. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/api/__init__.py +0 -0
  40. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/api/manage_indexes_api.py +0 -0
  41. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/apis/__init__.py +0 -0
  42. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/__init__.py +0 -0
  43. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/backup_list.py +0 -0
  44. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/backup_model.py +0 -0
  45. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/byoc_spec.py +0 -0
  46. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/collection_list.py +0 -0
  47. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/collection_model.py +0 -0
  48. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/configure_index_request.py +0 -0
  49. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/configure_index_request_embed.py +0 -0
  50. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/configure_index_request_spec.py +0 -0
  51. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/configure_index_request_spec_pod.py +0 -0
  52. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/create_backup_request.py +0 -0
  53. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/create_collection_request.py +0 -0
  54. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/create_index_for_model_request.py +0 -0
  55. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/create_index_for_model_request_embed.py +0 -0
  56. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/create_index_from_backup_request.py +0 -0
  57. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/create_index_from_backup_response.py +0 -0
  58. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/create_index_request.py +0 -0
  59. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/deletion_protection.py +0 -0
  60. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/error_response.py +0 -0
  61. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/error_response_error.py +0 -0
  62. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/index_list.py +0 -0
  63. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/index_model.py +0 -0
  64. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/index_model_spec.py +0 -0
  65. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/index_model_status.py +0 -0
  66. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/index_spec.py +0 -0
  67. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/index_tags.py +0 -0
  68. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/model_index_embed.py +0 -0
  69. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/pagination_response.py +0 -0
  70. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/pod_spec.py +0 -0
  71. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/pod_spec_metadata_config.py +0 -0
  72. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/restore_job_list.py +0 -0
  73. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/restore_job_model.py +0 -0
  74. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/model/serverless_spec.py +0 -0
  75. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_control/models/__init__.py +0 -0
  76. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/__init__.py +0 -0
  77. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/api/__init__.py +0 -0
  78. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/api/bulk_operations_api.py +0 -0
  79. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/api/namespace_operations_api.py +0 -0
  80. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/api/vector_operations_api.py +0 -0
  81. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/apis/__init__.py +0 -0
  82. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/__init__.py +0 -0
  83. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/delete_request.py +0 -0
  84. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/describe_index_stats_request.py +0 -0
  85. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/fetch_response.py +0 -0
  86. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/hit.py +0 -0
  87. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/import_error_mode.py +0 -0
  88. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/import_model.py +0 -0
  89. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/index_description.py +0 -0
  90. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/list_imports_response.py +0 -0
  91. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/list_item.py +0 -0
  92. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/list_namespaces_response.py +0 -0
  93. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/list_response.py +0 -0
  94. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/namespace_description.py +0 -0
  95. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/namespace_summary.py +0 -0
  96. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/pagination.py +0 -0
  97. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/protobuf_any.py +0 -0
  98. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/protobuf_null_value.py +0 -0
  99. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/query_request.py +0 -0
  100. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/query_response.py +0 -0
  101. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/query_vector.py +0 -0
  102. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/rpc_status.py +0 -0
  103. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/scored_vector.py +0 -0
  104. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/search_records_request.py +0 -0
  105. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/search_records_request_query.py +0 -0
  106. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/search_records_request_rerank.py +0 -0
  107. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/search_records_response.py +0 -0
  108. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/search_records_response_result.py +0 -0
  109. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/search_records_vector.py +0 -0
  110. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/search_usage.py +0 -0
  111. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/search_vector.py +0 -0
  112. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/single_query_results.py +0 -0
  113. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/sparse_values.py +0 -0
  114. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/start_import_request.py +0 -0
  115. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/start_import_response.py +0 -0
  116. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/update_request.py +0 -0
  117. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/upsert_record.py +0 -0
  118. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/upsert_request.py +0 -0
  119. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/upsert_response.py +0 -0
  120. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/usage.py +0 -0
  121. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/vector.py +0 -0
  122. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/model/vector_values.py +0 -0
  123. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/db_data/models/__init__.py +0 -0
  124. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/__init__.py +0 -0
  125. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/api/__init__.py +0 -0
  126. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/api/inference_api.py +0 -0
  127. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/apis/__init__.py +0 -0
  128. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/__init__.py +0 -0
  129. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/dense_embedding.py +0 -0
  130. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/document.py +0 -0
  131. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/embed_request.py +0 -0
  132. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/embed_request_inputs.py +0 -0
  133. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/embedding.py +0 -0
  134. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/embeddings_list.py +0 -0
  135. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/embeddings_list_usage.py +0 -0
  136. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/error_response.py +0 -0
  137. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/error_response_error.py +0 -0
  138. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/model_info.py +0 -0
  139. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/model_info_list.py +0 -0
  140. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/model_info_metric.py +0 -0
  141. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/model_info_supported_metrics.py +0 -0
  142. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/model_info_supported_parameter.py +0 -0
  143. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/ranked_document.py +0 -0
  144. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/rerank_request.py +0 -0
  145. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/rerank_result.py +0 -0
  146. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/rerank_result_usage.py +0 -0
  147. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/model/sparse_embedding.py +0 -0
  148. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/core/openapi/inference/models/__init__.py +0 -0
  149. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/data/features/inference/__init__.py +0 -0
  150. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/__init__.py +0 -0
  151. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/db_control.py +0 -0
  152. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/db_control_asyncio.py +0 -0
  153. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/enums/__init__.py +0 -0
  154. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/enums/clouds.py +0 -0
  155. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/enums/deletion_protection.py +0 -0
  156. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/enums/metric.py +0 -0
  157. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/enums/pod_index_environment.py +0 -0
  158. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/enums/pod_type.py +0 -0
  159. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/enums/vector_type.py +0 -0
  160. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/index_host_store.py +0 -0
  161. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/__init__.py +0 -0
  162. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/backup_list.py +0 -0
  163. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/byoc_spec.py +0 -0
  164. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/collection_description.py +0 -0
  165. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/collection_list.py +0 -0
  166. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/index_description.py +0 -0
  167. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/index_list.py +0 -0
  168. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/index_model.py +0 -0
  169. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/list_response.py +0 -0
  170. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/pod_spec.py +0 -0
  171. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/restore_job_list.py +0 -0
  172. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/restore_job_model.py +0 -0
  173. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/models/serverless_spec.py +0 -0
  174. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/repr_overrides.py +0 -0
  175. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/request_factory.py +0 -0
  176. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/resources/__init__.py +0 -0
  177. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/resources/asyncio/__init__.py +0 -0
  178. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/resources/asyncio/backup.py +0 -0
  179. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/resources/asyncio/collection.py +0 -0
  180. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/resources/asyncio/restore_job.py +0 -0
  181. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/resources/sync/__init__.py +0 -0
  182. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/resources/sync/backup.py +0 -0
  183. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/resources/sync/collection.py +0 -0
  184. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/resources/sync/restore_job.py +0 -0
  185. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/types/__init__.py +0 -0
  186. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_control/types/create_index_for_model_embed.py +0 -0
  187. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/dataclasses/__init__.py +0 -0
  188. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/dataclasses/fetch_response.py +0 -0
  189. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/dataclasses/search_query.py +0 -0
  190. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/dataclasses/search_query_vector.py +0 -0
  191. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/dataclasses/search_rerank.py +0 -0
  192. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/dataclasses/sparse_values.py +0 -0
  193. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/dataclasses/utils.py +0 -0
  194. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/dataclasses/vector.py +0 -0
  195. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/errors.py +0 -0
  196. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/import_error.py +0 -0
  197. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/index_asyncio_interface.py +0 -0
  198. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/interfaces.py +0 -0
  199. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/models/__init__.py +0 -0
  200. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/query_results_aggregator.py +0 -0
  201. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/request_factory.py +0 -0
  202. {pinecone-7.0.0.dev3/pinecone/db_data/features/bulk_import → pinecone-7.0.1.dev1/pinecone/db_data/resources/sync}/bulk_import_request_factory.py +0 -0
  203. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/sparse_values_factory.py +0 -0
  204. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/types/__init__.py +0 -0
  205. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/types/query_filter.py +0 -0
  206. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/types/search_query_typed_dict.py +0 -0
  207. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/types/search_query_vector_typed_dict.py +0 -0
  208. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/types/search_rerank_typed_dict.py +0 -0
  209. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/types/sparse_vector_typed_dict.py +0 -0
  210. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/types/vector_metadata_dict.py +0 -0
  211. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/types/vector_tuple.py +0 -0
  212. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/types/vector_typed_dict.py +0 -0
  213. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/db_data/vector_factory.py +0 -0
  214. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/deprecated_plugins.py +0 -0
  215. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/deprecation_warnings.py +0 -0
  216. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/exceptions/__init__.py +3 -3
  217. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/__init__.py +0 -0
  218. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/base.py +0 -0
  219. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/channel_factory.py +0 -0
  220. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/config.py +0 -0
  221. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/grpc_runner.py +0 -0
  222. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/index_grpc.py +0 -0
  223. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/pinecone.py +0 -0
  224. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/retry.py +0 -0
  225. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/sparse_values_factory.py +0 -0
  226. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/utils.py +0 -0
  227. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/grpc/vector_factory_grpc.py +0 -0
  228. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/__init__.py +0 -0
  229. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/inference.py +0 -0
  230. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/inference_asyncio.py +0 -0
  231. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/inference_request_builder.py +0 -0
  232. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/models/__init__.py +0 -0
  233. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/models/embedding_list.py +0 -0
  234. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/models/index_embed.py +0 -0
  235. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/models/model_info.py +0 -0
  236. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/models/model_info_list.py +0 -0
  237. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/models/rerank_result.py +0 -0
  238. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/repl_overrides.py +0 -0
  239. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/resources/asyncio/model.py +0 -0
  240. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/inference/resources/sync/model.py +0 -0
  241. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/langchain_import_warnings.py +0 -0
  242. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/legacy_pinecone_interface.py +0 -0
  243. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/models/__init__.py +0 -0
  244. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/__init__.py +0 -0
  245. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/api_client.py +0 -0
  246. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/api_client_utils.py +0 -0
  247. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/api_version.py +0 -0
  248. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/asyncio_api_client.py +0 -0
  249. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/asyncio_endpoint.py +0 -0
  250. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/auth_util.py +0 -0
  251. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/cached_class_property.py +0 -0
  252. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/configuration.py +0 -0
  253. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/configuration_lazy.py +0 -0
  254. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/constants.py +0 -0
  255. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/deserializer.py +0 -0
  256. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/endpoint.py +0 -0
  257. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/endpoint_utils.py +0 -0
  258. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/exceptions.py +0 -0
  259. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/model_utils.py +0 -0
  260. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/rest_utils.py +0 -0
  261. /pinecone-7.0.0.dev3/pinecone/openapi_support/retries.py → /pinecone-7.0.1.dev1/pinecone/openapi_support/retry_urllib3.py +0 -0
  262. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/serializer.py +0 -0
  263. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/openapi_support/types.py +0 -0
  264. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/pinecone_asyncio.py +0 -0
  265. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/pinecone_interface_asyncio.py +0 -0
  266. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/py.typed +0 -0
  267. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/scripts/repl.py +0 -0
  268. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/__init__.py +0 -0
  269. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/check_kwargs.py +0 -0
  270. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/constants.py +0 -0
  271. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/convert_enum_to_string.py +0 -0
  272. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/convert_to_list.py +0 -0
  273. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/deprecation_notice.py +0 -0
  274. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/docslinks.py +0 -0
  275. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/error_handling.py +0 -0
  276. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/filter_dict.py +0 -0
  277. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/find_legacy_imports.py +0 -0
  278. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/fix_tuple_length.py +0 -0
  279. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/lazy_imports.py +0 -0
  280. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/legacy_imports.py +0 -0
  281. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/normalize_host.py +0 -0
  282. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/parse_args.py +0 -0
  283. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/plugin_aware.py +0 -0
  284. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/repr_overrides.py +0 -0
  285. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/require_kwargs.py +0 -0
  286. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/setup_openapi_client.py +0 -0
  287. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/tqdm.py +0 -0
  288. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/user_agent.py +0 -0
  289. {pinecone-7.0.0.dev3 → pinecone-7.0.1.dev1}/pinecone/utils/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pinecone
3
- Version: 7.0.0.dev3
3
+ Version: 7.0.1.dev1
4
4
  Summary: Pinecone client and SDK
5
5
  License: Apache-2.0
6
6
  Keywords: Pinecone,vector,database,cloud
@@ -28,6 +28,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
28
28
  Provides-Extra: asyncio
29
29
  Provides-Extra: grpc
30
30
  Requires-Dist: aiohttp (>=3.9.0) ; extra == "asyncio"
31
+ Requires-Dist: aiohttp-retry (>=2.9.1,<3.0.0) ; extra == "asyncio"
31
32
  Requires-Dist: certifi (>=2019.11.17)
32
33
  Requires-Dist: googleapis-common-protos (>=1.66.0) ; extra == "grpc"
33
34
  Requires-Dist: grpcio (>=1.44.0) ; (python_version >= "3.8" and python_version < "3.11") and (extra == "grpc")
@@ -94,10 +95,10 @@ pip3 install "pinecone[asyncio,grpc]"
94
95
 
95
96
  ```shell
96
97
  # Install the latest version
97
- uv install pinecone
98
+ uv add pinecone
98
99
 
99
100
  # Install the latest version, optional dependencies
100
- uv install "pinecone[asyncio,grpc]"
101
+ uv add "pinecone[asyncio,grpc]"
101
102
  ```
102
103
 
103
104
  #### Installing with [poetry](https://python-poetry.org/)
@@ -239,11 +240,8 @@ response = index.search_records(
239
240
  ## Pinecone Assistant
240
241
  ### Installing the Pinecone Assistant Python plugin
241
242
 
242
- To interact with Pinecone Assistant using the Python SDK, install the `pinecone-plugin-assistant` package:
243
+ The `pinecone-plugin-assistant` package is now bundled by default when installing `pinecone`. It does not need to be installed separately in order to use Pinecone Assistant.
243
244
 
244
- ```shell
245
- pip install --upgrade pinecone pinecone-plugin-assistant
246
- ```
247
245
  For more information on Pinecone Assistant, see the [Pinecone Assistant documentation](https://docs.pinecone.io/guides/assistant/overview).
248
246
 
249
247
 
@@ -47,10 +47,10 @@ pip3 install "pinecone[asyncio,grpc]"
47
47
 
48
48
  ```shell
49
49
  # Install the latest version
50
- uv install pinecone
50
+ uv add pinecone
51
51
 
52
52
  # Install the latest version, optional dependencies
53
- uv install "pinecone[asyncio,grpc]"
53
+ uv add "pinecone[asyncio,grpc]"
54
54
  ```
55
55
 
56
56
  #### Installing with [poetry](https://python-poetry.org/)
@@ -192,11 +192,8 @@ response = index.search_records(
192
192
  ## Pinecone Assistant
193
193
  ### Installing the Pinecone Assistant Python plugin
194
194
 
195
- To interact with Pinecone Assistant using the Python SDK, install the `pinecone-plugin-assistant` package:
195
+ The `pinecone-plugin-assistant` package is now bundled by default when installing `pinecone`. It does not need to be installed separately in order to use Pinecone Assistant.
196
196
 
197
- ```shell
198
- pip install --upgrade pinecone pinecone-plugin-assistant
199
- ```
200
197
  For more information on Pinecone Assistant, see the [Pinecone Assistant documentation](https://docs.pinecone.io/guides/assistant/overview).
201
198
 
202
199
 
@@ -6,7 +6,21 @@ from .deprecated_plugins import check_for_deprecated_plugins as _check_for_depre
6
6
  from .deprecation_warnings import *
7
7
  from .pinecone import Pinecone
8
8
  from .pinecone_asyncio import PineconeAsyncio
9
- from .exceptions import *
9
+ from .exceptions import (
10
+ PineconeException,
11
+ PineconeApiTypeError,
12
+ PineconeApiValueError,
13
+ PineconeApiAttributeError,
14
+ PineconeApiKeyError,
15
+ PineconeApiException,
16
+ NotFoundException,
17
+ UnauthorizedException,
18
+ ForbiddenException,
19
+ ServiceException,
20
+ PineconeProtocolError,
21
+ PineconeConfigurationError,
22
+ ListConversionException,
23
+ )
10
24
 
11
25
  from .utils import __version__
12
26
 
@@ -41,7 +55,7 @@ _db_data_lazy_imports = {
41
55
  "QueryResponse": ("pinecone.db_data.models", "QueryResponse"),
42
56
  "UpsertResponse": ("pinecone.db_data.models", "UpsertResponse"),
43
57
  "UpdateRequest": ("pinecone.db_data.models", "UpdateRequest"),
44
- "ImportErrorMode": ("pinecone.core.openapi.db_data.models", "ImportErrorMode"),
58
+ "ImportErrorMode": ("pinecone.db_data.resources.sync.bulk_import", "ImportErrorMode"),
45
59
  "VectorDictionaryMissingKeysError": (
46
60
  "pinecone.db_data.errors",
47
61
  "VectorDictionaryMissingKeysError",
@@ -1,7 +1,24 @@
1
1
  from pinecone.config import Config
2
2
  from pinecone.config import ConfigBuilder
3
3
  from pinecone.config import PineconeConfig
4
+ from .exceptions import (
5
+ PineconeException,
6
+ PineconeApiTypeError,
7
+ PineconeApiValueError,
8
+ PineconeApiAttributeError,
9
+ PineconeApiKeyError,
10
+ PineconeApiException,
11
+ NotFoundException,
12
+ UnauthorizedException,
13
+ ForbiddenException,
14
+ ServiceException,
15
+ PineconeProtocolError,
16
+ PineconeConfigurationError,
17
+ ListConversionException,
18
+ )
4
19
  from pinecone.inference import (
20
+ Inference,
21
+ AsyncioInference,
5
22
  RerankModel,
6
23
  EmbedModel,
7
24
  ModelInfo,
@@ -29,7 +46,7 @@ from pinecone.db_data.models import (
29
46
  UpsertResponse,
30
47
  UpdateRequest,
31
48
  )
32
- from pinecone.core.openapi.db_data.models import ImportErrorMode
49
+ from pinecone.db_data.resources.sync.bulk_import import ImportErrorMode
33
50
  from pinecone.db_data.errors import (
34
51
  VectorDictionaryMissingKeysError,
35
52
  VectorDictionaryExcessKeysError,
@@ -72,7 +89,23 @@ __all__ = [
72
89
  "Config",
73
90
  "ConfigBuilder",
74
91
  "PineconeConfig",
92
+ # Exceptions
93
+ "PineconeException",
94
+ "PineconeApiTypeError",
95
+ "PineconeApiValueError",
96
+ "PineconeApiAttributeError",
97
+ "PineconeApiKeyError",
98
+ "PineconeApiException",
99
+ "NotFoundException",
100
+ "UnauthorizedException",
101
+ "ForbiddenException",
102
+ "ServiceException",
103
+ "PineconeProtocolError",
104
+ "PineconeConfigurationError",
105
+ "ListConversionException",
75
106
  # Inference classes
107
+ "Inference",
108
+ "AsyncioInference",
76
109
  "RerankModel",
77
110
  "EmbedModel",
78
111
  "ModelInfo",
@@ -0,0 +1 @@
1
+ 7.0.1.dev1
@@ -1,7 +1,5 @@
1
1
  import warnings
2
2
 
3
- from pinecone.db_data import *
4
-
5
3
  warnings.warn(
6
4
  "The module at `pinecone.data` has moved to `pinecone.db_data`. "
7
5
  "Please update your imports. "
@@ -0,0 +1,11 @@
1
+ import warnings
2
+
3
+ from .bulk_imports import *
4
+ from .inference import *
5
+
6
+
7
+ warnings.warn(
8
+ "The module at `pinecone.data.features` has been removed. Code has been refactored and integrated into other parts of the client. "
9
+ "This warning will become an error in a future version of the Pinecone Python SDK.",
10
+ DeprecationWarning,
11
+ )
@@ -1,6 +1,9 @@
1
1
  import warnings
2
2
 
3
- from pinecone.db_data.features.bulk_import import *
3
+ from pinecone.db_data.resources.asyncio.bulk_import_asyncio import *
4
+ from pinecone.db_data.resources.sync.bulk_import import *
5
+ from pinecone.db_data.resources.sync.bulk_import_request_factory import *
6
+
4
7
 
5
8
  warnings.warn(
6
9
  "The module at `pinecone.data.features.bulk_import` has moved to `pinecone.db_data.features.bulk_import`. "
@@ -7,15 +7,15 @@ class BackupModel:
7
7
  def __init__(self, backup: OpenAPIBackupModel):
8
8
  self._backup = backup
9
9
 
10
- def __str__(self):
11
- return str(self._backup)
12
-
13
10
  def __getattr__(self, attr):
14
11
  return getattr(self._backup, attr)
15
12
 
16
13
  def __getitem__(self, key):
17
14
  return self.__getattr__(key)
18
15
 
16
+ def __str__(self):
17
+ return self.__repr__()
18
+
19
19
  def __repr__(self):
20
20
  return json.dumps(self.to_dict(), indent=4, default=custom_serializer)
21
21
 
@@ -110,42 +110,28 @@ class IndexResourceAsyncio:
110
110
  return await self.__poll_describe_index_until_ready(name, timeout)
111
111
 
112
112
  async def __poll_describe_index_until_ready(self, name: str, timeout: Optional[int] = None):
113
- description = None
114
-
115
- async def is_ready() -> bool:
116
- nonlocal description
117
- description = await self.describe(name=name)
118
- return description.status.ready
119
-
120
113
  total_wait_time = 0
121
- if timeout is None:
122
- # Wait indefinitely
123
- while not await is_ready():
124
- logger.debug(
125
- f"Waiting for index {name} to be ready. Total wait time {total_wait_time} seconds."
114
+ while True:
115
+ description = await self.describe(name=name)
116
+ if description.status.state == "InitializationFailed":
117
+ raise Exception(f"Index {name} failed to initialize.")
118
+ if description.status.ready:
119
+ return description
120
+
121
+ if timeout is not None and total_wait_time >= timeout:
122
+ logger.error(
123
+ f"Index {name} is not ready after {total_wait_time} seconds. Timeout reached."
126
124
  )
127
- total_wait_time += 5
128
- await asyncio.sleep(5)
125
+ link = docslinks["API_DESCRIBE_INDEX"](API_VERSION)
126
+ timeout_msg = f"Index {name} is not ready after {total_wait_time} seconds. Please call describe_index() to confirm index status. See docs at {link}"
127
+ raise TimeoutError(timeout_msg)
129
128
 
130
- else:
131
- # Wait for a maximum of timeout seconds
132
- while not await is_ready():
133
- if timeout < 0:
134
- logger.error(f"Index {name} is not ready. Timeout reached.")
135
- link = docslinks["API_DESCRIBE_INDEX"](API_VERSION)
136
- timeout_msg = (
137
- f"Please call describe_index() to confirm index status. See docs at {link}"
138
- )
139
- raise TimeoutError(timeout_msg)
140
-
141
- logger.debug(
142
- f"Waiting for index {name} to be ready. Total wait time: {total_wait_time}"
143
- )
144
- total_wait_time += 5
145
- await asyncio.sleep(5)
146
- timeout -= 5
129
+ logger.debug(
130
+ f"Waiting for index {name} to be ready. Total wait time {total_wait_time} seconds."
131
+ )
147
132
 
148
- return description
133
+ total_wait_time += 5
134
+ await asyncio.sleep(5)
149
135
 
150
136
  @require_kwargs
151
137
  async def delete(self, *, name: str, timeout: Optional[int] = None):
@@ -145,42 +145,30 @@ class IndexResource(PluginAware):
145
145
  return self.__poll_describe_index_until_ready(name, timeout)
146
146
 
147
147
  def __poll_describe_index_until_ready(self, name: str, timeout: Optional[int] = None):
148
- description = None
149
-
150
- def is_ready() -> bool:
151
- nonlocal description
152
- description = self.describe(name=name)
153
- return description.status.ready
154
-
155
148
  total_wait_time = 0
156
- if timeout is None:
157
- # Wait indefinitely
158
- while not is_ready():
159
- logger.debug(
160
- f"Waiting for index {name} to be ready. Total wait time {total_wait_time} seconds."
149
+ while True:
150
+ description = self.describe(name=name)
151
+ if description.status.state == "InitializationFailed":
152
+ raise Exception(
153
+ f"Index {name} failed to initialize. The index status is {description.status.state}."
161
154
  )
162
- total_wait_time += 5
163
- time.sleep(5)
155
+ if description.status.ready:
156
+ return description
164
157
 
165
- else:
166
- # Wait for a maximum of timeout seconds
167
- while not is_ready():
168
- if timeout < 0:
169
- logger.error(f"Index {name} is not ready. Timeout reached.")
170
- link = docslinks["API_DESCRIBE_INDEX"](API_VERSION)
171
- timeout_msg = (
172
- f"Please call describe_index() to confirm index status. See docs at {link}"
173
- )
174
- raise TimeoutError(timeout_msg)
175
-
176
- logger.debug(
177
- f"Waiting for index {name} to be ready. Total wait time: {total_wait_time}"
158
+ if timeout is not None and total_wait_time >= timeout:
159
+ logger.error(
160
+ f"Index {name} is not ready after {total_wait_time} seconds. Timeout reached."
178
161
  )
179
- total_wait_time += 5
180
- time.sleep(5)
181
- timeout -= 5
162
+ link = docslinks["API_DESCRIBE_INDEX"](API_VERSION)
163
+ timeout_msg = f"Index {name} is not ready after {total_wait_time} seconds. Please call describe_index() to confirm index status. See docs at {link}"
164
+ raise TimeoutError(timeout_msg)
165
+
166
+ logger.debug(
167
+ f"Waiting for index {name} to be ready. Total wait time {total_wait_time} seconds."
168
+ )
182
169
 
183
- return description
170
+ total_wait_time += 5
171
+ time.sleep(5)
184
172
 
185
173
  @require_kwargs
186
174
  def delete(self, *, name: str, timeout: Optional[int] = None) -> None:
@@ -25,7 +25,7 @@ from .errors import (
25
25
  MetadataDictionaryExpectedError,
26
26
  )
27
27
 
28
- from .features.bulk_import import ImportErrorMode
28
+ from .resources.sync.bulk_import import ImportErrorMode
29
29
 
30
30
 
31
31
  import warnings
@@ -2,7 +2,7 @@ from pinecone.utils.tqdm import tqdm
2
2
  import warnings
3
3
  import logging
4
4
  import json
5
- from typing import Union, List, Optional, Dict, Any, Literal, TYPE_CHECKING
5
+ from typing import Union, List, Optional, Dict, Any, Literal, Iterator, TYPE_CHECKING
6
6
 
7
7
  from pinecone.config import ConfigBuilder
8
8
 
@@ -19,7 +19,6 @@ from pinecone.core.openapi.db_data.models import (
19
19
  from .dataclasses import Vector, SparseValues, FetchResponse, SearchQuery, SearchRerank
20
20
  from .interfaces import IndexInterface
21
21
  from .request_factory import IndexRequestFactory
22
- from .features.bulk_import import ImportFeatureMixin
23
22
  from .types import (
24
23
  SparseVectorTypedDict,
25
24
  VectorTypedDict,
@@ -47,6 +46,15 @@ from concurrent.futures import as_completed
47
46
 
48
47
  if TYPE_CHECKING:
49
48
  from pinecone.config import Config, OpenApiConfiguration
49
+ from .resources.sync.bulk_import import BulkImportResource
50
+
51
+ from pinecone.core.openapi.db_data.models import (
52
+ StartImportResponse,
53
+ ListImportsResponse,
54
+ ImportModel,
55
+ )
56
+
57
+ from .resources.sync.bulk_import import ImportErrorMode
50
58
 
51
59
  logger = logging.getLogger(__name__)
52
60
  """ @private """
@@ -58,12 +66,15 @@ def parse_query_response(response: QueryResponse):
58
66
  return response
59
67
 
60
68
 
61
- class Index(PluginAware, IndexInterface, ImportFeatureMixin):
69
+ class Index(PluginAware, IndexInterface):
62
70
  """
63
71
  A client for interacting with a Pinecone index via REST API.
64
72
  For improved performance, use the Pinecone GRPC index client.
65
73
  """
66
74
 
75
+ _bulk_import_resource: Optional["BulkImportResource"]
76
+ """ @private """
77
+
67
78
  def __init__(
68
79
  self,
69
80
  api_key: str,
@@ -101,6 +112,9 @@ class Index(PluginAware, IndexInterface, ImportFeatureMixin):
101
112
 
102
113
  self._api_client = self._vector_api.api_client
103
114
 
115
+ self._bulk_import_resource = None
116
+ """ @private """
117
+
104
118
  # Pass the same api_client to the ImportFeatureMixin
105
119
  super().__init__(api_client=self._api_client)
106
120
 
@@ -129,6 +143,15 @@ class Index(PluginAware, IndexInterface, ImportFeatureMixin):
129
143
  )
130
144
  return self._pool_threads
131
145
 
146
+ @property
147
+ def bulk_import(self) -> "BulkImportResource":
148
+ """@private"""
149
+ if self._bulk_import_resource is None:
150
+ from .resources.sync.bulk_import import BulkImportResource
151
+
152
+ self._bulk_import_resource = BulkImportResource(api_client=self._api_client)
153
+ return self._bulk_import_resource
154
+
132
155
  def _openapi_kwargs(self, kwargs: Dict[str, Any]) -> Dict[str, Any]:
133
156
  return filter_dict(kwargs, OPENAPI_ENDPOINT_PARAMS)
134
157
 
@@ -457,3 +480,124 @@ class Index(PluginAware, IndexInterface, ImportFeatureMixin):
457
480
  kwargs.update({"pagination_token": results.pagination.next})
458
481
  else:
459
482
  done = True
483
+
484
+ @validate_and_convert_errors
485
+ def start_import(
486
+ self,
487
+ uri: str,
488
+ integration_id: Optional[str] = None,
489
+ error_mode: Optional[
490
+ Union["ImportErrorMode", Literal["CONTINUE", "ABORT"], str]
491
+ ] = "CONTINUE",
492
+ ) -> "StartImportResponse":
493
+ """
494
+ Args:
495
+ uri (str): The URI of the data to import. The URI must start with the scheme of a supported storage provider.
496
+ integration_id (Optional[str], optional): If your bucket requires authentication to access, you need to pass the id of your storage integration using this property. Defaults to None.
497
+ error_mode: Defaults to "CONTINUE". If set to "CONTINUE", the import operation will continue even if some
498
+ records fail to import. Pass "ABORT" to stop the import operation if any records fail to import.
499
+
500
+ Returns:
501
+ `StartImportResponse`: Contains the id of the import operation.
502
+
503
+ Import data from a storage provider into an index. The uri must start with the scheme of a supported
504
+ storage provider. For buckets that are not publicly readable, you will also need to separately configure
505
+ a storage integration and pass the integration id.
506
+
507
+ Examples:
508
+ >>> from pinecone import Pinecone
509
+ >>> index = Pinecone().Index('my-index')
510
+ >>> index.start_import(uri="s3://bucket-name/path/to/data.parquet")
511
+ { id: "1" }
512
+ """
513
+ return self.bulk_import.start(uri=uri, integration_id=integration_id, error_mode=error_mode)
514
+
515
+ @validate_and_convert_errors
516
+ def list_imports(self, **kwargs) -> Iterator["ImportModel"]:
517
+ """
518
+ Args:
519
+ limit (Optional[int]): The maximum number of operations to fetch in each network call. If unspecified, the server will use a default value. [optional]
520
+ pagination_token (Optional[str]): When there are multiple pages of results, a pagination token is returned in the response. The token can be used
521
+ to fetch the next page of results. [optional]
522
+
523
+ Returns:
524
+ Returns a generator that yields each import operation. It automatically handles pagination tokens on your behalf so you can
525
+ easily iterate over all results. The `list_imports` method accepts all of the same arguments as list_imports_paginated
526
+
527
+ ```python
528
+ for op in index.list_imports():
529
+ print(op)
530
+ ```
531
+
532
+ You can convert the generator into a list by wrapping the generator in a call to the built-in `list` function:
533
+
534
+ ```python
535
+ operations = list(index.list_imports())
536
+ ```
537
+
538
+ You should be cautious with this approach because it will fetch all operations at once, which could be a large number
539
+ of network calls and a lot of memory to hold the results.
540
+ """
541
+ for i in self.bulk_import.list(**kwargs):
542
+ yield i
543
+
544
+ @validate_and_convert_errors
545
+ def list_imports_paginated(
546
+ self, limit: Optional[int] = None, pagination_token: Optional[str] = None, **kwargs
547
+ ) -> "ListImportsResponse":
548
+ """
549
+ Args:
550
+ limit (Optional[int]): The maximum number of ids to return. If unspecified, the server will use a default value. [optional]
551
+ pagination_token (Optional[str]): A token needed to fetch the next page of results. This token is returned
552
+ in the response if additional results are available. [optional]
553
+
554
+ Returns: ListImportsResponse object which contains the list of operations as ImportModel objects, pagination information,
555
+ and usage showing the number of read_units consumed.
556
+
557
+ The list_imports_paginated operation returns information about import operations.
558
+ It returns operations in a paginated form, with a pagination token to fetch the next page of results.
559
+
560
+ Consider using the `list_imports` method to avoid having to handle pagination tokens manually.
561
+
562
+ Examples:
563
+ >>> results = index.list_imports_paginated(limit=5)
564
+ >>> results.pagination.next
565
+ eyJza2lwX3Bhc3QiOiI5OTMiLCJwcmVmaXgiOiI5OSJ9
566
+ >>> results.data[0]
567
+ {
568
+ "id": "6",
569
+ "uri": "s3://dev-bulk-import-datasets-pub/10-records-dim-10/",
570
+ "status": "Completed",
571
+ "percent_complete": 100.0,
572
+ "records_imported": 10,
573
+ "created_at": "2024-09-06T14:52:02.567776+00:00",
574
+ "finished_at": "2024-09-06T14:52:28.130717+00:00"
575
+ }
576
+ >>> next_results = index.list_imports_paginated(limit=5, pagination_token=results.pagination.next)
577
+ """
578
+ return self.bulk_import.list_paginated(
579
+ limit=limit, pagination_token=pagination_token, **kwargs
580
+ )
581
+
582
+ @validate_and_convert_errors
583
+ def describe_import(self, id: str) -> "ImportModel":
584
+ """
585
+ Args:
586
+ id (str): The id of the import operation. This value is returned when
587
+ starting an import, and can be looked up using list_imports.
588
+
589
+ Returns:
590
+ `ImportModel`: An object containing operation id, status, and other details.
591
+
592
+ describe_import is used to get detailed information about a specific import operation.
593
+ """
594
+ return self.bulk_import.describe(id=id)
595
+
596
+ @validate_and_convert_errors
597
+ def cancel_import(self, id: str):
598
+ """Cancel an import operation.
599
+
600
+ Args:
601
+ id (str): The id of the import operation to cancel.
602
+ """
603
+ return self.bulk_import.cancel(id=id)