python-arango-async 1.2.1__py3-none-any.whl → 1.2.3__py3-none-any.whl

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.
arangoasync/aql.py CHANGED
@@ -678,6 +678,9 @@ class AQL:
678
678
  async def functions(self, namespace: Optional[str] = None) -> Result[Jsons]:
679
679
  """List the registered used-defined AQL functions.
680
680
 
681
+ Warning:
682
+ AQL User Functions are no longer available in ArangoDB 4.0.
683
+
681
684
  Args:
682
685
  namespace (str | None): Returns all registered AQL user functions from
683
686
  the specified namespace.
@@ -718,6 +721,9 @@ class AQL:
718
721
  ) -> Result[Json]:
719
722
  """Registers a user-defined AQL function (UDF) written in JavaScript.
720
723
 
724
+ Warning:
725
+ AQL User Functions are no longer available in ArangoDB 4.0.
726
+
721
727
  Args:
722
728
  name (str): Name of the function.
723
729
  code (str): JavaScript code of the function.
@@ -756,6 +762,9 @@ class AQL:
756
762
  ) -> Result[Json]:
757
763
  """Remove a user-defined AQL function.
758
764
 
765
+ Warning:
766
+ AQL User Functions are no longer available in ArangoDB 4.0.
767
+
759
768
  Args:
760
769
  name (str): Name of the function.
761
770
  group (bool | None): If set to `True`, the function name is treated
arangoasync/cluster.py CHANGED
@@ -64,6 +64,10 @@ class Cluster:
64
64
  async def statistics(self, db_server: str) -> Result[Json]:
65
65
  """Queries the statistics of the given DB-Server.
66
66
 
67
+ Warning:
68
+ DB-Server statistics are no longer available in ArangoDB 4.0.
69
+ Use :meth:`arangoasync.database.Database.metrics` instead.
70
+
67
71
  Args:
68
72
  db_server (str): The ID of the DB-Server.
69
73
 
arangoasync/collection.py CHANGED
@@ -397,7 +397,7 @@ class Collection(Generic[T, U, V]):
397
397
 
398
398
  Args:
399
399
  type (str): Type attribute (ex. "persistent", "inverted", "ttl", "mdi",
400
- "geo").
400
+ "geo", "vector").
401
401
  fields (dict | list): Fields to index.
402
402
  options (dict | None): Additional index options.
403
403
 
arangoasync/database.py CHANGED
@@ -234,6 +234,9 @@ class Database:
234
234
  def foxx(self) -> Foxx:
235
235
  """Return Foxx API wrapper.
236
236
 
237
+ Warning:
238
+ Foxx microservice features are no longer available in ArangoDB 4.0.
239
+
237
240
  Returns:
238
241
  arangoasync.foxx.Foxx: Foxx API wrapper.
239
242
  """
@@ -2429,6 +2432,9 @@ class Database:
2429
2432
  async def tasks(self) -> Result[Jsons]:
2430
2433
  """Fetches all existing tasks from the server.
2431
2434
 
2435
+ Warning:
2436
+ Tasks are no longer available in ArangoDB 4.0.
2437
+
2432
2438
  Returns:
2433
2439
  list: List of currently active server tasks.
2434
2440
 
@@ -2451,6 +2457,9 @@ class Database:
2451
2457
  async def task(self, task_id: str) -> Result[Json]:
2452
2458
  """Return the details of an active server task.
2453
2459
 
2460
+ Warning:
2461
+ Tasks are no longer available in ArangoDB 4.0.
2462
+
2454
2463
  Args:
2455
2464
  task_id (str) -> Server task ID.
2456
2465
 
@@ -2484,6 +2493,9 @@ class Database:
2484
2493
  ) -> Result[Json]:
2485
2494
  """Create a new task.
2486
2495
 
2496
+ Warning:
2497
+ Tasks are no longer available in ArangoDB 4.0.
2498
+
2487
2499
  Args:
2488
2500
  command (str): The JavaScript code to be executed.
2489
2501
  task_id (str | None): Optional task ID. If not provided, the server will
@@ -2542,6 +2554,9 @@ class Database:
2542
2554
  ) -> Result[bool]:
2543
2555
  """Delete a server task.
2544
2556
 
2557
+ Warning:
2558
+ Tasks are no longer available in ArangoDB 4.0.
2559
+
2545
2560
  Args:
2546
2561
  task_id (str): Task ID.
2547
2562
  ignore_missing (bool): If `True`, do not raise an exception if the
@@ -2909,6 +2924,9 @@ class Database:
2909
2924
  async def reload_routing(self) -> None:
2910
2925
  """Reload the routing information.
2911
2926
 
2927
+ Warning:
2928
+ Route reloading is no longer available in ArangoDB 4.0.
2929
+
2912
2930
  Raises:
2913
2931
  ServerReloadRoutingError: If the operation fails.
2914
2932
 
@@ -2926,6 +2944,9 @@ class Database:
2926
2944
  async def echo(self, body: Optional[Json] = None) -> Result[Json]:
2927
2945
  """Return an object with the servers request information.
2928
2946
 
2947
+ Warning:
2948
+ Request echoing is no longer available in ArangoDB 4.0.
2949
+
2929
2950
  Args:
2930
2951
  body (dict | None): Optional body of the request.
2931
2952
 
@@ -2952,6 +2973,9 @@ class Database:
2952
2973
  async def execute(self, command: str) -> Result[Any]:
2953
2974
  """Execute raw Javascript command on the server.
2954
2975
 
2976
+ Warning:
2977
+ Javascript command execution is no longer available in ArangoDB 4.0.
2978
+
2955
2979
  Args:
2956
2980
  command (str): Javascript command to execute.
2957
2981
 
@@ -3004,7 +3028,7 @@ class Database:
3004
3028
  ServerMetricsError: If the operation fails.
3005
3029
 
3006
3030
  References:
3007
- - `metrics-api-v2 <https://docs.arango.ai/arangodb/stable/develop/http-api/monitoring/metrics/#metrics-api-v2>`__
3031
+ - `metrics-api <https://docs.arango.ai/arangodb/stable/develop/http-api/monitoring/metrics/#metrics-api>`__
3008
3032
  """ # noqa: E501
3009
3033
  params: Params = {}
3010
3034
  if server_id is not None:
@@ -3012,7 +3036,7 @@ class Database:
3012
3036
 
3013
3037
  request = Request(
3014
3038
  method=Method.GET,
3015
- endpoint="/_admin/metrics/v2",
3039
+ endpoint="/_admin/metrics",
3016
3040
  params=params,
3017
3041
  )
3018
3042
 
arangoasync/foxx.py CHANGED
@@ -34,7 +34,11 @@ from arangoasync.typings import Json, Jsons, Params, RequestHeaders
34
34
 
35
35
 
36
36
  class Foxx:
37
- """Foxx API wrapper."""
37
+ """Foxx API wrapper.
38
+
39
+ Warning:
40
+ Foxx microservice features are no longer available in ArangoDB 4.0.
41
+ """
38
42
 
39
43
  def __init__(self, executor: ApiExecutor) -> None:
40
44
  self._executor = executor
arangoasync/typings.py CHANGED
@@ -12,6 +12,7 @@ from typing import (
12
12
  TypeAlias,
13
13
  cast,
14
14
  )
15
+ from warnings import warn
15
16
 
16
17
  from multidict import CIMultiDictProxy, MultiDict
17
18
 
@@ -564,7 +565,7 @@ class DatabaseProperties(JsonWrapper):
564
565
 
565
566
  @property
566
567
  def path(self) -> Optional[str]:
567
- """The filesystem path of the current database."""
568
+ """The filesystem path of the current database. Removed in ArangoDB 4.0."""
568
569
  return self._data.get("path")
569
570
 
570
571
  @property
@@ -677,6 +678,8 @@ class CollectionProperties(JsonWrapper):
677
678
 
678
679
  @property
679
680
  def status_string(self) -> Optional[str]:
681
+ m = "statusString attribute has been removed in ArangoDB 4.0"
682
+ warn(m, DeprecationWarning, stacklevel=2)
680
683
  return self._data.get("statusString")
681
684
 
682
685
  @property
@@ -701,6 +704,8 @@ class CollectionProperties(JsonWrapper):
701
704
 
702
705
  @property
703
706
  def status(self) -> CollectionStatus:
707
+ m = "status attribute has been removed in ArangoDB 4.0"
708
+ warn(m, DeprecationWarning, stacklevel=2)
704
709
  return CollectionStatus.from_int(self._data["status"])
705
710
 
706
711
  @property
@@ -727,6 +732,10 @@ class CollectionProperties(JsonWrapper):
727
732
  def computed_values(self) -> Optional[Json]:
728
733
  return self._data.get("computedValues")
729
734
 
735
+ @property
736
+ def supportsRBAC(self) -> Optional[bool]:
737
+ return self._data.get("supportsRBAC")
738
+
730
739
  @property
731
740
  def object_id(self) -> str:
732
741
  return self._data["objectId"] # type: ignore[no-any-return]
@@ -808,6 +817,8 @@ class CollectionProperties(JsonWrapper):
808
817
  result["computedValues"] = data["computedValues"]
809
818
  if "internalValidatorType" in data:
810
819
  result["internal_validator_type"] = data["internalValidatorType"]
820
+ if "supportsRBAC" in data:
821
+ result["supportsRBAC"] = data["supportsRBAC"]
811
822
  return result
812
823
 
813
824
  def format(self, formatter: Optional[Formatter] = None) -> Json:
@@ -1121,6 +1132,14 @@ class IndexProperties(JsonWrapper):
1121
1132
  def features(self) -> Optional[List[str]]:
1122
1133
  return self._data.get("features")
1123
1134
 
1135
+ @property
1136
+ def error_message(self) -> Optional[str]:
1137
+ return self._data.get("errorMessage")
1138
+
1139
+ @property
1140
+ def training_state(self) -> Optional[str]:
1141
+ return self._data.get("trainingState")
1142
+
1124
1143
  @staticmethod
1125
1144
  def compatibility_formatter(data: Json) -> Json:
1126
1145
  """python-arango compatibility formatter."""
@@ -1179,6 +1198,10 @@ class IndexProperties(JsonWrapper):
1179
1198
  result["writebuffer_max_size"] = data["writebufferSizeMax"]
1180
1199
  if "optimizeTopK" in data:
1181
1200
  result["optimizeTopK"] = data["optimizeTopK"]
1201
+ if "errorMessage" in data:
1202
+ result["error_message"] = data["errorMessage"]
1203
+ if "trainingState" in data:
1204
+ result["training_state"] = data["trainingState"]
1182
1205
  return result
1183
1206
 
1184
1207
  def format(self, formatter: Optional[Formatter] = None) -> Json:
arangoasync/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.2.1"
1
+ __version__ = "1.2.3"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-arango-async
3
- Version: 1.2.1
3
+ Version: 1.2.3
4
4
  Summary: Async Python Driver for ArangoDB
5
5
  Author-email: Alexandru Petenchea <alexandru.petenchea@arangodb.com>, Anthony Mahanna <anthony.mahanna@arangodb.com>
6
6
  Maintainer-email: Alexandru Petenchea <alexandru.petenchea@arangodb.com>, Anthony Mahanna <anthony.mahanna@arangodb.com>
@@ -26,7 +26,7 @@ Requires-Dist: multidict>=6.0
26
26
  Requires-Dist: pyjwt>=2.10.0
27
27
  Provides-Extra: dev
28
28
  Requires-Dist: aiofiles>=24.1.0; extra == "dev"
29
- Requires-Dist: black==26.1.0; extra == "dev"
29
+ Requires-Dist: black==26.3.1; extra == "dev"
30
30
  Requires-Dist: flake8==7.3.0; extra == "dev"
31
31
  Requires-Dist: isort>=5.10.1; extra == "dev"
32
32
  Requires-Dist: mypy==1.15.0; extra == "dev"
@@ -169,7 +169,7 @@ async def main():
169
169
  # Traverse the graph in outbound direction, breath-first.
170
170
  query = """
171
171
  FOR v, e, p IN 1..3 OUTBOUND 'students/01' GRAPH 'school'
172
- OPTIONS { bfs: true, uniqueVertices: 'global' }
172
+ OPTIONS { order: 'bfs', uniqueVertices: 'global' }
173
173
  RETURN {vertex: v, edge: e, path: p}
174
174
  """
175
175
 
@@ -1,18 +1,18 @@
1
1
  arangoasync/__init__.py,sha256=HEJ7_q_pRcS9Gco3poa89jLQr_zDrDrHAXCEJMgjUFI,196
2
- arangoasync/aql.py,sha256=RKH0VAWs4zxm3sGvgzTO_GF6-F1gsZubvt7FHf_mV70,30271
2
+ arangoasync/aql.py,sha256=wUB6K2if5IGk6ucIVa5mxjWjQGG7l6p7xdtj39b6yn8,30541
3
3
  arangoasync/auth.py,sha256=16apz1_IvAB_ZSyenoPha6F_JkbHokmOWFHxPL_swxQ,3025
4
4
  arangoasync/backup.py,sha256=6ZUDjP44bilv056K2fo8l7BnmoeksJ9G9keMVP7i9FI,10577
5
5
  arangoasync/client.py,sha256=MKLYXPdDhBezFIKX1H5e7-dKzYnIHwbfN0CO8AEsAzs,10054
6
- arangoasync/cluster.py,sha256=t-65G17__SLLSBgigoJN5YDKwEAzS3t5vc2CGvrzWTo,17097
7
- arangoasync/collection.py,sha256=DdY5dbGPeFngxmf9fpSWD2C8FbB6QBs7lc-spsVtpkc,122447
6
+ arangoasync/cluster.py,sha256=64GYlpz07wBczeNTrPpxnUd17tFocrhGijGHF_dqdoo,17260
7
+ arangoasync/collection.py,sha256=BpyoYSgSIJ3PfPkqh6PwT7HLg66QLGkNA4eqx6xkYaM,122457
8
8
  arangoasync/compression.py,sha256=vMhcg5nQPkbgplk48vxARUnJ6YeIwrCLC6pDCVJSwo0,3804
9
9
  arangoasync/connection.py,sha256=f6HQOZHayluNVyH-j-sujlE_dvQrVxC1lPWnzrfQLqY,17459
10
10
  arangoasync/cursor.py,sha256=RQJOtNpxEx5n3eKx7UYPl1N8gzWYQESjufvakr18azk,8464
11
- arangoasync/database.py,sha256=p7EkDYEqWPGkl3xuMlaF_3O1kTBZ8mR8n65Pwqr1LS4,138824
11
+ arangoasync/database.py,sha256=tjdxJBJ5q6X8Q5qIVTLKPb6-tEPnNKV9EUIa-k1_K9Q,139492
12
12
  arangoasync/errno.py,sha256=4oKY9IyyzjOitbywhjH8S214qeNtpDlQg7JsHENJNoU,25245
13
13
  arangoasync/exceptions.py,sha256=lyb5iWMj71nNli32t23AWXKyOldQEJRuKoChtf0uBss,20000
14
14
  arangoasync/executor.py,sha256=eRUfWQc4eHgJr15nPnDju8oSK0408x6yB8XEGk7YhPY,4740
15
- arangoasync/foxx.py,sha256=uoIPbK3WRqR9_tcR0n6GzN7oFGTb_0MkmZ1wWqd92tI,28829
15
+ arangoasync/foxx.py,sha256=qksGB7Y65_J4f6uThQzBHvmIOzjomslV4pIqohtBS54,28924
16
16
  arangoasync/graph.py,sha256=G-todTf-ldTQtS2uhCsiigdPL4WABbbfTrLKlIPFkhA,40953
17
17
  arangoasync/http.py,sha256=xkxnLMbqFBEngmqGCuBOgRuXgQSBUk9-dzYXB1yrL98,6154
18
18
  arangoasync/job.py,sha256=B9cPDzxaYflWDj95j941wrcCj4w5j-gnmSzs3TdNdfw,7471
@@ -23,10 +23,10 @@ arangoasync/resolver.py,sha256=icsmQIkklrvq-a88vIR8C-M3rcv5BJxhDE2PK8LenG0,3409
23
23
  arangoasync/response.py,sha256=VMnoWgtyrh1JGK7mEgRNsUtSawxWMgFjHT-Cff4d8zc,2132
24
24
  arangoasync/result.py,sha256=NVwFxpYUDujHNRCqCZIBOlGLzB7XsiSmjWPFhUgRS6k,233
25
25
  arangoasync/serialization.py,sha256=ExRqrEpbk11Hb3AfFUJGqPlGBD3dbvwQg_xsZUsrm6I,2910
26
- arangoasync/typings.py,sha256=xTAdATHRvV2g8_eld-v80UhjoY3f_TJ8ZkJy3U6ZqNc,69243
27
- arangoasync/version.py,sha256=Mlm4Gvmb_6yQxwUbv2Ksc-BJFXLPg9H1Vt2iV7wXrA4,22
28
- python_arango_async-1.2.1.dist-info/licenses/LICENSE,sha256=6zoGhJon2tcnvzmycirNjLNBZ6rlLJtYDdVGO76RXVM,1065
29
- python_arango_async-1.2.1.dist-info/METADATA,sha256=TOqI9x4YT2xMJEcct7QSUU3-BZ8jTG8AwptblLh1zIo,7940
30
- python_arango_async-1.2.1.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
31
- python_arango_async-1.2.1.dist-info/top_level.txt,sha256=uabwJ6t-MiIaZQXGUvYikeSbZDcF0RK37GzikBnDz5k,12
32
- python_arango_async-1.2.1.dist-info/RECORD,,
26
+ arangoasync/typings.py,sha256=xT6Dm63aTOWnLiiN0Gkxqm0jED4A43IyP_5p9haZKy4,70135
27
+ arangoasync/version.py,sha256=C-D_WWrVkBDmQmApLcm0sWNh2CgIrwWfc8_sB5vvU-Q,22
28
+ python_arango_async-1.2.3.dist-info/licenses/LICENSE,sha256=6zoGhJon2tcnvzmycirNjLNBZ6rlLJtYDdVGO76RXVM,1065
29
+ python_arango_async-1.2.3.dist-info/METADATA,sha256=PBU14KUEYj8BqIOS5UjNIOu_ooOUJBrQaZMXjcJ46lo,7943
30
+ python_arango_async-1.2.3.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
31
+ python_arango_async-1.2.3.dist-info/top_level.txt,sha256=uabwJ6t-MiIaZQXGUvYikeSbZDcF0RK37GzikBnDz5k,12
32
+ python_arango_async-1.2.3.dist-info/RECORD,,