python-arango-async 1.0.2__tar.gz → 1.0.3__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 (110) hide show
  1. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.circleci/config.yml +2 -2
  2. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/PKG-INFO +1 -1
  3. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/aql.py +20 -0
  4. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/exceptions.py +4 -0
  5. python_arango_async-1.0.3/arangoasync/version.py +1 -0
  6. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/PKG-INFO +1 -1
  7. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_aql.py +5 -0
  8. python_arango_async-1.0.2/arangoasync/version.py +0 -1
  9. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.github/workflows/codeql.yaml +0 -0
  10. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.github/workflows/docs.yaml +0 -0
  11. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.github/workflows/pypi.yaml +0 -0
  12. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.gitignore +0 -0
  13. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.pre-commit-config.yaml +0 -0
  14. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.readthedocs.yaml +0 -0
  15. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/CONTRIBUTING.md +0 -0
  16. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/LICENSE +0 -0
  17. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/README.md +0 -0
  18. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/__init__.py +0 -0
  19. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/auth.py +0 -0
  20. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/backup.py +0 -0
  21. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/client.py +0 -0
  22. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/cluster.py +0 -0
  23. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/collection.py +0 -0
  24. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/compression.py +0 -0
  25. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/connection.py +0 -0
  26. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/cursor.py +0 -0
  27. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/database.py +0 -0
  28. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/errno.py +0 -0
  29. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/executor.py +0 -0
  30. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/foxx.py +0 -0
  31. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/graph.py +0 -0
  32. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/http.py +0 -0
  33. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/job.py +0 -0
  34. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/logger.py +0 -0
  35. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/replication.py +0 -0
  36. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/request.py +0 -0
  37. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/resolver.py +0 -0
  38. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/response.py +0 -0
  39. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/result.py +0 -0
  40. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/serialization.py +0 -0
  41. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/typings.py +0 -0
  42. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/admin.rst +0 -0
  43. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/analyzer.rst +0 -0
  44. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/aql.rst +0 -0
  45. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/async.rst +0 -0
  46. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/authentication.rst +0 -0
  47. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/backup.rst +0 -0
  48. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/certificates.rst +0 -0
  49. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/cluster.rst +0 -0
  50. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/collection.rst +0 -0
  51. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/compression.rst +0 -0
  52. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/conf.py +0 -0
  53. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/cursor.rst +0 -0
  54. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/database.rst +0 -0
  55. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/document.rst +0 -0
  56. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/errno.rst +0 -0
  57. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/errors.rst +0 -0
  58. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/foxx.rst +0 -0
  59. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/graph.rst +0 -0
  60. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/helpers.rst +0 -0
  61. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/http.rst +0 -0
  62. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/index.rst +0 -0
  63. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/indexes.rst +0 -0
  64. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/logging.rst +0 -0
  65. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/migration.rst +0 -0
  66. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/overview.rst +0 -0
  67. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/serialization.rst +0 -0
  68. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/specs.rst +0 -0
  69. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/static/logo.png +0 -0
  70. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/task.rst +0 -0
  71. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/transaction.rst +0 -0
  72. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/user.rst +0 -0
  73. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/view.rst +0 -0
  74. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/pyproject.toml +0 -0
  75. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/SOURCES.txt +0 -0
  76. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/dependency_links.txt +0 -0
  77. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/requires.txt +0 -0
  78. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/top_level.txt +0 -0
  79. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/setup.cfg +0 -0
  80. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/setup.py +0 -0
  81. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/starter.sh +0 -0
  82. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/__init__.py +0 -0
  83. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/conftest.py +0 -0
  84. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/helpers.py +0 -0
  85. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/cluster-3.11.conf +0 -0
  86. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/cluster-3.12.conf +0 -0
  87. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/keyfile +0 -0
  88. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/service.zip +0 -0
  89. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/single-3.11.conf +0 -0
  90. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/single-3.12.conf +0 -0
  91. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_analyzer.py +0 -0
  92. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_async.py +0 -0
  93. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_backup.py +0 -0
  94. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_client.py +0 -0
  95. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_cluster.py +0 -0
  96. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_collection.py +0 -0
  97. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_compression.py +0 -0
  98. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_connection.py +0 -0
  99. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_cursor.py +0 -0
  100. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_database.py +0 -0
  101. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_document.py +0 -0
  102. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_foxx.py +0 -0
  103. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_graph.py +0 -0
  104. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_http.py +0 -0
  105. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_resolver.py +0 -0
  106. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_task.py +0 -0
  107. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_transaction.py +0 -0
  108. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_typings.py +0 -0
  109. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_user.py +0 -0
  110. {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_view.py +0 -0
@@ -20,8 +20,8 @@ workflows:
20
20
  parameters:
21
21
  python_version: ["3.10", "3.11", "3.12"]
22
22
  arangodb_config: ["single", "cluster"]
23
- arangodb_license: ["community", "enterprise"]
24
- arangodb_version: ["3.11", "3.12"]
23
+ arangodb_license: ["enterprise"]
24
+ arangodb_version: ["3.12"]
25
25
 
26
26
  jobs:
27
27
  lint:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-arango-async
3
- Version: 1.0.2
3
+ Version: 1.0.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>
@@ -16,6 +16,7 @@ from arangoasync.exceptions import (
16
16
  AQLQueryClearError,
17
17
  AQLQueryExecuteError,
18
18
  AQLQueryExplainError,
19
+ AQLQueryHistoryError,
19
20
  AQLQueryKillError,
20
21
  AQLQueryListError,
21
22
  AQLQueryRulesGetError,
@@ -426,6 +427,25 @@ class AQL:
426
427
 
427
428
  return await self._executor.execute(request, response_handler)
428
429
 
430
+ async def history(self) -> Result[Json]:
431
+ """Return recently executed AQL queries (admin only).
432
+
433
+ Returns:
434
+ dict: AQL query history.
435
+
436
+ Raises:
437
+ AQLQueryHistoryError: If retrieval fails.
438
+ """
439
+ request = Request(method=Method.GET, endpoint="/_admin/server/aql-queries")
440
+
441
+ def response_handler(resp: Response) -> Json:
442
+ if not resp.is_success:
443
+ raise AQLQueryHistoryError(resp, request)
444
+ result: Json = self.deserializer.loads(resp.raw_body)
445
+ return cast(Json, result["result"])
446
+
447
+ return await self._executor.execute(request, response_handler)
448
+
429
449
  async def queries(self, all_queries: bool = False) -> Result[Jsons]:
430
450
  """Return a list of currently running queries.
431
451
 
@@ -111,6 +111,10 @@ class AQLQueryExplainError(ArangoServerError):
111
111
  """Failed to parse and explain query."""
112
112
 
113
113
 
114
+ class AQLQueryHistoryError(ArangoServerError):
115
+ """Failed to retrieve running AQL queries."""
116
+
117
+
114
118
  class AQLQueryKillError(ArangoServerError):
115
119
  """Failed to kill the query."""
116
120
 
@@ -0,0 +1 @@
1
+ __version__ = "1.0.3"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-arango-async
3
- Version: 1.0.2
3
+ Version: 1.0.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>
@@ -21,6 +21,7 @@ from arangoasync.exceptions import (
21
21
  AQLQueryClearError,
22
22
  AQLQueryExecuteError,
23
23
  AQLQueryExplainError,
24
+ AQLQueryHistoryError,
24
25
  AQLQueryKillError,
25
26
  AQLQueryListError,
26
27
  AQLQueryRulesGetError,
@@ -96,6 +97,8 @@ async def test_list_queries(superuser, db, bad_db):
96
97
  _ = await superuser.aql.slow_queries(all_queries=True)
97
98
  await aql.clear_slow_queries()
98
99
  await superuser.aql.clear_slow_queries(all_queries=True)
100
+ history = await superuser.aql.history()
101
+ assert isinstance(history, dict)
99
102
 
100
103
  with pytest.raises(AQLQueryListError):
101
104
  _ = await bad_db.aql.queries()
@@ -109,6 +112,8 @@ async def test_list_queries(superuser, db, bad_db):
109
112
  _ = await aql.slow_queries(all_queries=True)
110
113
  with pytest.raises(AQLQueryClearError):
111
114
  await aql.clear_slow_queries(all_queries=True)
115
+ with pytest.raises(AQLQueryHistoryError):
116
+ _ = await bad_db.aql.history()
112
117
 
113
118
  long_running_task.cancel()
114
119
 
@@ -1 +0,0 @@
1
- __version__ = "1.0.2"