python-arango 8.2.2__tar.gz → 8.2.4__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 (91) hide show
  1. {python_arango-8.2.2 → python_arango-8.2.4}/.circleci/config.yml +3 -3
  2. {python_arango-8.2.2 → python_arango-8.2.4}/PKG-INFO +1 -1
  3. {python_arango-8.2.2 → python_arango-8.2.4}/arango/aql.py +18 -0
  4. {python_arango-8.2.2 → python_arango-8.2.4}/arango/database.py +21 -0
  5. {python_arango-8.2.2 → python_arango-8.2.4}/arango/exceptions.py +8 -0
  6. {python_arango-8.2.2 → python_arango-8.2.4}/arango/formatter.py +8 -0
  7. {python_arango-8.2.2 → python_arango-8.2.4}/arango/request.py +1 -1
  8. {python_arango-8.2.2 → python_arango-8.2.4}/python_arango.egg-info/PKG-INFO +1 -1
  9. {python_arango-8.2.2 → python_arango-8.2.4}/starter.sh +2 -2
  10. {python_arango-8.2.2 → python_arango-8.2.4}/.github/workflows/codeql.yaml +0 -0
  11. {python_arango-8.2.2 → python_arango-8.2.4}/.github/workflows/docs.yaml +0 -0
  12. {python_arango-8.2.2 → python_arango-8.2.4}/.github/workflows/pypi.yaml +0 -0
  13. {python_arango-8.2.2 → python_arango-8.2.4}/.gitignore +0 -0
  14. {python_arango-8.2.2 → python_arango-8.2.4}/.pre-commit-config.yaml +0 -0
  15. {python_arango-8.2.2 → python_arango-8.2.4}/.readthedocs.yaml +0 -0
  16. {python_arango-8.2.2 → python_arango-8.2.4}/CONTRIBUTING.md +0 -0
  17. {python_arango-8.2.2 → python_arango-8.2.4}/LICENSE +0 -0
  18. {python_arango-8.2.2 → python_arango-8.2.4}/MANIFEST.in +0 -0
  19. {python_arango-8.2.2 → python_arango-8.2.4}/README.md +0 -0
  20. {python_arango-8.2.2 → python_arango-8.2.4}/arango/__init__.py +0 -0
  21. {python_arango-8.2.2 → python_arango-8.2.4}/arango/api.py +0 -0
  22. {python_arango-8.2.2 → python_arango-8.2.4}/arango/backup.py +0 -0
  23. {python_arango-8.2.2 → python_arango-8.2.4}/arango/client.py +0 -0
  24. {python_arango-8.2.2 → python_arango-8.2.4}/arango/cluster.py +0 -0
  25. {python_arango-8.2.2 → python_arango-8.2.4}/arango/collection.py +0 -0
  26. {python_arango-8.2.2 → python_arango-8.2.4}/arango/connection.py +0 -0
  27. {python_arango-8.2.2 → python_arango-8.2.4}/arango/cursor.py +0 -0
  28. {python_arango-8.2.2 → python_arango-8.2.4}/arango/errno.py +0 -0
  29. {python_arango-8.2.2 → python_arango-8.2.4}/arango/executor.py +0 -0
  30. {python_arango-8.2.2 → python_arango-8.2.4}/arango/foxx.py +0 -0
  31. {python_arango-8.2.2 → python_arango-8.2.4}/arango/graph.py +0 -0
  32. {python_arango-8.2.2 → python_arango-8.2.4}/arango/http.py +0 -0
  33. {python_arango-8.2.2 → python_arango-8.2.4}/arango/job.py +0 -0
  34. {python_arango-8.2.2 → python_arango-8.2.4}/arango/pregel.py +0 -0
  35. {python_arango-8.2.2 → python_arango-8.2.4}/arango/py.typed +0 -0
  36. {python_arango-8.2.2 → python_arango-8.2.4}/arango/replication.py +0 -0
  37. {python_arango-8.2.2 → python_arango-8.2.4}/arango/resolver.py +0 -0
  38. {python_arango-8.2.2 → python_arango-8.2.4}/arango/response.py +0 -0
  39. {python_arango-8.2.2 → python_arango-8.2.4}/arango/result.py +0 -0
  40. {python_arango-8.2.2 → python_arango-8.2.4}/arango/typings.py +0 -0
  41. {python_arango-8.2.2 → python_arango-8.2.4}/arango/utils.py +0 -0
  42. {python_arango-8.2.2 → python_arango-8.2.4}/arango/wal.py +0 -0
  43. {python_arango-8.2.2 → python_arango-8.2.4}/docs/Makefile +0 -0
  44. {python_arango-8.2.2 → python_arango-8.2.4}/docs/admin.rst +0 -0
  45. {python_arango-8.2.2 → python_arango-8.2.4}/docs/analyzer.rst +0 -0
  46. {python_arango-8.2.2 → python_arango-8.2.4}/docs/aql.rst +0 -0
  47. {python_arango-8.2.2 → python_arango-8.2.4}/docs/async.rst +0 -0
  48. {python_arango-8.2.2 → python_arango-8.2.4}/docs/auth.rst +0 -0
  49. {python_arango-8.2.2 → python_arango-8.2.4}/docs/backup.rst +0 -0
  50. {python_arango-8.2.2 → python_arango-8.2.4}/docs/batch.rst +0 -0
  51. {python_arango-8.2.2 → python_arango-8.2.4}/docs/certificates.rst +0 -0
  52. {python_arango-8.2.2 → python_arango-8.2.4}/docs/cluster.rst +0 -0
  53. {python_arango-8.2.2 → python_arango-8.2.4}/docs/collection.rst +0 -0
  54. {python_arango-8.2.2 → python_arango-8.2.4}/docs/compression.rst +0 -0
  55. {python_arango-8.2.2 → python_arango-8.2.4}/docs/conf.py +0 -0
  56. {python_arango-8.2.2 → python_arango-8.2.4}/docs/contributing.rst +0 -0
  57. {python_arango-8.2.2 → python_arango-8.2.4}/docs/cursor.rst +0 -0
  58. {python_arango-8.2.2 → python_arango-8.2.4}/docs/database.rst +0 -0
  59. {python_arango-8.2.2 → python_arango-8.2.4}/docs/document.rst +0 -0
  60. {python_arango-8.2.2 → python_arango-8.2.4}/docs/errno.rst +0 -0
  61. {python_arango-8.2.2 → python_arango-8.2.4}/docs/errors.rst +0 -0
  62. {python_arango-8.2.2 → python_arango-8.2.4}/docs/foxx.rst +0 -0
  63. {python_arango-8.2.2 → python_arango-8.2.4}/docs/graph.rst +0 -0
  64. {python_arango-8.2.2 → python_arango-8.2.4}/docs/http.rst +0 -0
  65. {python_arango-8.2.2 → python_arango-8.2.4}/docs/index.rst +0 -0
  66. {python_arango-8.2.2 → python_arango-8.2.4}/docs/indexes.rst +0 -0
  67. {python_arango-8.2.2 → python_arango-8.2.4}/docs/logging.rst +0 -0
  68. {python_arango-8.2.2 → python_arango-8.2.4}/docs/make.bat +0 -0
  69. {python_arango-8.2.2 → python_arango-8.2.4}/docs/overload.rst +0 -0
  70. {python_arango-8.2.2 → python_arango-8.2.4}/docs/overview.rst +0 -0
  71. {python_arango-8.2.2 → python_arango-8.2.4}/docs/pregel.rst +0 -0
  72. {python_arango-8.2.2 → python_arango-8.2.4}/docs/replication.rst +0 -0
  73. {python_arango-8.2.2 → python_arango-8.2.4}/docs/requirements.txt +0 -0
  74. {python_arango-8.2.2 → python_arango-8.2.4}/docs/schema.rst +0 -0
  75. {python_arango-8.2.2 → python_arango-8.2.4}/docs/serializer.rst +0 -0
  76. {python_arango-8.2.2 → python_arango-8.2.4}/docs/simple.rst +0 -0
  77. {python_arango-8.2.2 → python_arango-8.2.4}/docs/specs.rst +0 -0
  78. {python_arango-8.2.2 → python_arango-8.2.4}/docs/static/logo.png +0 -0
  79. {python_arango-8.2.2 → python_arango-8.2.4}/docs/task.rst +0 -0
  80. {python_arango-8.2.2 → python_arango-8.2.4}/docs/threading.rst +0 -0
  81. {python_arango-8.2.2 → python_arango-8.2.4}/docs/transaction.rst +0 -0
  82. {python_arango-8.2.2 → python_arango-8.2.4}/docs/user.rst +0 -0
  83. {python_arango-8.2.2 → python_arango-8.2.4}/docs/view.rst +0 -0
  84. {python_arango-8.2.2 → python_arango-8.2.4}/docs/wal.rst +0 -0
  85. {python_arango-8.2.2 → python_arango-8.2.4}/pyproject.toml +0 -0
  86. {python_arango-8.2.2 → python_arango-8.2.4}/python_arango.egg-info/SOURCES.txt +0 -0
  87. {python_arango-8.2.2 → python_arango-8.2.4}/python_arango.egg-info/dependency_links.txt +0 -0
  88. {python_arango-8.2.2 → python_arango-8.2.4}/python_arango.egg-info/requires.txt +0 -0
  89. {python_arango-8.2.2 → python_arango-8.2.4}/python_arango.egg-info/top_level.txt +0 -0
  90. {python_arango-8.2.2 → python_arango-8.2.4}/setup.cfg +0 -0
  91. {python_arango-8.2.2 → python_arango-8.2.4}/setup.py +0 -0
@@ -11,10 +11,10 @@ workflows:
11
11
  name: Python (<< matrix.python_version >>) - ArangoDB (<< matrix.arangodb_license >>, << matrix.arangodb_version >> << matrix.arangodb_config >>)
12
12
  matrix:
13
13
  parameters:
14
- python_version: ["3.9", "3.10", "3.11", "3.12"]
14
+ python_version: ["3.10", "3.11", "3.12"]
15
15
  arangodb_config: ["single", "cluster"]
16
- arangodb_license: ["community", "enterprise"]
17
- arangodb_version: ["3.11", "latest"]
16
+ arangodb_license: ["enterprise"]
17
+ arangodb_version: ["latest"]
18
18
 
19
19
  jobs:
20
20
  lint:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-arango
3
- Version: 8.2.2
3
+ Version: 8.2.4
4
4
  Summary: Python Driver for ArangoDB
5
5
  Author-email: Joohwan Oh <joohwan.oh@outlook.com>
6
6
  Maintainer-email: Joohwan Oh <joohwan.oh@outlook.com>, Alexandru Petenchea <alex.petenchea@gmail.com>, Anthony Mahanna <anthony.mahanna@arangodb.com>
@@ -17,6 +17,7 @@ from arango.exceptions import (
17
17
  AQLQueryClearError,
18
18
  AQLQueryExecuteError,
19
19
  AQLQueryExplainError,
20
+ AQLQueryHistoryError,
20
21
  AQLQueryKillError,
21
22
  AQLQueryListError,
22
23
  AQLQueryRulesGetError,
@@ -627,6 +628,23 @@ class AQL(ApiGroup):
627
628
 
628
629
  return self._execute(request, response_handler)
629
630
 
631
+ def history(self) -> Result[Json]:
632
+ """Return recently executed AQL queries (admin only).
633
+
634
+ :return: AQL query history.
635
+ :rtype: dict
636
+ :raise arango.exceptions.AQLQueryHistoryError: If retrieval fails.
637
+ """
638
+ request = Request(method="get", endpoint="/_admin/server/aql-queries")
639
+
640
+ def response_handler(resp: Response) -> Json:
641
+ if not resp.is_success:
642
+ raise AQLQueryHistoryError(resp, request)
643
+ res: Json = resp.body["result"]
644
+ return res
645
+
646
+ return self._execute(request, response_handler)
647
+
630
648
  def functions(self) -> Result[Jsons]:
631
649
  """List the AQL functions defined in the database.
632
650
 
@@ -44,6 +44,7 @@ from arango.exceptions import (
44
44
  PermissionListError,
45
45
  PermissionResetError,
46
46
  PermissionUpdateError,
47
+ ServerAPICallsError,
47
48
  ServerAvailableOptionsGetError,
48
49
  ServerCheckAvailabilityError,
49
50
  ServerCurrentOptionsGetError,
@@ -463,6 +464,26 @@ class Database(ApiGroup):
463
464
 
464
465
  return self._execute(request, response_handler)
465
466
 
467
+ def api_calls(self) -> Result[Json]:
468
+ """Return recent API calls (admin only).
469
+
470
+ :return: API calls history.
471
+ :rtype: dict
472
+ :raise arango.exceptions.ServerAPICallsError: If retrieval fails.
473
+ """
474
+ request = Request(
475
+ method="get",
476
+ endpoint="/_admin/server/api-calls",
477
+ )
478
+
479
+ def response_handler(resp: Response) -> Json:
480
+ if not resp.is_success:
481
+ raise ServerAPICallsError(resp, request)
482
+ res: Json = resp.body["result"]
483
+ return res
484
+
485
+ return self._execute(request, response_handler)
486
+
466
487
  def status(self) -> Result[Json]:
467
488
  """Return ArangoDB server status.
468
489
 
@@ -121,6 +121,10 @@ class AQLQueryTrackingGetError(ArangoServerError):
121
121
  """Failed to retrieve AQL tracking properties."""
122
122
 
123
123
 
124
+ class AQLQueryHistoryError(ArangoServerError):
125
+ """Failed to retrieve recent AQL queries."""
126
+
127
+
124
128
  class AQLQueryTrackingSetError(ArangoServerError):
125
129
  """Failed to configure AQL tracking properties."""
126
130
 
@@ -638,6 +642,10 @@ class ServerDetailsError(ArangoServerError):
638
642
  """Failed to retrieve server details."""
639
643
 
640
644
 
645
+ class ServerAPICallsError(ArangoServerError):
646
+ """Failed to retrieve recent API calls."""
647
+
648
+
641
649
  class ServerLicenseGetError(ArangoServerError):
642
650
  """Failed to retrieve server license."""
643
651
 
@@ -116,6 +116,10 @@ def format_index(body: Json, formatter: bool = True) -> Json:
116
116
  if "optimizeTopK" in body:
117
117
  result["optimizeTopK"] = body["optimizeTopK"]
118
118
 
119
+ # Introduced via Vector Index in 3.12.6
120
+ if "params" in body:
121
+ result["params"] = body["params"]
122
+
119
123
  return verify_format(body, result)
120
124
 
121
125
 
@@ -899,6 +903,10 @@ def format_view_consolidation_policy(body: Json) -> Json:
899
903
  result["segments_bytes_floor"] = body["segmentsBytesFloor"]
900
904
  if "minScore" in body:
901
905
  result["min_score"] = body["minScore"]
906
+ if "maxSkewThreshold" in body:
907
+ result["max_skew_threshold"] = body["maxSkewThreshold"]
908
+ if "minDeletionRatio" in body:
909
+ result["min_deletion_ratio"] = body["minDeletionRatio"]
902
910
 
903
911
  return verify_format(body, result)
904
912
 
@@ -12,7 +12,7 @@ def normalize_headers(
12
12
  if driver_flags is not None:
13
13
  for flag in driver_flags:
14
14
  flags = flags + flag + ";"
15
- driver_version = "8.2.2"
15
+ driver_version = "8.2.4"
16
16
  driver_header = "python-arango/" + driver_version + " (" + flags + ")"
17
17
  normalized_headers: Headers = {
18
18
  "charset": "utf-8",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-arango
3
- Version: 8.2.2
3
+ Version: 8.2.4
4
4
  Summary: Python Driver for ArangoDB
5
5
  Author-email: Joohwan Oh <joohwan.oh@outlook.com>
6
6
  Maintainer-email: Joohwan Oh <joohwan.oh@outlook.com>, Alexandru Petenchea <alex.petenchea@gmail.com>, Anthony Mahanna <anthony.mahanna@arangodb.com>
@@ -8,8 +8,8 @@
8
8
  # Example:
9
9
  # ./starter.sh cluster enterprise 3.12.5
10
10
 
11
- setup="${1:-single}"
12
- license="${2:-community}"
11
+ setup="${1:-cluster}"
12
+ license="${2:-enterprise}"
13
13
  version="${3:-latest}"
14
14
 
15
15
  extra_ports=""
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes