python-arango 8.1.0__tar.gz → 8.1.1__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.1.0 → python_arango-8.1.1}/PKG-INFO +1 -1
  2. {python_arango-8.1.0 → python_arango-8.1.1}/arango/cluster.py +55 -0
  3. {python_arango-8.1.0 → python_arango-8.1.1}/arango/database.py +15 -2
  4. {python_arango-8.1.0 → python_arango-8.1.1}/arango/exceptions.py +4 -0
  5. {python_arango-8.1.0 → python_arango-8.1.1}/arango/formatter.py +6 -0
  6. {python_arango-8.1.0 → python_arango-8.1.1}/arango/request.py +1 -1
  7. {python_arango-8.1.0 → python_arango-8.1.1}/docs/admin.rst +1 -1
  8. {python_arango-8.1.0 → python_arango-8.1.1}/python_arango.egg-info/PKG-INFO +1 -1
  9. {python_arango-8.1.0 → python_arango-8.1.1}/.circleci/config.yml +0 -0
  10. {python_arango-8.1.0 → python_arango-8.1.1}/.github/workflows/codeql.yaml +0 -0
  11. {python_arango-8.1.0 → python_arango-8.1.1}/.github/workflows/docs.yaml +0 -0
  12. {python_arango-8.1.0 → python_arango-8.1.1}/.github/workflows/pypi.yaml +0 -0
  13. {python_arango-8.1.0 → python_arango-8.1.1}/.gitignore +0 -0
  14. {python_arango-8.1.0 → python_arango-8.1.1}/.pre-commit-config.yaml +0 -0
  15. {python_arango-8.1.0 → python_arango-8.1.1}/.readthedocs.yaml +0 -0
  16. {python_arango-8.1.0 → python_arango-8.1.1}/CONTRIBUTING.md +0 -0
  17. {python_arango-8.1.0 → python_arango-8.1.1}/LICENSE +0 -0
  18. {python_arango-8.1.0 → python_arango-8.1.1}/MANIFEST.in +0 -0
  19. {python_arango-8.1.0 → python_arango-8.1.1}/README.md +0 -0
  20. {python_arango-8.1.0 → python_arango-8.1.1}/arango/__init__.py +0 -0
  21. {python_arango-8.1.0 → python_arango-8.1.1}/arango/api.py +0 -0
  22. {python_arango-8.1.0 → python_arango-8.1.1}/arango/aql.py +0 -0
  23. {python_arango-8.1.0 → python_arango-8.1.1}/arango/backup.py +0 -0
  24. {python_arango-8.1.0 → python_arango-8.1.1}/arango/client.py +0 -0
  25. {python_arango-8.1.0 → python_arango-8.1.1}/arango/collection.py +0 -0
  26. {python_arango-8.1.0 → python_arango-8.1.1}/arango/connection.py +0 -0
  27. {python_arango-8.1.0 → python_arango-8.1.1}/arango/cursor.py +0 -0
  28. {python_arango-8.1.0 → python_arango-8.1.1}/arango/errno.py +0 -0
  29. {python_arango-8.1.0 → python_arango-8.1.1}/arango/executor.py +0 -0
  30. {python_arango-8.1.0 → python_arango-8.1.1}/arango/foxx.py +0 -0
  31. {python_arango-8.1.0 → python_arango-8.1.1}/arango/graph.py +0 -0
  32. {python_arango-8.1.0 → python_arango-8.1.1}/arango/http.py +0 -0
  33. {python_arango-8.1.0 → python_arango-8.1.1}/arango/job.py +0 -0
  34. {python_arango-8.1.0 → python_arango-8.1.1}/arango/pregel.py +0 -0
  35. {python_arango-8.1.0 → python_arango-8.1.1}/arango/py.typed +0 -0
  36. {python_arango-8.1.0 → python_arango-8.1.1}/arango/replication.py +0 -0
  37. {python_arango-8.1.0 → python_arango-8.1.1}/arango/resolver.py +0 -0
  38. {python_arango-8.1.0 → python_arango-8.1.1}/arango/response.py +0 -0
  39. {python_arango-8.1.0 → python_arango-8.1.1}/arango/result.py +0 -0
  40. {python_arango-8.1.0 → python_arango-8.1.1}/arango/typings.py +0 -0
  41. {python_arango-8.1.0 → python_arango-8.1.1}/arango/utils.py +0 -0
  42. {python_arango-8.1.0 → python_arango-8.1.1}/arango/wal.py +0 -0
  43. {python_arango-8.1.0 → python_arango-8.1.1}/docs/Makefile +0 -0
  44. {python_arango-8.1.0 → python_arango-8.1.1}/docs/analyzer.rst +0 -0
  45. {python_arango-8.1.0 → python_arango-8.1.1}/docs/aql.rst +0 -0
  46. {python_arango-8.1.0 → python_arango-8.1.1}/docs/async.rst +0 -0
  47. {python_arango-8.1.0 → python_arango-8.1.1}/docs/auth.rst +0 -0
  48. {python_arango-8.1.0 → python_arango-8.1.1}/docs/backup.rst +0 -0
  49. {python_arango-8.1.0 → python_arango-8.1.1}/docs/batch.rst +0 -0
  50. {python_arango-8.1.0 → python_arango-8.1.1}/docs/certificates.rst +0 -0
  51. {python_arango-8.1.0 → python_arango-8.1.1}/docs/cluster.rst +0 -0
  52. {python_arango-8.1.0 → python_arango-8.1.1}/docs/collection.rst +0 -0
  53. {python_arango-8.1.0 → python_arango-8.1.1}/docs/compression.rst +0 -0
  54. {python_arango-8.1.0 → python_arango-8.1.1}/docs/conf.py +0 -0
  55. {python_arango-8.1.0 → python_arango-8.1.1}/docs/contributing.rst +0 -0
  56. {python_arango-8.1.0 → python_arango-8.1.1}/docs/cursor.rst +0 -0
  57. {python_arango-8.1.0 → python_arango-8.1.1}/docs/database.rst +0 -0
  58. {python_arango-8.1.0 → python_arango-8.1.1}/docs/document.rst +0 -0
  59. {python_arango-8.1.0 → python_arango-8.1.1}/docs/errno.rst +0 -0
  60. {python_arango-8.1.0 → python_arango-8.1.1}/docs/errors.rst +0 -0
  61. {python_arango-8.1.0 → python_arango-8.1.1}/docs/foxx.rst +0 -0
  62. {python_arango-8.1.0 → python_arango-8.1.1}/docs/graph.rst +0 -0
  63. {python_arango-8.1.0 → python_arango-8.1.1}/docs/http.rst +0 -0
  64. {python_arango-8.1.0 → python_arango-8.1.1}/docs/index.rst +0 -0
  65. {python_arango-8.1.0 → python_arango-8.1.1}/docs/indexes.rst +0 -0
  66. {python_arango-8.1.0 → python_arango-8.1.1}/docs/logging.rst +0 -0
  67. {python_arango-8.1.0 → python_arango-8.1.1}/docs/make.bat +0 -0
  68. {python_arango-8.1.0 → python_arango-8.1.1}/docs/overload.rst +0 -0
  69. {python_arango-8.1.0 → python_arango-8.1.1}/docs/overview.rst +0 -0
  70. {python_arango-8.1.0 → python_arango-8.1.1}/docs/pregel.rst +0 -0
  71. {python_arango-8.1.0 → python_arango-8.1.1}/docs/replication.rst +0 -0
  72. {python_arango-8.1.0 → python_arango-8.1.1}/docs/requirements.txt +0 -0
  73. {python_arango-8.1.0 → python_arango-8.1.1}/docs/schema.rst +0 -0
  74. {python_arango-8.1.0 → python_arango-8.1.1}/docs/serializer.rst +0 -0
  75. {python_arango-8.1.0 → python_arango-8.1.1}/docs/simple.rst +0 -0
  76. {python_arango-8.1.0 → python_arango-8.1.1}/docs/specs.rst +0 -0
  77. {python_arango-8.1.0 → python_arango-8.1.1}/docs/static/logo.png +0 -0
  78. {python_arango-8.1.0 → python_arango-8.1.1}/docs/task.rst +0 -0
  79. {python_arango-8.1.0 → python_arango-8.1.1}/docs/threading.rst +0 -0
  80. {python_arango-8.1.0 → python_arango-8.1.1}/docs/transaction.rst +0 -0
  81. {python_arango-8.1.0 → python_arango-8.1.1}/docs/user.rst +0 -0
  82. {python_arango-8.1.0 → python_arango-8.1.1}/docs/view.rst +0 -0
  83. {python_arango-8.1.0 → python_arango-8.1.1}/docs/wal.rst +0 -0
  84. {python_arango-8.1.0 → python_arango-8.1.1}/pyproject.toml +0 -0
  85. {python_arango-8.1.0 → python_arango-8.1.1}/python_arango.egg-info/SOURCES.txt +0 -0
  86. {python_arango-8.1.0 → python_arango-8.1.1}/python_arango.egg-info/dependency_links.txt +0 -0
  87. {python_arango-8.1.0 → python_arango-8.1.1}/python_arango.egg-info/requires.txt +0 -0
  88. {python_arango-8.1.0 → python_arango-8.1.1}/python_arango.egg-info/top_level.txt +0 -0
  89. {python_arango-8.1.0 → python_arango-8.1.1}/setup.cfg +0 -0
  90. {python_arango-8.1.0 → python_arango-8.1.1}/setup.py +0 -0
  91. {python_arango-8.1.0 → python_arango-8.1.1}/starter.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-arango
3
- Version: 8.1.0
3
+ Version: 8.1.1
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>
@@ -15,6 +15,7 @@ from arango.exceptions import (
15
15
  ClusterServerRoleError,
16
16
  ClusterServerStatisticsError,
17
17
  ClusterServerVersionError,
18
+ ClusterVpackSortMigrationError,
18
19
  )
19
20
  from arango.formatter import format_body
20
21
  from arango.request import Request
@@ -444,3 +445,57 @@ class Cluster(ApiGroup): # pragma: no cover
444
445
  return result
445
446
 
446
447
  return self._execute(request, response_handler)
448
+
449
+ def vpack_sort_migration_status(self) -> Result[Json]:
450
+ """Query the status of the vpack sorting migration.
451
+
452
+ :return: Status of the VPack sort migration.
453
+ :rtype: dict
454
+ """
455
+ request = Request(
456
+ method="get", endpoint="/_admin/cluster/vpackSortMigration/status"
457
+ )
458
+
459
+ def response_handler(resp: Response) -> Json:
460
+ if not resp.is_success:
461
+ raise ClusterVpackSortMigrationError(resp, request)
462
+ result: Json = resp.body["result"]
463
+ return result
464
+
465
+ return self._execute(request, response_handler)
466
+
467
+ def vpack_sort_migration_index_check(self) -> Result[Json]:
468
+ """Check for indexes impacted by the sorting behavior before 3.12.2.
469
+
470
+ :return: Status of indexes.
471
+ :rtype: dict
472
+ """
473
+ request = Request(
474
+ method="get", endpoint="/_admin/cluster/vpackSortMigration/check"
475
+ )
476
+
477
+ def response_handler(resp: Response) -> Json:
478
+ if not resp.is_success:
479
+ raise ClusterVpackSortMigrationError(resp, request)
480
+ result: Json = resp.body["result"]
481
+ return result
482
+
483
+ return self._execute(request, response_handler)
484
+
485
+ def migrate_vpack_sorting(self) -> Result[Json]:
486
+ """Migrate instances to the new VPack sorting behavior.
487
+
488
+ :return: Status of the VPack sort migration.
489
+ :rtype: dict
490
+ """
491
+ request = Request(
492
+ method="put", endpoint="/_admin/cluster/vpackSortMigration/migrate"
493
+ )
494
+
495
+ def response_handler(resp: Response) -> Json:
496
+ if not resp.is_success:
497
+ raise ClusterVpackSortMigrationError(resp, request)
498
+ result: Json = resp.body["result"]
499
+ return result
500
+
501
+ return self._execute(request, response_handler)
@@ -935,7 +935,9 @@ class Database(ApiGroup):
935
935
 
936
936
  return self._execute(request, response_handler)
937
937
 
938
- def log_levels(self, server_id: Optional[str] = None) -> Result[Json]:
938
+ def log_levels(
939
+ self, server_id: Optional[str] = None, with_appenders: Optional[bool] = None
940
+ ) -> Result[Json]:
939
941
  """Return current logging levels.
940
942
 
941
943
  :param server_id: Forward log level to a specific server. This makes it
@@ -943,12 +945,16 @@ class Database(ApiGroup):
943
945
  JWT authentication whereas Coordinators also support authentication
944
946
  using usernames and passwords.
945
947
  :type server_id: str
948
+ :param with_appenders: Include appenders in the response.
949
+ :type with_appenders: bool
946
950
  :return: Current logging levels.
947
951
  :rtype: dict
948
952
  """
949
953
  params: Params = {}
950
954
  if server_id is not None:
951
955
  params["serverId"] = server_id
956
+ if with_appenders is not None:
957
+ params["withAppenders"] = with_appenders
952
958
 
953
959
  request = Request(method="get", endpoint="/_admin/log/level", params=params)
954
960
 
@@ -961,7 +967,10 @@ class Database(ApiGroup):
961
967
  return self._execute(request, response_handler)
962
968
 
963
969
  def set_log_levels(
964
- self, server_id: Optional[str] = None, **kwargs: Dict[str, Any]
970
+ self,
971
+ server_id: Optional[str] = None,
972
+ with_appenders: Optional[bool] = None,
973
+ **kwargs: Dict[str, Any],
965
974
  ) -> Result[Json]:
966
975
  """Set the logging levels.
967
976
 
@@ -983,6 +992,8 @@ class Database(ApiGroup):
983
992
  JWT authentication whereas Coordinators also support authentication
984
993
  using usernames and passwords.
985
994
  :type server_id: str | None
995
+ :param with_appenders: Include appenders in the request.
996
+ :type with_appenders: bool | None
986
997
  :param kwargs: Logging levels.
987
998
  :type kwargs: Dict[str, Any]
988
999
  :return: New logging levels.
@@ -991,6 +1002,8 @@ class Database(ApiGroup):
991
1002
  params: Params = {}
992
1003
  if server_id is not None:
993
1004
  params["serverId"] = server_id
1005
+ if with_appenders is not None:
1006
+ params["withAppenders"] = with_appenders
994
1007
 
995
1008
  request = Request(
996
1009
  method="put", endpoint="/_admin/log/level", params=params, data=kwargs
@@ -1047,6 +1047,10 @@ class ClusterRebalanceError(ArangoServerError):
1047
1047
  """Failed to execute cluster re-balancing operation (load/set)."""
1048
1048
 
1049
1049
 
1050
+ class ClusterVpackSortMigrationError(ArangoServerError):
1051
+ """Failed to execute vpack sort migration request."""
1052
+
1053
+
1050
1054
  ##################
1051
1055
  # JWT Exceptions #
1052
1056
  ##################
@@ -365,6 +365,12 @@ def format_aql_query(body: Json) -> Json:
365
365
  # New in 3.11
366
366
  if "peakMemoryUsage" in body:
367
367
  result["peak_memory_usage"] = body["peakMemoryUsage"]
368
+
369
+ # New in 3.12.2
370
+ if "modificationQuery" in body:
371
+ result["modification_query"] = body["modificationQuery"]
372
+ if "warnings" in body:
373
+ result["warnings"] = body["warnings"]
368
374
  return verify_format(body, result)
369
375
 
370
376
 
@@ -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.1.0"
15
+ driver_version = "8.1.1"
16
16
  driver_header = "python-arango/" + driver_version + " (" + flags + ")"
17
17
  normalized_headers: Headers = {
18
18
  "charset": "utf-8",
@@ -60,7 +60,7 @@ database.
60
60
  # Set the log .
61
61
  sys_db.set_log_levels(
62
62
  agency='DEBUG',
63
- collector='INFO',
63
+ deprecation='INFO',
64
64
  threads='WARNING'
65
65
  )
66
66
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-arango
3
- Version: 8.1.0
3
+ Version: 8.1.1
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>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes