pinecone 6.0.0.dev2__tar.gz → 6.0.0.dev4__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 (224) hide show
  1. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/PKG-INFO +1 -1
  2. pinecone-6.0.0.dev4/pinecone/__version__ +1 -0
  3. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/config/config.py +1 -1
  4. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/config/openapi.py +1 -1
  5. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/control/index_host_store.py +2 -2
  6. pinecone-6.0.0.dev4/pinecone/control/pinecone.py +362 -0
  7. pinecone-6.0.0.dev2/pinecone/control/pinecone.py → pinecone-6.0.0.dev4/pinecone/control/pinecone_interface.py +47 -286
  8. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/control/repr_overrides.py +1 -1
  9. pinecone-6.0.0.dev4/pinecone/core/grpc/protos/db_data_2025_01_pb2.py +130 -0
  10. pinecone-6.0.0.dev4/pinecone/core/grpc/protos/db_data_2025_01_pb2.pyi +259 -0
  11. pinecone-6.0.0.dev4/pinecone/core/grpc/protos/db_data_2025_01_pb2_grpc.py +309 -0
  12. pinecone-6.0.0.dev4/pinecone/core/openapi/db_control/__init__.py +29 -0
  13. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/api/__init__.py +1 -1
  14. {pinecone-6.0.0.dev2/pinecone/core_ea → pinecone-6.0.0.dev4/pinecone/core}/openapi/db_control/api/manage_indexes_api.py +135 -139
  15. {pinecone-6.0.0.dev2/pinecone/core_ea → pinecone-6.0.0.dev4/pinecone/core}/openapi/db_control/apis/__init__.py +1 -1
  16. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/collection_list.py +14 -28
  17. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/collection_model.py +13 -32
  18. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/configure_index_request.py +29 -27
  19. pinecone-6.0.0.dev2/pinecone/core/openapi/control/model/embeddings_list.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control/model/configure_index_request_embed.py +28 -48
  20. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/configure_index_request_spec.py +16 -28
  21. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/configure_index_request_spec_pod.py +12 -30
  22. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/create_collection_request.py +12 -31
  23. pinecone-6.0.0.dev2/pinecone/core/openapi/control/model/create_index_request.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control/model/create_index_for_model_request.py +47 -66
  24. pinecone-6.0.0.dev4/pinecone/core/openapi/db_control/model/create_index_for_model_request_embed.py +280 -0
  25. {pinecone-6.0.0.dev2/pinecone/core_ea → pinecone-6.0.0.dev4/pinecone/core}/openapi/db_control/model/create_index_request.py +34 -50
  26. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/deletion_protection.py +15 -42
  27. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/error_response.py +12 -26
  28. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/error_response_error.py +13 -26
  29. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/index_list.py +14 -28
  30. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/index_model.py +45 -53
  31. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/index_model_spec.py +13 -27
  32. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/index_model_status.py +12 -26
  33. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/index_spec.py +12 -18
  34. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/pagination.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control/model/index_tags.py +16 -36
  35. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/index_model.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control/model/model_index_embed.py +46 -97
  36. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/pod_spec.py +25 -55
  37. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/pod_spec_metadata_config.py +13 -27
  38. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/serverless_spec.py +12 -32
  39. pinecone-6.0.0.dev4/pinecone/core/openapi/db_control/models/__init__.py +44 -0
  40. pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/__init__.py +29 -0
  41. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/api/__init__.py +1 -1
  42. {pinecone-6.0.0.dev2/pinecone/core_ea → pinecone-6.0.0.dev4/pinecone/core}/openapi/db_data/api/bulk_operations_api.py +67 -137
  43. pinecone-6.0.0.dev2/pinecone/core/openapi/data/api/data_plane_api.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/api/vector_operations_api.py +205 -275
  44. {pinecone-6.0.0.dev2/pinecone/core_ea → pinecone-6.0.0.dev4/pinecone/core}/openapi/db_data/apis/__init__.py +2 -2
  45. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/delete_request.py +14 -30
  46. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/describe_index_stats_request.py +15 -29
  47. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/fetch_response.py +13 -27
  48. pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/hit.py +272 -0
  49. {pinecone-6.0.0.dev2/pinecone/core_ea → pinecone-6.0.0.dev4/pinecone/core}/openapi/db_data/model/import_error_mode.py +14 -33
  50. {pinecone-6.0.0.dev2/pinecone/core_ea → pinecone-6.0.0.dev4/pinecone/core}/openapi/db_data/model/import_model.py +16 -36
  51. pinecone-6.0.0.dev2/pinecone/core/openapi/data/model/describe_index_stats_response.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/index_description.py +27 -33
  52. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/import_list_response.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/list_imports_response.py +16 -30
  53. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/list_item.py +13 -27
  54. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/list_response.py +14 -28
  55. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/namespace_summary.py +13 -27
  56. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/pagination.py +13 -27
  57. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/protobuf_any.py +11 -25
  58. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/protobuf_null_value.py +15 -41
  59. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/query_request.py +21 -40
  60. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/query_response.py +14 -28
  61. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/query_vector.py +13 -30
  62. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/rpc_status.py +12 -26
  63. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/scored_vector.py +13 -32
  64. pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/search_records_request.py +282 -0
  65. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/describe_index_stats_request.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/search_records_request_query.py +44 -32
  66. pinecone-6.0.0.dev2/pinecone/core/openapi/control/model/embed_request.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/search_records_request_rerank.py +31 -51
  67. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/configure_index_request_spec.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/search_records_response.py +34 -38
  68. pinecone-6.0.0.dev2/pinecone/core/openapi/control/model/embedding.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/search_records_response_result.py +34 -34
  69. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/usage.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/search_usage.py +38 -34
  70. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/list_item.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/search_vector.py +26 -32
  71. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/single_query_results.py +12 -26
  72. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/sparse_values.py +12 -29
  73. {pinecone-6.0.0.dev2/pinecone/core_ea → pinecone-6.0.0.dev4/pinecone/core}/openapi/db_data/model/start_import_request.py +28 -41
  74. {pinecone-6.0.0.dev2/pinecone/core_ea → pinecone-6.0.0.dev4/pinecone/core}/openapi/db_data/model/start_import_response.py +16 -35
  75. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/update_request.py +13 -33
  76. pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/upsert_record.py +260 -0
  77. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/upsert_request.py +13 -29
  78. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/upsert_response.py +13 -27
  79. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/usage.py +13 -27
  80. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/vector.py +13 -33
  81. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/deletion_protection.py → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/model/vector_values.py +33 -52
  82. pinecone-6.0.0.dev4/pinecone/core/openapi/db_data/models/__init__.py +56 -0
  83. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/data/__init__.py +2 -0
  84. pinecone-6.0.0.dev4/pinecone/data/dataclasses/__init__.py +3 -0
  85. pinecone-6.0.0.dev4/pinecone/data/dataclasses/fetch_response.py +11 -0
  86. pinecone-6.0.0.dev4/pinecone/data/dataclasses/sparse_values.py +19 -0
  87. pinecone-6.0.0.dev4/pinecone/data/dataclasses/utils.py +11 -0
  88. pinecone-6.0.0.dev4/pinecone/data/dataclasses/vector.py +34 -0
  89. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/data/features/bulk_import.py +10 -10
  90. pinecone-6.0.0.dev4/pinecone/data/import_error.py +30 -0
  91. pinecone-6.0.0.dev4/pinecone/data/index.py +421 -0
  92. pinecone-6.0.0.dev2/pinecone/data/index.py → pinecone-6.0.0.dev4/pinecone/data/interfaces.py +71 -382
  93. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/data/query_results_aggregator.py +12 -2
  94. pinecone-6.0.0.dev4/pinecone/data/request_factory.py +170 -0
  95. pinecone-6.0.0.dev2/pinecone/data/sparse_vector_factory.py → pinecone-6.0.0.dev4/pinecone/data/sparse_values_factory.py +9 -4
  96. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/data/vector_factory.py +36 -11
  97. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/exceptions/__init__.py +1 -4
  98. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/exceptions/exceptions.py +1 -1
  99. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/grpc/__init__.py +7 -4
  100. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/grpc/base.py +35 -11
  101. pinecone-6.0.0.dev4/pinecone/grpc/future.py +86 -0
  102. pinecone-6.0.0.dev4/pinecone/grpc/grpc_runner.py +97 -0
  103. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/grpc/index_grpc.py +102 -54
  104. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/grpc/pinecone.py +3 -12
  105. pinecone-6.0.0.dev4/pinecone/grpc/sparse_values_factory.py +56 -0
  106. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/grpc/utils.py +12 -38
  107. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/grpc/vector_factory_grpc.py +22 -9
  108. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/models/collection_list.py +1 -1
  109. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/models/index_list.py +1 -1
  110. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/models/index_model.py +1 -1
  111. pinecone-6.0.0.dev4/pinecone/openapi_support/__init__.py +40 -0
  112. {pinecone-6.0.0.dev2/pinecone/core/openapi/shared → pinecone-6.0.0.dev4/pinecone/openapi_support}/api_client.py +149 -285
  113. {pinecone-6.0.0.dev2/pinecone/core/openapi/shared → pinecone-6.0.0.dev4/pinecone/openapi_support}/configuration.py +27 -13
  114. pinecone-6.0.0.dev4/pinecone/openapi_support/constants.py +10 -0
  115. pinecone-6.0.0.dev4/pinecone/openapi_support/endpoint.py +247 -0
  116. {pinecone-6.0.0.dev2/pinecone/core_ea/openapi/shared → pinecone-6.0.0.dev4/pinecone/openapi_support}/exceptions.py +0 -5
  117. {pinecone-6.0.0.dev2/pinecone/core/openapi/shared → pinecone-6.0.0.dev4/pinecone/openapi_support}/model_utils.py +91 -40
  118. {pinecone-6.0.0.dev2/pinecone/core_ea/openapi/shared → pinecone-6.0.0.dev4/pinecone/openapi_support}/rest.py +23 -8
  119. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/__init__.py +2 -0
  120. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/constants.py +2 -2
  121. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/docslinks.py +5 -0
  122. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pyproject.toml +9 -9
  123. pinecone-6.0.0.dev2/pinecone/__version__ +0 -1
  124. pinecone-6.0.0.dev2/pinecone/core/grpc/protos/vector_service_pb2.py +0 -286
  125. pinecone-6.0.0.dev2/pinecone/core/grpc/protos/vector_service_pb2.pyi +0 -1034
  126. pinecone-6.0.0.dev2/pinecone/core/grpc/protos/vector_service_pb2_grpc.py +0 -394
  127. pinecone-6.0.0.dev2/pinecone/core/openapi/control/__init__.py +0 -28
  128. pinecone-6.0.0.dev2/pinecone/core/openapi/control/api/inference_api.py +0 -121
  129. pinecone-6.0.0.dev2/pinecone/core/openapi/control/api/manage_indexes_api.py +0 -818
  130. pinecone-6.0.0.dev2/pinecone/core/openapi/control/apis/__init__.py +0 -17
  131. pinecone-6.0.0.dev2/pinecone/core/openapi/control/model/embed_request_inputs.py +0 -268
  132. pinecone-6.0.0.dev2/pinecone/core/openapi/control/model/embed_request_parameters.py +0 -272
  133. pinecone-6.0.0.dev2/pinecone/core/openapi/control/model/embeddings_list_usage.py +0 -268
  134. pinecone-6.0.0.dev2/pinecone/core/openapi/control/models/__init__.py +0 -35
  135. pinecone-6.0.0.dev2/pinecone/core/openapi/data/__init__.py +0 -28
  136. pinecone-6.0.0.dev2/pinecone/core/openapi/data/apis/__init__.py +0 -16
  137. pinecone-6.0.0.dev2/pinecone/core/openapi/data/models/__init__.py +0 -33
  138. pinecone-6.0.0.dev2/pinecone/core/openapi/shared/__init__.py +0 -1
  139. pinecone-6.0.0.dev2/pinecone/core/openapi/shared/exceptions.py +0 -145
  140. pinecone-6.0.0.dev2/pinecone/core/openapi/shared/rest.py +0 -396
  141. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/__init__.py +0 -28
  142. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/api/__init__.py +0 -3
  143. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/__init__.py +0 -5
  144. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/collection_list.py +0 -276
  145. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/collection_model.py +0 -309
  146. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/configure_index_request.py +0 -282
  147. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/configure_index_request_spec_pod.py +0 -276
  148. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/create_collection_request.py +0 -285
  149. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/error_response.py +0 -288
  150. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/error_response_error.py +0 -306
  151. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/index_list.py +0 -276
  152. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/index_model_spec.py +0 -282
  153. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/index_model_status.py +0 -291
  154. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/index_spec.py +0 -267
  155. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/pod_spec.py +0 -332
  156. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/pod_spec_metadata_config.py +0 -268
  157. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/model/serverless_spec.py +0 -286
  158. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_control/models/__init__.py +0 -29
  159. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/__init__.py +0 -28
  160. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/api/__init__.py +0 -3
  161. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/api/vector_operations_api.py +0 -848
  162. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/__init__.py +0 -5
  163. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/delete_request.py +0 -282
  164. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/describe_index_stats_response.py +0 -288
  165. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/fetch_response.py +0 -286
  166. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/list_response.py +0 -292
  167. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/namespace_summary.py +0 -268
  168. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/protobuf_any.py +0 -272
  169. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/protobuf_null_value.py +0 -290
  170. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/query_request.py +0 -326
  171. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/query_response.py +0 -292
  172. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/query_vector.py +0 -304
  173. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/rpc_status.py +0 -284
  174. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/scored_vector.py +0 -303
  175. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/single_query_results.py +0 -280
  176. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/sparse_values.py +0 -283
  177. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/update_request.py +0 -304
  178. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/upsert_request.py +0 -288
  179. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/upsert_response.py +0 -268
  180. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/model/vector.py +0 -302
  181. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/db_data/models/__init__.py +0 -38
  182. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/shared/__init__.py +0 -1
  183. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/shared/api_client.py +0 -837
  184. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/shared/configuration.py +0 -471
  185. pinecone-6.0.0.dev2/pinecone/core_ea/openapi/shared/model_utils.py +0 -1878
  186. pinecone-6.0.0.dev2/pinecone/grpc/future.py +0 -34
  187. pinecone-6.0.0.dev2/pinecone/grpc/grpc_runner.py +0 -153
  188. pinecone-6.0.0.dev2/pinecone/grpc/index_grpc_asyncio.py +0 -638
  189. pinecone-6.0.0.dev2/pinecone/grpc/query_results.py +0 -14
  190. pinecone-6.0.0.dev2/pinecone/grpc/sparse_values_factory.py +0 -54
  191. pinecone-6.0.0.dev2/pinecone/grpc/sparse_vector.py +0 -6
  192. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/LICENSE.txt +0 -0
  193. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/README.md +0 -0
  194. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/__init__.py +0 -0
  195. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/config/__init__.py +0 -0
  196. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/config/pinecone_config.py +0 -0
  197. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/control/__init__.py +0 -0
  198. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/control/langchain_import_warnings.py +0 -0
  199. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/core/__init__.py +0 -0
  200. {pinecone-6.0.0.dev2/pinecone/core/openapi/control → pinecone-6.0.0.dev4/pinecone/core/openapi/db_control}/model/__init__.py +0 -0
  201. {pinecone-6.0.0.dev2/pinecone/core/openapi/data → pinecone-6.0.0.dev4/pinecone/core/openapi/db_data}/model/__init__.py +0 -0
  202. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/data/errors.py +0 -0
  203. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/data/features/__init__.py +0 -0
  204. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/deprecation_warnings.py +0 -0
  205. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/grpc/channel_factory.py +0 -0
  206. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/grpc/config.py +0 -0
  207. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/grpc/retry.py +0 -0
  208. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/models/__init__.py +0 -0
  209. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/models/collection_description.py +0 -0
  210. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/models/index_description.py +0 -0
  211. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/models/list_response.py +0 -0
  212. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/models/pod_spec.py +0 -0
  213. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/models/serverless_spec.py +0 -0
  214. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/check_kwargs.py +0 -0
  215. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/convert_to_list.py +0 -0
  216. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/deprecation_notice.py +0 -0
  217. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/error_handling.py +0 -0
  218. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/fix_tuple_length.py +0 -0
  219. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/normalize_host.py +0 -0
  220. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/parse_args.py +0 -0
  221. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/repr_overrides.py +0 -0
  222. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/setup_openapi_client.py +0 -0
  223. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/user_agent.py +0 -0
  224. {pinecone-6.0.0.dev2 → pinecone-6.0.0.dev4}/pinecone/utils/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pinecone
3
- Version: 6.0.0.dev2
3
+ Version: 6.0.0.dev4
4
4
  Summary: Pinecone client and SDK
5
5
  Home-page: https://www.pinecone.io
6
6
  License: Apache-2.0
@@ -0,0 +1 @@
1
+ 6.0.0.dev4
@@ -3,7 +3,7 @@ import os
3
3
 
4
4
  from pinecone.exceptions.exceptions import PineconeConfigurationError
5
5
  from pinecone.config.openapi import OpenApiConfigFactory
6
- from pinecone.core.openapi.shared.configuration import Configuration as OpenApiConfiguration
6
+ from pinecone.openapi_support.configuration import Configuration as OpenApiConfiguration
7
7
  from pinecone.utils import normalize_host
8
8
  from pinecone.utils.constants import SOURCE_TAG
9
9
 
@@ -7,7 +7,7 @@ import copy
7
7
 
8
8
  from urllib3.connection import HTTPConnection
9
9
 
10
- from pinecone.core.openapi.shared.configuration import Configuration as OpenApiConfiguration
10
+ from pinecone.openapi_support.configuration import Configuration as OpenApiConfiguration
11
11
 
12
12
  TCP_KEEPINTVL = 60 # Sec
13
13
  TCP_KEEPIDLE = 300 # Sec
@@ -1,9 +1,9 @@
1
1
  from typing import Dict
2
2
  from pinecone.config import Config
3
- from pinecone.core.openapi.control.api.manage_indexes_api import (
3
+ from pinecone.core.openapi.db_control.api.manage_indexes_api import (
4
4
  ManageIndexesApi as IndexOperationsApi,
5
5
  )
6
- from pinecone.core.openapi.shared.exceptions import PineconeException
6
+ from pinecone.openapi_support.exceptions import PineconeException
7
7
  from pinecone.utils import normalize_host
8
8
 
9
9
 
@@ -0,0 +1,362 @@
1
+ import time
2
+ import logging
3
+ from typing import Optional, Dict, Any, Union, Literal
4
+
5
+ from .index_host_store import IndexHostStore
6
+ from .pinecone_interface import PineconeDBControlInterface
7
+
8
+ from pinecone.config import PineconeConfig, Config, ConfigBuilder
9
+
10
+ from pinecone.core.openapi.db_control.api.manage_indexes_api import ManageIndexesApi
11
+ from pinecone.openapi_support.api_client import ApiClient
12
+
13
+
14
+ from pinecone.utils import normalize_host, setup_openapi_client, build_plugin_setup_client
15
+ from pinecone.core.openapi.db_control.models import (
16
+ CreateCollectionRequest,
17
+ CreateIndexRequest,
18
+ ConfigureIndexRequest,
19
+ ConfigureIndexRequestSpec,
20
+ ConfigureIndexRequestSpecPod,
21
+ DeletionProtection,
22
+ IndexSpec,
23
+ ServerlessSpec as ServerlessSpecModel,
24
+ PodSpec as PodSpecModel,
25
+ PodSpecMetadataConfig,
26
+ )
27
+ from pinecone.core.openapi.db_control import API_VERSION
28
+ from pinecone.models import ServerlessSpec, PodSpec, IndexModel, IndexList, CollectionList
29
+ from .langchain_import_warnings import _build_langchain_attribute_error_message
30
+ from pinecone.utils import parse_non_empty_args, docslinks
31
+
32
+ from pinecone.data import _Index
33
+
34
+ from pinecone_plugin_interface import load_and_install as install_plugins
35
+
36
+ logger = logging.getLogger(__name__)
37
+ """ @private """
38
+
39
+
40
+ class Pinecone(PineconeDBControlInterface):
41
+ """
42
+ A client for interacting with Pinecone's vector database.
43
+
44
+ This class implements methods for managing and interacting with Pinecone resources
45
+ such as collections and indexes.
46
+ """
47
+
48
+ def __init__(
49
+ self,
50
+ api_key: Optional[str] = None,
51
+ host: Optional[str] = None,
52
+ proxy_url: Optional[str] = None,
53
+ proxy_headers: Optional[Dict[str, str]] = None,
54
+ ssl_ca_certs: Optional[str] = None,
55
+ ssl_verify: Optional[bool] = None,
56
+ config: Optional[Config] = None,
57
+ additional_headers: Optional[Dict[str, str]] = {},
58
+ pool_threads: Optional[int] = 1,
59
+ index_api: Optional[ManageIndexesApi] = None,
60
+ **kwargs,
61
+ ):
62
+ if config:
63
+ if not isinstance(config, Config):
64
+ raise TypeError("config must be of type pinecone.config.Config")
65
+ else:
66
+ self.config = config
67
+ else:
68
+ self.config = PineconeConfig.build(
69
+ api_key=api_key,
70
+ host=host,
71
+ additional_headers=additional_headers,
72
+ proxy_url=proxy_url,
73
+ proxy_headers=proxy_headers,
74
+ ssl_ca_certs=ssl_ca_certs,
75
+ ssl_verify=ssl_verify,
76
+ **kwargs,
77
+ )
78
+
79
+ if kwargs.get("openapi_config", None):
80
+ raise Exception(
81
+ "Passing openapi_config is no longer supported. Please pass settings such as proxy_url, proxy_headers, ssl_ca_certs, and ssl_verify directly to the Pinecone constructor as keyword arguments. See the README at https://github.com/pinecone-io/pinecone-python-client for examples."
82
+ )
83
+
84
+ self.openapi_config = ConfigBuilder.build_openapi_config(self.config, **kwargs)
85
+ self.pool_threads = pool_threads
86
+
87
+ if index_api:
88
+ self.index_api = index_api
89
+ else:
90
+ self.index_api = setup_openapi_client(
91
+ api_client_klass=ApiClient,
92
+ api_klass=ManageIndexesApi,
93
+ config=self.config,
94
+ openapi_config=self.openapi_config,
95
+ pool_threads=pool_threads,
96
+ api_version=API_VERSION,
97
+ )
98
+
99
+ self.index_host_store = IndexHostStore()
100
+ """ @private """
101
+
102
+ self.load_plugins()
103
+
104
+ def load_plugins(self):
105
+ """@private"""
106
+ try:
107
+ # I don't expect this to ever throw, but wrapping this in a
108
+ # try block just in case to make sure a bad plugin doesn't
109
+ # halt client initialization.
110
+ openapi_client_builder = build_plugin_setup_client(
111
+ config=self.config,
112
+ openapi_config=self.openapi_config,
113
+ pool_threads=self.pool_threads,
114
+ )
115
+ install_plugins(self, openapi_client_builder)
116
+ except Exception as e:
117
+ logger.error(f"Error loading plugins: {e}")
118
+
119
+ def _parse_index_spec(self, spec: Union[Dict, ServerlessSpec, PodSpec]) -> IndexSpec:
120
+ if isinstance(spec, dict):
121
+ if "serverless" in spec:
122
+ index_spec = IndexSpec(serverless=ServerlessSpecModel(**spec["serverless"]))
123
+ elif "pod" in spec:
124
+ args_dict = parse_non_empty_args(
125
+ [
126
+ ("environment", spec["pod"].get("environment")),
127
+ ("metadata_config", spec["pod"].get("metadata_config")),
128
+ ("replicas", spec["pod"].get("replicas")),
129
+ ("shards", spec["pod"].get("shards")),
130
+ ("pods", spec["pod"].get("pods")),
131
+ ("source_collection", spec["pod"].get("source_collection")),
132
+ ]
133
+ )
134
+ if args_dict.get("metadata_config"):
135
+ args_dict["metadata_config"] = PodSpecMetadataConfig(
136
+ indexed=args_dict["metadata_config"].get("indexed", None)
137
+ )
138
+ index_spec = IndexSpec(pod=PodSpecModel(**args_dict))
139
+ else:
140
+ raise ValueError("spec must contain either 'serverless' or 'pod' key")
141
+ elif isinstance(spec, ServerlessSpec):
142
+ index_spec = IndexSpec(
143
+ serverless=ServerlessSpecModel(cloud=spec.cloud, region=spec.region)
144
+ )
145
+ elif isinstance(spec, PodSpec):
146
+ args_dict = parse_non_empty_args(
147
+ [
148
+ ("replicas", spec.replicas),
149
+ ("shards", spec.shards),
150
+ ("pods", spec.pods),
151
+ ("source_collection", spec.source_collection),
152
+ ]
153
+ )
154
+ if spec.metadata_config:
155
+ args_dict["metadata_config"] = PodSpecMetadataConfig(
156
+ indexed=spec.metadata_config.get("indexed", None)
157
+ )
158
+
159
+ index_spec = IndexSpec(
160
+ pod=PodSpecModel(environment=spec.environment, pod_type=spec.pod_type, **args_dict)
161
+ )
162
+ else:
163
+ raise TypeError("spec must be of type dict, ServerlessSpec, or PodSpec")
164
+
165
+ return index_spec
166
+
167
+ def create_index(
168
+ self,
169
+ name: str,
170
+ spec: Union[Dict, ServerlessSpec, PodSpec],
171
+ dimension: Optional[int] = None,
172
+ metric: Optional[Literal["cosine", "euclidean", "dotproduct"]] = "cosine",
173
+ timeout: Optional[int] = None,
174
+ deletion_protection: Optional[Literal["enabled", "disabled"]] = "disabled",
175
+ vector_type: Optional[Literal["dense", "sparse"]] = "dense",
176
+ ):
177
+ api_instance = self.index_api
178
+
179
+ if vector_type == "sparse" and dimension is not None:
180
+ raise ValueError("dimension should not be specified for sparse indexes")
181
+
182
+ if deletion_protection in ["enabled", "disabled"]:
183
+ dp = DeletionProtection(deletion_protection)
184
+ else:
185
+ raise ValueError("deletion_protection must be either 'enabled' or 'disabled'")
186
+
187
+ index_spec = self._parse_index_spec(spec)
188
+
189
+ api_instance.create_index(
190
+ create_index_request=CreateIndexRequest(
191
+ **parse_non_empty_args(
192
+ [
193
+ ("name", name),
194
+ ("dimension", dimension),
195
+ ("metric", metric),
196
+ ("spec", index_spec),
197
+ ("deletion_protection", dp),
198
+ ("vector_type", vector_type),
199
+ ]
200
+ )
201
+ )
202
+ )
203
+
204
+ def is_ready():
205
+ status = self._get_status(name)
206
+ ready = status["ready"]
207
+ return ready
208
+
209
+ total_wait_time = 0
210
+ if timeout == -1:
211
+ logger.debug(f"Skipping wait for index {name} to be ready")
212
+ return
213
+ if timeout is None:
214
+ while not is_ready():
215
+ total_wait_time += 5
216
+ time.sleep(5)
217
+ else:
218
+ while (not is_ready()) and timeout >= 0:
219
+ total_wait_time += 5
220
+ time.sleep(5)
221
+ timeout -= 5
222
+ if timeout and timeout < 0:
223
+ logger.error(f"Index {name} is not ready. Timeout reached.")
224
+ raise (
225
+ TimeoutError(
226
+ "Please call the describe_index API ({}) to confirm index status.".format(
227
+ docslinks["API_DESCRIBE_INDEX"]
228
+ )
229
+ )
230
+ )
231
+
232
+ def delete_index(self, name: str, timeout: Optional[int] = None):
233
+ api_instance = self.index_api
234
+ api_instance.delete_index(name)
235
+ self.index_host_store.delete_host(self.config, name)
236
+
237
+ def get_remaining():
238
+ return name in self.list_indexes().names()
239
+
240
+ if timeout == -1:
241
+ return
242
+
243
+ if timeout is None:
244
+ while get_remaining():
245
+ time.sleep(5)
246
+ else:
247
+ while get_remaining() and timeout >= 0:
248
+ time.sleep(5)
249
+ timeout -= 5
250
+ if timeout and timeout < 0:
251
+ raise (
252
+ TimeoutError(
253
+ "Please call the list_indexes API ({}) to confirm if index is deleted".format(
254
+ "https://www.pinecone.io/docs/api/operation/list_indexes/"
255
+ )
256
+ )
257
+ )
258
+
259
+ def list_indexes(self) -> IndexList:
260
+ response = self.index_api.list_indexes()
261
+ return IndexList(response)
262
+
263
+ def describe_index(self, name: str):
264
+ api_instance = self.index_api
265
+ description = api_instance.describe_index(name)
266
+ host = description.host
267
+ self.index_host_store.set_host(self.config, name, host)
268
+
269
+ return IndexModel(description)
270
+
271
+ def has_index(self, name: str) -> bool:
272
+ if name in self.list_indexes().names():
273
+ return True
274
+ else:
275
+ return False
276
+
277
+ def configure_index(
278
+ self,
279
+ name: str,
280
+ replicas: Optional[int] = None,
281
+ pod_type: Optional[str] = None,
282
+ deletion_protection: Optional[Literal["enabled", "disabled"]] = None,
283
+ ):
284
+ api_instance = self.index_api
285
+
286
+ if deletion_protection is None:
287
+ description = self.describe_index(name=name)
288
+ dp = DeletionProtection(description.deletion_protection)
289
+ elif deletion_protection in ["enabled", "disabled"]:
290
+ dp = DeletionProtection(deletion_protection)
291
+ else:
292
+ raise ValueError("deletion_protection must be either 'enabled' or 'disabled'")
293
+
294
+ pod_config_args: Dict[str, Any] = {}
295
+ if pod_type:
296
+ pod_config_args.update(pod_type=pod_type)
297
+ if replicas:
298
+ pod_config_args.update(replicas=replicas)
299
+
300
+ if pod_config_args != {}:
301
+ spec = ConfigureIndexRequestSpec(pod=ConfigureIndexRequestSpecPod(**pod_config_args))
302
+ req = ConfigureIndexRequest(deletion_protection=dp, spec=spec)
303
+ else:
304
+ req = ConfigureIndexRequest(deletion_protection=dp)
305
+
306
+ api_instance.configure_index(name, configure_index_request=req)
307
+
308
+ def create_collection(self, name: str, source: str):
309
+ api_instance = self.index_api
310
+ api_instance.create_collection(
311
+ create_collection_request=CreateCollectionRequest(name=name, source=source)
312
+ )
313
+
314
+ def list_collections(self) -> CollectionList:
315
+ api_instance = self.index_api
316
+ response = api_instance.list_collections()
317
+ return CollectionList(response)
318
+
319
+ def delete_collection(self, name: str):
320
+ api_instance = self.index_api
321
+ api_instance.delete_collection(name)
322
+
323
+ def describe_collection(self, name: str):
324
+ api_instance = self.index_api
325
+ return api_instance.describe_collection(name).to_dict()
326
+
327
+ def _get_status(self, name: str):
328
+ api_instance = self.index_api
329
+ response = api_instance.describe_index(name)
330
+ return response["status"]
331
+
332
+ @staticmethod
333
+ def from_texts(*args, **kwargs):
334
+ raise AttributeError(_build_langchain_attribute_error_message("from_texts"))
335
+
336
+ @staticmethod
337
+ def from_documents(*args, **kwargs):
338
+ raise AttributeError(_build_langchain_attribute_error_message("from_documents"))
339
+
340
+ def Index(self, name: str = "", host: str = "", **kwargs):
341
+ if name == "" and host == "":
342
+ raise ValueError("Either name or host must be specified")
343
+
344
+ pt = kwargs.pop("pool_threads", None) or self.pool_threads
345
+ api_key = self.config.api_key
346
+ openapi_config = self.openapi_config
347
+
348
+ if host != "":
349
+ # Use host url if it is provided
350
+ index_host = normalize_host(host)
351
+ else:
352
+ # Otherwise, get host url from describe_index using the index name
353
+ index_host = self.index_host_store.get_host(self.index_api, self.config, name)
354
+
355
+ return _Index(
356
+ host=index_host,
357
+ api_key=api_key,
358
+ pool_threads=pt,
359
+ openapi_config=openapi_config,
360
+ source_tag=self.config.source_tag,
361
+ **kwargs,
362
+ )