python-arango 8.2.6__tar.gz → 8.3.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.
- {python_arango-8.2.6 → python_arango-8.3.1}/.pre-commit-config.yaml +1 -1
- {python_arango-8.2.6 → python_arango-8.3.1}/PKG-INFO +4 -4
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/aql.py +6 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/collection.py +2 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/connection.py +2 -2
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/database.py +3 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/formatter.py +5 -1
- python_arango-8.3.1/arango/version.py +1 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/schema.rst +1 -4
- {python_arango-8.2.6 → python_arango-8.3.1}/pyproject.toml +4 -3
- {python_arango-8.2.6 → python_arango-8.3.1}/python_arango.egg-info/PKG-INFO +4 -4
- {python_arango-8.2.6 → python_arango-8.3.1}/python_arango.egg-info/requires.txt +3 -3
- python_arango-8.2.6/arango/version.py +0 -1
- {python_arango-8.2.6 → python_arango-8.3.1}/.circleci/config.yml +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/.github/workflows/codeql.yaml +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/.github/workflows/docs.yaml +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/.github/workflows/pypi.yaml +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/.gitignore +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/.readthedocs.yaml +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/CONTRIBUTING.md +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/LICENSE +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/MANIFEST.in +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/README.md +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/__init__.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/api.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/backup.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/client.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/cluster.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/cursor.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/errno.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/exceptions.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/executor.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/foxx.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/graph.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/http.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/job.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/pregel.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/py.typed +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/replication.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/request.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/resolver.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/response.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/result.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/typings.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/utils.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/arango/wal.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/Makefile +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/admin.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/analyzer.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/aql.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/async.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/auth.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/backup.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/batch.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/certificates.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/cluster.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/collection.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/compression.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/conf.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/contributing.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/cursor.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/database.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/document.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/errno.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/errors.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/foxx.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/graph.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/http.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/index.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/indexes.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/logging.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/make.bat +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/overload.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/overview.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/pregel.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/replication.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/requirements.txt +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/serializer.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/simple.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/specs.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/static/logo.png +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/task.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/threading.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/transaction.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/user.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/view.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/docs/wal.rst +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/python_arango.egg-info/SOURCES.txt +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/python_arango.egg-info/dependency_links.txt +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/python_arango.egg-info/top_level.txt +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/setup.cfg +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/setup.py +0 -0
- {python_arango-8.2.6 → python_arango-8.3.1}/starter.sh +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-arango
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.3.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>
|
|
@@ -45,13 +45,13 @@ License-File: LICENSE
|
|
|
45
45
|
Requires-Dist: urllib3>=1.26.0
|
|
46
46
|
Requires-Dist: requests
|
|
47
47
|
Requires-Dist: requests_toolbelt
|
|
48
|
-
Requires-Dist: PyJWT
|
|
48
|
+
Requires-Dist: PyJWT>=2.10.0
|
|
49
49
|
Requires-Dist: packaging>=23.1
|
|
50
50
|
Provides-Extra: dev
|
|
51
51
|
Requires-Dist: black==26.1.0; extra == "dev"
|
|
52
52
|
Requires-Dist: flake8==7.3.0; extra == "dev"
|
|
53
|
-
Requires-Dist: isort
|
|
54
|
-
Requires-Dist: mypy
|
|
53
|
+
Requires-Dist: isort==5.10.1; extra == "dev"
|
|
54
|
+
Requires-Dist: mypy==1.15.0; extra == "dev"
|
|
55
55
|
Requires-Dist: mock; extra == "dev"
|
|
56
56
|
Requires-Dist: pre-commit>=2.17.0; extra == "dev"
|
|
57
57
|
Requires-Dist: pytest>=7.1.1; extra == "dev"
|
|
@@ -579,6 +579,7 @@ class AQL(ApiGroup):
|
|
|
579
579
|
enabled: Optional[bool] = None,
|
|
580
580
|
max_slow_queries: Optional[int] = None,
|
|
581
581
|
slow_query_threshold: Optional[int] = None,
|
|
582
|
+
slow_streaming_query_threshold: Optional[int] = None,
|
|
582
583
|
max_query_string_length: Optional[int] = None,
|
|
583
584
|
track_bind_vars: Optional[bool] = None,
|
|
584
585
|
track_slow_queries: Optional[bool] = None,
|
|
@@ -593,6 +594,9 @@ class AQL(ApiGroup):
|
|
|
593
594
|
:param slow_query_threshold: Runtime threshold (in seconds) for treating a
|
|
594
595
|
query as slow.
|
|
595
596
|
:type slow_query_threshold: int
|
|
597
|
+
:param slow_streaming_query_threshold: Runtime threshold (in seconds) for
|
|
598
|
+
treating a streaming query as slow.
|
|
599
|
+
:type slow_query_threshold: int
|
|
596
600
|
:param max_query_string_length: Max query string length (in bytes) tracked.
|
|
597
601
|
:type max_query_string_length: int
|
|
598
602
|
:param track_bind_vars: If set to True, track bind variables used in queries.
|
|
@@ -614,6 +618,8 @@ class AQL(ApiGroup):
|
|
|
614
618
|
data["maxQueryStringLength"] = max_query_string_length
|
|
615
619
|
if slow_query_threshold is not None:
|
|
616
620
|
data["slowQueryThreshold"] = slow_query_threshold
|
|
621
|
+
if slow_streaming_query_threshold is not None:
|
|
622
|
+
data["slowStreamingQueryThreshold"] = slow_streaming_query_threshold
|
|
617
623
|
if track_bind_vars is not None:
|
|
618
624
|
data["trackBindVars"] = track_bind_vars
|
|
619
625
|
if track_slow_queries is not None:
|
|
@@ -400,6 +400,8 @@ class Collection(ApiGroup):
|
|
|
400
400
|
if sync is not None:
|
|
401
401
|
data["waitForSync"] = sync
|
|
402
402
|
if schema is not None:
|
|
403
|
+
if not isinstance(schema, dict) or len(schema) == 0:
|
|
404
|
+
raise ValueError("schema parameter must be a non-empty dict")
|
|
403
405
|
data["schema"] = schema
|
|
404
406
|
if replication_factor is not None:
|
|
405
407
|
data["replicationFactor"] = replication_factor
|
|
@@ -464,7 +464,7 @@ class JwtConnection(BaseConnection):
|
|
|
464
464
|
"verify_iat": True,
|
|
465
465
|
"verify_exp": True,
|
|
466
466
|
"verify_signature": False,
|
|
467
|
-
},
|
|
467
|
+
}, # type: ignore[arg-type]
|
|
468
468
|
)
|
|
469
469
|
except ExpiredSignatureError:
|
|
470
470
|
raise JWTExpiredError("JWT token is expired")
|
|
@@ -554,7 +554,7 @@ class JwtSuperuserConnection(BaseConnection):
|
|
|
554
554
|
"verify_iat": True,
|
|
555
555
|
"verify_exp": True,
|
|
556
556
|
"verify_signature": False,
|
|
557
|
-
},
|
|
557
|
+
}, # type: ignore[arg-type]
|
|
558
558
|
)
|
|
559
559
|
except ExpiredSignatureError:
|
|
560
560
|
raise JWTExpiredError("JWT token is expired")
|
|
@@ -1668,6 +1668,7 @@ class Database(ApiGroup):
|
|
|
1668
1668
|
:return: Standard collection API wrapper.
|
|
1669
1669
|
:rtype: arango.collection.StandardCollection
|
|
1670
1670
|
:raise arango.exceptions.CollectionCreateError: If create fails.
|
|
1671
|
+
:raise ValueError: If parameters are invalid.
|
|
1671
1672
|
"""
|
|
1672
1673
|
key_options: Json = {"type": key_generator, "allowUserKeys": user_keys}
|
|
1673
1674
|
if key_generator == "autoincrement":
|
|
@@ -1698,6 +1699,8 @@ class Database(ApiGroup):
|
|
|
1698
1699
|
if write_concern is not None:
|
|
1699
1700
|
data["writeConcern"] = write_concern
|
|
1700
1701
|
if schema is not None:
|
|
1702
|
+
if not isinstance(schema, dict) or len(schema) == 0:
|
|
1703
|
+
raise ValueError("schema parameter must be a non-empty dict")
|
|
1701
1704
|
data["schema"] = schema
|
|
1702
1705
|
if computedValues is not None:
|
|
1703
1706
|
data["computedValues"] = computedValues
|
|
@@ -375,6 +375,10 @@ def format_aql_query(body: Json) -> Json:
|
|
|
375
375
|
result["modification_query"] = body["modificationQuery"]
|
|
376
376
|
if "warnings" in body:
|
|
377
377
|
result["warnings"] = body["warnings"]
|
|
378
|
+
|
|
379
|
+
if "exitCode" in body:
|
|
380
|
+
result["exit_code"] = body["exitCode"]
|
|
381
|
+
|
|
378
382
|
return verify_format(body, result)
|
|
379
383
|
|
|
380
384
|
|
|
@@ -1112,7 +1116,7 @@ def format_backup_dbserver(body: Json) -> Json:
|
|
|
1112
1116
|
:return: Formatted body.
|
|
1113
1117
|
:rtype: dict
|
|
1114
1118
|
"""
|
|
1115
|
-
return {"status": body
|
|
1119
|
+
return {"status": body.get("Status")}
|
|
1116
1120
|
|
|
1117
1121
|
|
|
1118
1122
|
def format_backup_transfer(body: Json) -> Json:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "8.3.1"
|
|
@@ -3,7 +3,7 @@ Schema Validation
|
|
|
3
3
|
|
|
4
4
|
ArangoDB supports document validation using JSON schemas. You can use this
|
|
5
5
|
feature by providing a schema during collection creation using the ``schema``
|
|
6
|
-
parameter.
|
|
6
|
+
parameter. It must not be an empty ``dict```.
|
|
7
7
|
|
|
8
8
|
**Example:**
|
|
9
9
|
|
|
@@ -37,6 +37,3 @@ parameter.
|
|
|
37
37
|
|
|
38
38
|
# Modify the schema.
|
|
39
39
|
employees.configure(schema=my_schema)
|
|
40
|
-
|
|
41
|
-
# Remove the schema.
|
|
42
|
-
employees.configure(schema={})
|
|
@@ -38,7 +38,7 @@ dependencies = [
|
|
|
38
38
|
"urllib3>=1.26.0",
|
|
39
39
|
"requests",
|
|
40
40
|
"requests_toolbelt",
|
|
41
|
-
"PyJWT",
|
|
41
|
+
"PyJWT>=2.10.0",
|
|
42
42
|
"packaging>=23.1",
|
|
43
43
|
]
|
|
44
44
|
|
|
@@ -49,8 +49,8 @@ version = { attr = "arango.version.__version__" }
|
|
|
49
49
|
dev = [
|
|
50
50
|
"black==26.1.0",
|
|
51
51
|
"flake8==7.3.0",
|
|
52
|
-
"isort
|
|
53
|
-
"mypy
|
|
52
|
+
"isort==5.10.1",
|
|
53
|
+
"mypy==1.15.0",
|
|
54
54
|
"mock",
|
|
55
55
|
"pre-commit>=2.17.0",
|
|
56
56
|
"pytest>=7.1.1",
|
|
@@ -90,5 +90,6 @@ profile = "black"
|
|
|
90
90
|
[tool.mypy]
|
|
91
91
|
warn_return_any = true
|
|
92
92
|
warn_unused_configs = true
|
|
93
|
+
warn_unused_ignores = false
|
|
93
94
|
ignore_missing_imports = true
|
|
94
95
|
strict = true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-arango
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.3.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>
|
|
@@ -45,13 +45,13 @@ License-File: LICENSE
|
|
|
45
45
|
Requires-Dist: urllib3>=1.26.0
|
|
46
46
|
Requires-Dist: requests
|
|
47
47
|
Requires-Dist: requests_toolbelt
|
|
48
|
-
Requires-Dist: PyJWT
|
|
48
|
+
Requires-Dist: PyJWT>=2.10.0
|
|
49
49
|
Requires-Dist: packaging>=23.1
|
|
50
50
|
Provides-Extra: dev
|
|
51
51
|
Requires-Dist: black==26.1.0; extra == "dev"
|
|
52
52
|
Requires-Dist: flake8==7.3.0; extra == "dev"
|
|
53
|
-
Requires-Dist: isort
|
|
54
|
-
Requires-Dist: mypy
|
|
53
|
+
Requires-Dist: isort==5.10.1; extra == "dev"
|
|
54
|
+
Requires-Dist: mypy==1.15.0; extra == "dev"
|
|
55
55
|
Requires-Dist: mock; extra == "dev"
|
|
56
56
|
Requires-Dist: pre-commit>=2.17.0; extra == "dev"
|
|
57
57
|
Requires-Dist: pytest>=7.1.1; extra == "dev"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "8.2.6"
|
|
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
|
|
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
|