infinity-sdk 0.7.0.dev3__tar.gz → 0.7.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 (37) hide show
  1. {infinity_sdk-0.7.0.dev3/python/infinity_sdk/infinity_sdk.egg-info → infinity_sdk-0.7.0.dev4}/PKG-INFO +2 -2
  2. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/README.md +1 -1
  3. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/pyproject.toml +1 -1
  4. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/README.md +1 -1
  5. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/connection_pool.py +10 -2
  6. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/index.py +3 -0
  7. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/client.py +7 -4
  8. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/infinity.py +5 -2
  9. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/infinity_thrift_rpc/ttypes.py +3 -0
  10. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4/python/infinity_sdk/infinity_sdk.egg-info}/PKG-INFO +2 -2
  11. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/LICENSE +0 -0
  12. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/__init__.py +0 -0
  13. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/common.py +0 -0
  14. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/db.py +0 -0
  15. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/errors.py +0 -0
  16. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/http_utils.py +0 -0
  17. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/huqie.txt +0 -0
  18. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/huqie.txt.trie +0 -0
  19. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/infinity.py +0 -0
  20. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/infinity_http.py +0 -0
  21. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/rag_tokenizer.py +0 -0
  22. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/__init__.py +0 -0
  23. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/db.py +0 -0
  24. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/infinity_thrift_rpc/InfinityService.py +0 -0
  25. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/infinity_thrift_rpc/__init__.py +0 -0
  26. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/infinity_thrift_rpc/constants.py +0 -0
  27. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/query_builder.py +0 -0
  28. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/table.py +0 -0
  29. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/types.py +0 -0
  30. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/remote_thrift/utils.py +0 -0
  31. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/table.py +0 -0
  32. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity/utils.py +0 -0
  33. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity_sdk.egg-info/SOURCES.txt +0 -0
  34. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity_sdk.egg-info/dependency_links.txt +0 -0
  35. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity_sdk.egg-info/requires.txt +0 -0
  36. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/python/infinity_sdk/infinity_sdk.egg-info/top_level.txt +0 -0
  37. {infinity_sdk-0.7.0.dev3 → infinity_sdk-0.7.0.dev4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: infinity-sdk
3
- Version: 0.7.0.dev3
3
+ Version: 0.7.0.dev4
4
4
  Summary: infinity
5
5
  License-Expression: Apache-2.0
6
6
  Requires-Python: <3.14,>=3.11
@@ -97,7 +97,7 @@ Infinity supports two working modes, embedded mode and client-server mode. The f
97
97
 
98
98
  2. Install the `infinity-sdk` package:
99
99
  ```bash
100
- pip install infinity-sdk==0.7.0.dev3
100
+ pip install infinity-sdk==0.7.0.dev4
101
101
  ```
102
102
 
103
103
  3. Use Infinity to conduct a dense vector search:
@@ -96,7 +96,7 @@ If you are on Windows 10+, you must enable WSL or WSL2 to deploy Infinity using
96
96
  ### Install Infinity client
97
97
 
98
98
  ```
99
- pip install infinity-sdk==0.7.0.dev3
99
+ pip install infinity-sdk==0.7.0.dev4
100
100
  ```
101
101
 
102
102
  ### Run a vector search
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "infinity-sdk"
3
- version = "0.7.0.dev3"
3
+ version = "0.7.0.dev4"
4
4
  description = "infinity"
5
5
  readme = "python/infinity_sdk/README.md"
6
6
  license = "Apache-2.0"
@@ -63,7 +63,7 @@ Infinity supports two working modes, embedded mode and client-server mode. The f
63
63
 
64
64
  2. Install the `infinity-sdk` package:
65
65
  ```bash
66
- pip install infinity-sdk==0.7.0.dev3
66
+ pip install infinity-sdk==0.7.0.dev4
67
67
  ```
68
68
 
69
69
  3. Use Infinity to conduct a dense vector search:
@@ -28,7 +28,10 @@ class ConnectionPool(object):
28
28
  self._create_conn()
29
29
 
30
30
  def __del__(self):
31
- self.destroy()
31
+ try:
32
+ self.destroy()
33
+ except Exception:
34
+ pass # Ignore errors in destructor
32
35
 
33
36
  def _create_conn(self):
34
37
  infinity_coon = infinity.connect(self.uri_)
@@ -54,6 +57,11 @@ class ConnectionPool(object):
54
57
  logging.debug("release_conn")
55
58
 
56
59
  def destroy(self):
60
+ if not hasattr(self, 'free_pool_'):
61
+ return
57
62
  for conn in iter(self.free_pool_):
58
- conn.disconnect()
63
+ try:
64
+ conn.disconnect()
65
+ except Exception:
66
+ pass # Ignore errors when disconnecting
59
67
  self.free_pool_.clear()
@@ -30,6 +30,7 @@ class IndexType(Enum):
30
30
  EMVB = 6
31
31
  BMP = 7
32
32
  DiskAnn = 8
33
+ PLAID = 9
33
34
 
34
35
  def to_ttype(self):
35
36
  match self:
@@ -49,6 +50,8 @@ class IndexType(Enum):
49
50
  return ttypes.IndexType.BMP
50
51
  case IndexType.DiskAnn:
51
52
  return ttypes.IndexType.DiskAnn
53
+ case IndexType.PLAID:
54
+ return ttypes.IndexType.PLAID
52
55
  case _:
53
56
  raise InfinityException(ErrorCode.INVALID_INDEX_TYPE, "Unknown index type")
54
57
 
@@ -70,8 +70,11 @@ class ThriftInfinityClient:
70
70
  self.logger.addHandler(ch)
71
71
 
72
72
  def __del__(self):
73
- if self._is_connected:
74
- self.disconnect()
73
+ try:
74
+ if hasattr(self, '_is_connected') and self._is_connected:
75
+ self.disconnect()
76
+ except Exception:
77
+ pass # Ignore errors in destructor
75
78
 
76
79
  def _reconnect(self):
77
80
  if self.transport is not None:
@@ -120,8 +123,8 @@ class ThriftInfinityClient:
120
123
  # version: 0.6.8 and 0.6.9 and 0.6.10, client_version: 33
121
124
  # version: 0.6.13, client_version: 34
122
125
  # version: 0.6.15, client_version: 35
123
- # version: 0.7.0, 0.7.0.dev1, 0.7.0.dev2 and 0.7.0.dev3, client_version: 36
124
- res = self.client.Connect(ConnectRequest(client_version=36)) # 0.7.0.dev2
126
+ # version: 0.7.0, 0.7.0.dev1, 0.7.0.dev2, 0.7.0.dev3 and 0.7.0.dev4, client_version: 36
127
+ res = self.client.Connect(ConnectRequest(client_version=36)) # 0.7.0.dev4
125
128
  if res.error_code != 0:
126
129
  raise InfinityException(res.error_code, res.error_msg)
127
130
  self.session_id = res.session_id
@@ -42,8 +42,11 @@ class RemoteThriftInfinityConnection(InfinityConnection, ABC):
42
42
  self._is_connected = True
43
43
 
44
44
  def __del__(self):
45
- if self._is_connected is True:
46
- self.disconnect()
45
+ try:
46
+ if hasattr(self, '_is_connected') and self._is_connected:
47
+ self.disconnect()
48
+ except Exception:
49
+ pass # Ignore errors in destructor
47
50
 
48
51
  @name_validity_check("db_name", "DB")
49
52
  def create_database(self, db_name: str, conflict_type: ConflictType = ConflictType.Error, comment: str = None):
@@ -398,6 +398,7 @@ class IndexType(object):
398
398
  SecondaryFunctional = 5
399
399
  EMVB = 6
400
400
  DiskAnn = 7
401
+ PLAID = 8
401
402
 
402
403
  _VALUES_TO_NAMES = {
403
404
  0: "IVF",
@@ -408,6 +409,7 @@ class IndexType(object):
408
409
  5: "SecondaryFunctional",
409
410
  6: "EMVB",
410
411
  7: "DiskAnn",
412
+ 8: "PLAID",
411
413
  }
412
414
 
413
415
  _NAMES_TO_VALUES = {
@@ -419,6 +421,7 @@ class IndexType(object):
419
421
  "SecondaryFunctional": 5,
420
422
  "EMVB": 6,
421
423
  "DiskAnn": 7,
424
+ "PLAID": 8,
422
425
  }
423
426
 
424
427
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: infinity-sdk
3
- Version: 0.7.0.dev3
3
+ Version: 0.7.0.dev4
4
4
  Summary: infinity
5
5
  License-Expression: Apache-2.0
6
6
  Requires-Python: <3.14,>=3.11
@@ -97,7 +97,7 @@ Infinity supports two working modes, embedded mode and client-server mode. The f
97
97
 
98
98
  2. Install the `infinity-sdk` package:
99
99
  ```bash
100
- pip install infinity-sdk==0.7.0.dev3
100
+ pip install infinity-sdk==0.7.0.dev4
101
101
  ```
102
102
 
103
103
  3. Use Infinity to conduct a dense vector search: