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.
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.circleci/config.yml +2 -2
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/PKG-INFO +1 -1
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/aql.py +20 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/exceptions.py +4 -0
- python_arango_async-1.0.3/arangoasync/version.py +1 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/PKG-INFO +1 -1
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_aql.py +5 -0
- python_arango_async-1.0.2/arangoasync/version.py +0 -1
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.github/workflows/codeql.yaml +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.github/workflows/docs.yaml +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.github/workflows/pypi.yaml +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.gitignore +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.pre-commit-config.yaml +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/.readthedocs.yaml +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/CONTRIBUTING.md +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/LICENSE +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/README.md +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/__init__.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/auth.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/backup.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/client.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/cluster.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/collection.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/compression.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/connection.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/cursor.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/database.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/errno.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/executor.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/foxx.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/graph.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/http.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/job.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/logger.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/replication.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/request.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/resolver.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/response.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/result.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/serialization.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/arangoasync/typings.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/admin.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/analyzer.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/aql.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/async.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/authentication.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/backup.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/certificates.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/cluster.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/collection.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/compression.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/conf.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/cursor.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/database.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/document.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/errno.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/errors.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/foxx.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/graph.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/helpers.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/http.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/index.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/indexes.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/logging.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/migration.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/overview.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/serialization.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/specs.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/static/logo.png +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/task.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/transaction.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/user.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/docs/view.rst +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/pyproject.toml +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/SOURCES.txt +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/dependency_links.txt +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/requires.txt +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/top_level.txt +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/setup.cfg +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/setup.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/starter.sh +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/__init__.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/conftest.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/helpers.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/cluster-3.11.conf +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/cluster-3.12.conf +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/keyfile +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/service.zip +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/single-3.11.conf +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/static/single-3.12.conf +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_analyzer.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_async.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_backup.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_client.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_cluster.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_collection.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_compression.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_connection.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_cursor.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_database.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_document.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_foxx.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_graph.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_http.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_resolver.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_task.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_transaction.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_typings.py +0 -0
- {python_arango_async-1.0.2 → python_arango_async-1.0.3}/tests/test_user.py +0 -0
- {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: ["
|
|
24
|
-
arangodb_version: ["3.
|
|
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.
|
|
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"
|
{python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-arango-async
|
|
3
|
-
Version: 1.0.
|
|
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"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/requires.txt
RENAMED
|
File without changes
|
{python_arango_async-1.0.2 → python_arango_async-1.0.3}/python_arango_async.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|