python-arango-async 1.2.1__tar.gz → 1.2.2__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.2.1 → python_arango_async-1.2.2}/PKG-INFO +1 -1
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/collection.py +1 -1
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/typings.py +18 -0
- python_arango_async-1.2.2/arangoasync/version.py +1 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/python_arango_async.egg-info/PKG-INFO +1 -1
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/static/cluster-3.12.conf +5 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/static/single-3.12.conf +6 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_aql.py +10 -4
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_collection.py +22 -1
- python_arango_async-1.2.1/arangoasync/version.py +0 -1
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/.circleci/config.yml +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/.github/workflows/codeql.yaml +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/.github/workflows/docs.yaml +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/.github/workflows/pypi.yaml +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/.gitignore +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/.pre-commit-config.yaml +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/.readthedocs.yaml +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/CONTRIBUTING.md +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/LICENSE +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/README.md +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/__init__.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/aql.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/auth.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/backup.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/client.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/cluster.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/compression.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/connection.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/cursor.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/database.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/errno.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/exceptions.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/executor.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/foxx.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/graph.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/http.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/job.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/logger.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/replication.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/request.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/resolver.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/response.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/result.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/arangoasync/serialization.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/admin.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/analyzer.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/aql.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/async.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/authentication.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/backup.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/certificates.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/cluster.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/collection.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/compression.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/conf.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/cursor.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/database.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/document.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/errno.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/errors.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/foxx.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/graph.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/helpers.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/http.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/index.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/indexes.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/logging.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/migration.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/overview.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/serialization.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/specs.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/static/logo.png +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/task.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/transaction.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/user.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/docs/view.rst +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/pyproject.toml +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/python_arango_async.egg-info/SOURCES.txt +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/python_arango_async.egg-info/dependency_links.txt +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/python_arango_async.egg-info/requires.txt +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/python_arango_async.egg-info/top_level.txt +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/setup.cfg +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/setup.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/starter.sh +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/__init__.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/conftest.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/helpers.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/static/keyfile +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/static/service.zip +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_analyzer.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_async.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_backup.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_client.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_cluster.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_compression.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_connection.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_cursor.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_database.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_document.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_foxx.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_graph.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_http.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_resolver.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_task.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_transaction.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_typings.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_user.py +0 -0
- {python_arango_async-1.2.1 → python_arango_async-1.2.2}/tests/test_view.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-arango-async
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
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>
|
|
@@ -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
|
|
|
@@ -727,6 +727,10 @@ class CollectionProperties(JsonWrapper):
|
|
|
727
727
|
def computed_values(self) -> Optional[Json]:
|
|
728
728
|
return self._data.get("computedValues")
|
|
729
729
|
|
|
730
|
+
@property
|
|
731
|
+
def supportsRBAC(self) -> Optional[bool]:
|
|
732
|
+
return self._data.get("supportsRBAC")
|
|
733
|
+
|
|
730
734
|
@property
|
|
731
735
|
def object_id(self) -> str:
|
|
732
736
|
return self._data["objectId"] # type: ignore[no-any-return]
|
|
@@ -808,6 +812,8 @@ class CollectionProperties(JsonWrapper):
|
|
|
808
812
|
result["computedValues"] = data["computedValues"]
|
|
809
813
|
if "internalValidatorType" in data:
|
|
810
814
|
result["internal_validator_type"] = data["internalValidatorType"]
|
|
815
|
+
if "supportsRBAC" in data:
|
|
816
|
+
result["supportsRBAC"] = data["supportsRBAC"]
|
|
811
817
|
return result
|
|
812
818
|
|
|
813
819
|
def format(self, formatter: Optional[Formatter] = None) -> Json:
|
|
@@ -1121,6 +1127,14 @@ class IndexProperties(JsonWrapper):
|
|
|
1121
1127
|
def features(self) -> Optional[List[str]]:
|
|
1122
1128
|
return self._data.get("features")
|
|
1123
1129
|
|
|
1130
|
+
@property
|
|
1131
|
+
def error_message(self) -> Optional[str]:
|
|
1132
|
+
return self._data.get("errorMessage")
|
|
1133
|
+
|
|
1134
|
+
@property
|
|
1135
|
+
def training_state(self) -> Optional[str]:
|
|
1136
|
+
return self._data.get("trainingState")
|
|
1137
|
+
|
|
1124
1138
|
@staticmethod
|
|
1125
1139
|
def compatibility_formatter(data: Json) -> Json:
|
|
1126
1140
|
"""python-arango compatibility formatter."""
|
|
@@ -1179,6 +1193,10 @@ class IndexProperties(JsonWrapper):
|
|
|
1179
1193
|
result["writebuffer_max_size"] = data["writebufferSizeMax"]
|
|
1180
1194
|
if "optimizeTopK" in data:
|
|
1181
1195
|
result["optimizeTopK"] = data["optimizeTopK"]
|
|
1196
|
+
if "errorMessage" in data:
|
|
1197
|
+
result["error_message"] = data["errorMessage"]
|
|
1198
|
+
if "trainingState" in data:
|
|
1199
|
+
result["training_state"] = data["trainingState"]
|
|
1182
1200
|
return result
|
|
1183
1201
|
|
|
1184
1202
|
def format(self, formatter: Optional[Formatter] = None) -> Json:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.2.2"
|
{python_arango_async-1.2.1 → python_arango_async-1.2.2}/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.2.
|
|
3
|
+
Version: 1.2.2
|
|
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>
|
|
@@ -9,7 +9,12 @@ jwt-secret = /tests/static/keyfile
|
|
|
9
9
|
|
|
10
10
|
[args]
|
|
11
11
|
all.database.password = passwd
|
|
12
|
+
all.vector-index = true
|
|
12
13
|
all.database.extended-names = true
|
|
13
14
|
all.log.api-enabled = true
|
|
14
15
|
all.javascript.allow-admin-execute = true
|
|
15
16
|
all.server.options-api = admin
|
|
17
|
+
all.javascript.files-allowlist = ".*";
|
|
18
|
+
all.javascript.environment-variables-allowlist = ".*";
|
|
19
|
+
all.javascript.endpoints-allowlist = ".*";
|
|
20
|
+
all.javascript.startup-options-allowlist = ".*";
|
|
@@ -8,6 +8,12 @@ jwt-secret = /tests/static/keyfile
|
|
|
8
8
|
|
|
9
9
|
[args]
|
|
10
10
|
all.database.password = passwd
|
|
11
|
+
all.vector-index = true
|
|
11
12
|
all.database.extended-names = true
|
|
13
|
+
all.log.api-enabled = true
|
|
12
14
|
all.javascript.allow-admin-execute = true
|
|
13
15
|
all.server.options-api = admin
|
|
16
|
+
all.javascript.files-allowlist = ".*";
|
|
17
|
+
all.javascript.environment-variables-allowlist = ".*";
|
|
18
|
+
all.javascript.endpoints-allowlist = ".*";
|
|
19
|
+
all.javascript.startup-options-allowlist = ".*";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import time
|
|
3
|
+
import warnings
|
|
3
4
|
|
|
4
5
|
import pytest
|
|
5
6
|
from packaging import version
|
|
@@ -138,10 +139,15 @@ async def test_kill_query(db, bad_db, superuser):
|
|
|
138
139
|
queries = await aql.queries()
|
|
139
140
|
if len(queries) > 0:
|
|
140
141
|
break
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
time.sleep(1)
|
|
143
|
+
|
|
144
|
+
if len(queries) > 0:
|
|
145
|
+
# Kill the query
|
|
146
|
+
query_id = queries[0]["id"]
|
|
147
|
+
assert await aql.kill(query_id) is True
|
|
148
|
+
else:
|
|
149
|
+
# This test is prone to races
|
|
150
|
+
warnings.warn("Query not found in the list, skipping!")
|
|
145
151
|
|
|
146
152
|
# Ignore missing
|
|
147
153
|
assert await aql.kill("fakeid", ignore_missing=True) is False
|
|
@@ -228,15 +228,36 @@ async def test_collection_index(doc_col, bad_col, cluster):
|
|
|
228
228
|
await bad_col.load_indexes()
|
|
229
229
|
assert err.value.error_code == DATA_SOURCE_NOT_FOUND
|
|
230
230
|
|
|
231
|
+
# Create a vector index
|
|
232
|
+
docs = []
|
|
233
|
+
for key in range(100):
|
|
234
|
+
docs.append({"_key": f"key_{key}", "embedding": [1] * 128})
|
|
235
|
+
await doc_col.insert_many(docs)
|
|
236
|
+
idx4 = await doc_col.add_index(
|
|
237
|
+
"vector",
|
|
238
|
+
["embedding"],
|
|
239
|
+
{
|
|
240
|
+
"name": "vector_index",
|
|
241
|
+
"params": {
|
|
242
|
+
"metric": "cosine",
|
|
243
|
+
"dimension": 128,
|
|
244
|
+
"nLists": 2,
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
)
|
|
248
|
+
assert idx4.name == "vector_index"
|
|
249
|
+
|
|
231
250
|
# Delete indexes
|
|
232
|
-
del1, del2, del3 = await asyncio.gather(
|
|
251
|
+
del1, del2, del3, del4 = await asyncio.gather(
|
|
233
252
|
doc_col.delete_index(idx1.id),
|
|
234
253
|
doc_col.delete_index(idx2.numeric_id),
|
|
235
254
|
doc_col.delete_index(str(idx3.numeric_id)),
|
|
255
|
+
doc_col.delete_index(idx4.id),
|
|
236
256
|
)
|
|
237
257
|
assert del1 is True
|
|
238
258
|
assert del2 is True
|
|
239
259
|
assert del3 is True
|
|
260
|
+
assert del4 is True
|
|
240
261
|
|
|
241
262
|
# Now, the indexes should be gone
|
|
242
263
|
with pytest.raises(IndexDeleteError) as err:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.2.1"
|
|
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
|
|
File without changes
|
{python_arango_async-1.2.1 → python_arango_async-1.2.2}/python_arango_async.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python_arango_async-1.2.1 → python_arango_async-1.2.2}/python_arango_async.egg-info/requires.txt
RENAMED
|
File without changes
|
{python_arango_async-1.2.1 → python_arango_async-1.2.2}/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
|