python-arango 8.3.4__tar.gz → 8.3.5__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.3.4 → python_arango-8.3.5}/.circleci/config.yml +10 -3
- {python_arango-8.3.4 → python_arango-8.3.5}/.github/workflows/codeql.yaml +3 -5
- python_arango-8.3.5/.github/workflows/docs.yaml +47 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/.github/workflows/pypi.yaml +6 -18
- {python_arango-8.3.4/python_arango.egg-info → python_arango-8.3.5}/PKG-INFO +3 -4
- {python_arango-8.3.4 → python_arango-8.3.5}/README.md +1 -1
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/collection.py +14 -2
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/connection.py +1 -2
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/formatter.py +4 -0
- python_arango-8.3.5/arango/version.py +1 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/foxx.rst +1 -1
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/index.rst +1 -1
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/indexes.rst +39 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/pyproject.toml +1 -2
- {python_arango-8.3.4 → python_arango-8.3.5/python_arango.egg-info}/PKG-INFO +3 -4
- {python_arango-8.3.4 → python_arango-8.3.5}/python_arango.egg-info/SOURCES.txt +0 -1
- {python_arango-8.3.4 → python_arango-8.3.5}/python_arango.egg-info/requires.txt +1 -1
- {python_arango-8.3.4 → python_arango-8.3.5}/python_arango.egg-info/scm_file_list.json +0 -1
- python_arango-8.3.5/python_arango.egg-info/scm_version.json +8 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/starter.sh +2 -2
- python_arango-8.3.4/.github/workflows/docs.yaml +0 -103
- python_arango-8.3.4/arango/version.py +0 -1
- python_arango-8.3.4/ci/conftest.py +0 -1
- python_arango-8.3.4/python_arango.egg-info/scm_version.json +0 -8
- {python_arango-8.3.4 → python_arango-8.3.5}/.gitignore +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/.pre-commit-config.yaml +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/.readthedocs.yaml +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/CONTRIBUTING.md +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/LICENSE +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/MANIFEST.in +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/__init__.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/api.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/aql.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/backup.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/client.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/cluster.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/cursor.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/database.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/errno.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/exceptions.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/executor.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/foxx.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/graph.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/http.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/job.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/pregel.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/py.typed +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/replication.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/request.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/resolver.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/response.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/result.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/typings.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/utils.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/arango/wal.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/Makefile +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/admin.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/analyzer.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/aql.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/async.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/auth.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/backup.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/batch.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/certificates.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/cluster.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/collection.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/compression.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/conf.py +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/contributing.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/cursor.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/database.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/document.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/errno.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/errors.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/graph.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/http.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/logging.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/make.bat +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/overload.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/overview.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/pregel.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/replication.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/requirements.txt +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/schema.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/serializer.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/simple.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/specs.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/static/logo.png +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/task.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/threading.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/transaction.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/user.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/view.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/docs/wal.rst +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/python_arango.egg-info/dependency_links.txt +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/python_arango.egg-info/top_level.txt +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/setup.cfg +0 -0
- {python_arango-8.3.4 → python_arango-8.3.5}/setup.py +0 -0
|
@@ -37,12 +37,19 @@ workflows:
|
|
|
37
37
|
arangodb_image: ["arangodb/enterprise:3.12"]
|
|
38
38
|
arangodb_conf_version: ["3.12"]
|
|
39
39
|
- integration-test:
|
|
40
|
-
name: ArangoDB (
|
|
40
|
+
name: ArangoDB (core-preview, 4.0-nightly << matrix.arangodb_config >>)
|
|
41
|
+
matrix:
|
|
42
|
+
parameters:
|
|
43
|
+
arangodb_config: [ "single", "cluster" ]
|
|
44
|
+
arangodb_image: [ "arangodb/core-preview:4.0-nightly" ]
|
|
45
|
+
arangodb_conf_version: [ "4.0" ]
|
|
46
|
+
- integration-test:
|
|
47
|
+
name: ArangoDB (enterprise-preview, 3.12-nightly << matrix.arangodb_config >>)
|
|
41
48
|
matrix:
|
|
42
49
|
parameters:
|
|
43
50
|
arangodb_config: ["single", "cluster"]
|
|
44
|
-
arangodb_image: ["arangodb/enterprise-preview:
|
|
45
|
-
arangodb_conf_version: ["
|
|
51
|
+
arangodb_image: ["arangodb/enterprise-preview:3.12-nightly"]
|
|
52
|
+
arangodb_conf_version: ["3.12"]
|
|
46
53
|
|
|
47
54
|
jobs:
|
|
48
55
|
lint:
|
|
@@ -3,8 +3,6 @@ name: CodeQL
|
|
|
3
3
|
on:
|
|
4
4
|
pull_request:
|
|
5
5
|
branches: [main]
|
|
6
|
-
schedule:
|
|
7
|
-
- cron: '21 2 * * 3'
|
|
8
6
|
|
|
9
7
|
jobs:
|
|
10
8
|
analyze:
|
|
@@ -16,10 +14,10 @@ jobs:
|
|
|
16
14
|
|
|
17
15
|
steps:
|
|
18
16
|
- name: Checkout repository
|
|
19
|
-
uses: actions/checkout@
|
|
17
|
+
uses: actions/checkout@v7
|
|
20
18
|
|
|
21
19
|
- name: Initialize CodeQL
|
|
22
|
-
uses: github/codeql-action/init@
|
|
20
|
+
uses: github/codeql-action/init@v4
|
|
23
21
|
|
|
24
22
|
- name: Perform CodeQL Analysis
|
|
25
|
-
uses: github/codeql-action/analyze@
|
|
23
|
+
uses: github/codeql-action/analyze@v4
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: Docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
workflow_dispatch:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
docs:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
name: Docs
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout repository
|
|
14
|
+
uses: actions/checkout@v7
|
|
15
|
+
|
|
16
|
+
- name: Fetch all tags and branches
|
|
17
|
+
run: git fetch --prune --unshallow
|
|
18
|
+
|
|
19
|
+
- name: Create ArangoDB Docker container
|
|
20
|
+
run: >
|
|
21
|
+
docker create --name arango -p 8529:8529 -e ARANGO_ROOT_PASSWORD=passwd -v "$(pwd)/tests/static/":/tests/static
|
|
22
|
+
arangodb/enterprise:latest --server.jwt-secret-keyfile=/tests/static/keyfile --vector-index=true
|
|
23
|
+
|
|
24
|
+
- name: Start ArangoDB Docker container
|
|
25
|
+
run: docker start arango
|
|
26
|
+
|
|
27
|
+
- name: Wait for ArangoDB
|
|
28
|
+
run: |
|
|
29
|
+
for _ in {1..30}; do
|
|
30
|
+
if curl --fail --silent --user root:passwd http://localhost:8529/_api/version > /dev/null; then
|
|
31
|
+
exit 0
|
|
32
|
+
fi
|
|
33
|
+
sleep 1
|
|
34
|
+
done
|
|
35
|
+
docker logs arango
|
|
36
|
+
exit 1
|
|
37
|
+
|
|
38
|
+
- name: Set up Python
|
|
39
|
+
uses: actions/setup-python@v7
|
|
40
|
+
with:
|
|
41
|
+
python-version: '3.12'
|
|
42
|
+
|
|
43
|
+
- name: Install dependencies
|
|
44
|
+
run: pip install .[dev]
|
|
45
|
+
|
|
46
|
+
- name: Run Sphinx doctest
|
|
47
|
+
run: python -m sphinx -b doctest docs docs/_build
|
|
@@ -3,13 +3,6 @@ name: Upload to PyPI
|
|
|
3
3
|
on:
|
|
4
4
|
release:
|
|
5
5
|
types: [published]
|
|
6
|
-
workflow_dispatch:
|
|
7
|
-
inputs:
|
|
8
|
-
debug_enabled:
|
|
9
|
-
type: boolean
|
|
10
|
-
description: Debug with tmate
|
|
11
|
-
required: false
|
|
12
|
-
default: false
|
|
13
6
|
|
|
14
7
|
jobs:
|
|
15
8
|
upload:
|
|
@@ -17,19 +10,14 @@ jobs:
|
|
|
17
10
|
|
|
18
11
|
steps:
|
|
19
12
|
- name: Checkout repository
|
|
20
|
-
uses: actions/checkout@
|
|
21
|
-
|
|
22
|
-
- name: Fetch all tags and branches
|
|
23
|
-
run: git fetch --prune --unshallow
|
|
24
|
-
|
|
25
|
-
- name: Set up Python
|
|
26
|
-
uses: actions/setup-python@v4
|
|
13
|
+
uses: actions/checkout@v7
|
|
27
14
|
with:
|
|
28
|
-
|
|
15
|
+
fetch-depth: 0
|
|
16
|
+
fetch-tags: true
|
|
29
17
|
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
18
|
+
- uses: actions/setup-python@v7
|
|
19
|
+
with:
|
|
20
|
+
python-version: "3.12"
|
|
33
21
|
|
|
34
22
|
- name: Install dependencies
|
|
35
23
|
run: |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-arango
|
|
3
|
-
Version: 8.3.
|
|
3
|
+
Version: 8.3.5
|
|
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>
|
|
@@ -33,7 +33,6 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
33
33
|
Classifier: Natural Language :: English
|
|
34
34
|
Classifier: Operating System :: OS Independent
|
|
35
35
|
Classifier: Programming Language :: Python :: 3
|
|
36
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
37
36
|
Classifier: Programming Language :: Python :: 3.10
|
|
38
37
|
Classifier: Programming Language :: Python :: 3.11
|
|
39
38
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -48,7 +47,7 @@ Requires-Dist: requests_toolbelt
|
|
|
48
47
|
Requires-Dist: PyJWT>=2.10.0
|
|
49
48
|
Requires-Dist: packaging>=23.1
|
|
50
49
|
Provides-Extra: dev
|
|
51
|
-
Requires-Dist: black==26.1
|
|
50
|
+
Requires-Dist: black==26.5.1; extra == "dev"
|
|
52
51
|
Requires-Dist: flake8==7.3.0; extra == "dev"
|
|
53
52
|
Requires-Dist: isort==5.10.1; extra == "dev"
|
|
54
53
|
Requires-Dist: mypy==1.15.0; extra == "dev"
|
|
@@ -89,7 +88,7 @@ If you're interested in using asyncio, please check [python-arango-async](https:
|
|
|
89
88
|
## Requirements
|
|
90
89
|
|
|
91
90
|
- ArangoDB version 3.11+
|
|
92
|
-
- Python version 3.
|
|
91
|
+
- Python version 3.10+
|
|
93
92
|
|
|
94
93
|
## Installation
|
|
95
94
|
|
|
@@ -1274,17 +1274,29 @@ class Collection(ApiGroup):
|
|
|
1274
1274
|
# Index Management #
|
|
1275
1275
|
####################
|
|
1276
1276
|
|
|
1277
|
-
def indexes(
|
|
1277
|
+
def indexes(
|
|
1278
|
+
self, with_stats: bool = False, with_hidden: bool = False
|
|
1279
|
+
) -> Result[Jsons]:
|
|
1278
1280
|
"""Return the collection indexes.
|
|
1279
1281
|
|
|
1282
|
+
:param with_stats: Whether to include figures and estimates in the result.
|
|
1283
|
+
:type with_stats: bool
|
|
1284
|
+
:param with_hidden: Whether to include hidden indexes in the result.
|
|
1285
|
+
:type with_hidden: bool
|
|
1280
1286
|
:return: Collection indexes.
|
|
1281
1287
|
:rtype: [dict]
|
|
1282
1288
|
:raise arango.exceptions.IndexListError: If retrieval fails.
|
|
1283
1289
|
"""
|
|
1290
|
+
params: Params = {"collection": self.name}
|
|
1291
|
+
if with_stats:
|
|
1292
|
+
params["withStats"] = True
|
|
1293
|
+
if with_hidden:
|
|
1294
|
+
params["withHidden"] = True
|
|
1295
|
+
|
|
1284
1296
|
request = Request(
|
|
1285
1297
|
method="get",
|
|
1286
1298
|
endpoint="/_api/index",
|
|
1287
|
-
params=
|
|
1299
|
+
params=params,
|
|
1288
1300
|
)
|
|
1289
1301
|
|
|
1290
1302
|
def response_handler(resp: Response) -> Jsons:
|
|
@@ -120,8 +120,7 @@ class BaseConnection:
|
|
|
120
120
|
else:
|
|
121
121
|
resp.body = resp.raw_body
|
|
122
122
|
|
|
123
|
-
|
|
124
|
-
resp.is_success = http_ok and resp.error_code is None
|
|
123
|
+
resp.is_success = 200 <= resp.status_code < 300
|
|
125
124
|
return resp
|
|
126
125
|
|
|
127
126
|
def process_request(
|
|
@@ -73,6 +73,8 @@ def format_index(body: Json, formatter: bool = True) -> Json:
|
|
|
73
73
|
result["cacheEnabled"] = body["cacheEnabled"]
|
|
74
74
|
if "legacyPolygons" in body:
|
|
75
75
|
result["legacyPolygons"] = body["legacyPolygons"]
|
|
76
|
+
if "figures" in body:
|
|
77
|
+
result["figures"] = body["figures"]
|
|
76
78
|
if "estimates" in body:
|
|
77
79
|
result["estimates"] = body["estimates"]
|
|
78
80
|
if "analyzer" in body:
|
|
@@ -123,6 +125,8 @@ def format_index(body: Json, formatter: bool = True) -> Json:
|
|
|
123
125
|
result["error_message"] = body["errorMessage"]
|
|
124
126
|
if "trainingState" in body:
|
|
125
127
|
result["training_state"] = body["trainingState"]
|
|
128
|
+
if "shards" in body:
|
|
129
|
+
result["shards"] = body["shards"]
|
|
126
130
|
|
|
127
131
|
return verify_format(body, result)
|
|
128
132
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "8.3.5"
|
|
@@ -62,4 +62,43 @@ on fields ``_from`` and ``_to``. For more information on indexes, refer to
|
|
|
62
62
|
# Delete the last index from the collection.
|
|
63
63
|
cities.delete_index(index['id'])
|
|
64
64
|
|
|
65
|
+
# Insert documents with vector embeddings.
|
|
66
|
+
cities.insert_many([
|
|
67
|
+
{
|
|
68
|
+
'_key': f'city{i}',
|
|
69
|
+
'continent': f'continent{i}',
|
|
70
|
+
'country': f'country{i}',
|
|
71
|
+
'population': i,
|
|
72
|
+
'coordinates': [float(i % 180), float(i % 90)],
|
|
73
|
+
'x': float(i),
|
|
74
|
+
'y': float(i),
|
|
75
|
+
'embedding': [float(i), float(i % 7), float(i % 11), 1.0],
|
|
76
|
+
}
|
|
77
|
+
for i in range(100)
|
|
78
|
+
])
|
|
79
|
+
|
|
80
|
+
# Let ArangoDB determine the number of vector-index centroids.
|
|
81
|
+
vector_index = cities.add_index({
|
|
82
|
+
'type': 'vector',
|
|
83
|
+
'fields': ['embedding'],
|
|
84
|
+
'name': 'vector_index',
|
|
85
|
+
'params': {
|
|
86
|
+
'metric': 'cosine',
|
|
87
|
+
'dimension': 4,
|
|
88
|
+
},
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
# Index creation may succeed even if vector training fails.
|
|
92
|
+
if vector_index.get('trainingState') != 'ready':
|
|
93
|
+
raise RuntimeError(
|
|
94
|
+
vector_index.get('errorMessage', 'Vector index is not ready')
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
Omitted or scaling-object ``nLists``, ``numberOfDocsPerCentroid``, factory
|
|
98
|
+
placeholders such as ``IVF{},Flat``, and successful-but-unusable creation
|
|
99
|
+
behavior require ArangoDB 3.12.10 or later. A successful creation response
|
|
100
|
+
means that the index exists, but callers should check ``trainingState`` before
|
|
101
|
+
using it. If training fails permanently, the state is ``"unusable"`` and
|
|
102
|
+
``errorMessage`` describes the failure.
|
|
103
|
+
|
|
65
104
|
See :ref:`StandardCollection` for API specification.
|
|
@@ -26,7 +26,6 @@ classifiers = [
|
|
|
26
26
|
"Natural Language :: English",
|
|
27
27
|
"Operating System :: OS Independent",
|
|
28
28
|
"Programming Language :: Python :: 3",
|
|
29
|
-
"Programming Language :: Python :: 3.9",
|
|
30
29
|
"Programming Language :: Python :: 3.10",
|
|
31
30
|
"Programming Language :: Python :: 3.11",
|
|
32
31
|
"Programming Language :: Python :: 3.12",
|
|
@@ -47,7 +46,7 @@ version = { attr = "arango.version.__version__" }
|
|
|
47
46
|
|
|
48
47
|
[project.optional-dependencies]
|
|
49
48
|
dev = [
|
|
50
|
-
"black==26.1
|
|
49
|
+
"black==26.5.1",
|
|
51
50
|
"flake8==7.3.0",
|
|
52
51
|
"isort==5.10.1",
|
|
53
52
|
"mypy==1.15.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-arango
|
|
3
|
-
Version: 8.3.
|
|
3
|
+
Version: 8.3.5
|
|
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>
|
|
@@ -33,7 +33,6 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
33
33
|
Classifier: Natural Language :: English
|
|
34
34
|
Classifier: Operating System :: OS Independent
|
|
35
35
|
Classifier: Programming Language :: Python :: 3
|
|
36
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
37
36
|
Classifier: Programming Language :: Python :: 3.10
|
|
38
37
|
Classifier: Programming Language :: Python :: 3.11
|
|
39
38
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -48,7 +47,7 @@ Requires-Dist: requests_toolbelt
|
|
|
48
47
|
Requires-Dist: PyJWT>=2.10.0
|
|
49
48
|
Requires-Dist: packaging>=23.1
|
|
50
49
|
Provides-Extra: dev
|
|
51
|
-
Requires-Dist: black==26.1
|
|
50
|
+
Requires-Dist: black==26.5.1; extra == "dev"
|
|
52
51
|
Requires-Dist: flake8==7.3.0; extra == "dev"
|
|
53
52
|
Requires-Dist: isort==5.10.1; extra == "dev"
|
|
54
53
|
Requires-Dist: mypy==1.15.0; extra == "dev"
|
|
@@ -89,7 +88,7 @@ If you're interested in using asyncio, please check [python-arango-async](https:
|
|
|
89
88
|
## Requirements
|
|
90
89
|
|
|
91
90
|
- ArangoDB version 3.11+
|
|
92
|
-
- Python version 3.
|
|
91
|
+
- Python version 3.10+
|
|
93
92
|
|
|
94
93
|
## Installation
|
|
95
94
|
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
# ./starter.sh [single|cluster] [image[:tag]]
|
|
9
9
|
# Example:
|
|
10
10
|
# ./starter.sh cluster enterprise 3.12.4
|
|
11
|
-
# ./starter.sh single
|
|
12
|
-
# ./starter.sh single arangodb/enterprise-preview:
|
|
11
|
+
# ./starter.sh single core-preview 4.0-nightly
|
|
12
|
+
# ./starter.sh single arangodb/enterprise-preview:3.12-nightly
|
|
13
13
|
|
|
14
14
|
setup="${1:-single}"
|
|
15
15
|
image="${2:-community}"
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
name: Docs
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request:
|
|
5
|
-
workflow_dispatch:
|
|
6
|
-
inputs:
|
|
7
|
-
debug_enabled:
|
|
8
|
-
type: boolean
|
|
9
|
-
description: Debug with tmate
|
|
10
|
-
required: false
|
|
11
|
-
default: false
|
|
12
|
-
|
|
13
|
-
jobs:
|
|
14
|
-
# This has been migrated to CircleCI
|
|
15
|
-
# test:
|
|
16
|
-
# runs-on: ubuntu-latest
|
|
17
|
-
|
|
18
|
-
# strategy:
|
|
19
|
-
# fail-fast: false
|
|
20
|
-
# matrix:
|
|
21
|
-
# python_version: ["3.10"] #["3.8", "3.9", "3.10", "3.11", "3.12"]
|
|
22
|
-
# arangodb_config: ["single", "cluster"]
|
|
23
|
-
# arangodb_license: ["community", "enterprise"]
|
|
24
|
-
# arangodb_version: ["3.10.10", "3.11.4", "latest"]
|
|
25
|
-
|
|
26
|
-
# name: Test (${{ matrix.python_version }}:${{ matrix.arangodb_config }}:${{ matrix.arangodb_license }}:${{ matrix.arangodb_version }})
|
|
27
|
-
|
|
28
|
-
# steps:
|
|
29
|
-
# - name: Checkout code
|
|
30
|
-
# uses: actions/checkout@v4
|
|
31
|
-
|
|
32
|
-
# - name: Set up Python
|
|
33
|
-
# uses: actions/setup-python@v4
|
|
34
|
-
# with:
|
|
35
|
-
# python-version: ${{ matrix.python_version }}
|
|
36
|
-
|
|
37
|
-
# - name: Setup ArangoDB
|
|
38
|
-
# run: |
|
|
39
|
-
# chmod +x starter.sh
|
|
40
|
-
# ./starter.sh ${{ matrix.arangodb_config }} ${{ matrix.arangodb_license }} ${{ matrix.arangodb_version }}
|
|
41
|
-
|
|
42
|
-
# - name: Install Dependencies
|
|
43
|
-
# run: pip install -e .[dev]
|
|
44
|
-
|
|
45
|
-
# - name: List Docker Containers
|
|
46
|
-
# run: docker ps -a
|
|
47
|
-
|
|
48
|
-
# - name: Pytest
|
|
49
|
-
# run: |
|
|
50
|
-
# args=("--host" "localhost" "--port=8529")
|
|
51
|
-
|
|
52
|
-
# if [ ${{ matrix.arangodb_config }} = "cluster" ]; then
|
|
53
|
-
# args+=("--cluster" "--port=8539" "--port=8549")
|
|
54
|
-
# fi
|
|
55
|
-
|
|
56
|
-
# if [ ${{ matrix.arangodb_license }} = "enterprise" ]; then
|
|
57
|
-
# args+=("--enterprise")
|
|
58
|
-
# fi
|
|
59
|
-
|
|
60
|
-
# echo "Running pytest with args: ${args[@]}"
|
|
61
|
-
# pytest --cov=arango --cov-report=xml "${args[@]}"
|
|
62
|
-
|
|
63
|
-
docs:
|
|
64
|
-
runs-on: ubuntu-latest
|
|
65
|
-
|
|
66
|
-
name: Docs
|
|
67
|
-
|
|
68
|
-
steps:
|
|
69
|
-
- name: Checkout repository
|
|
70
|
-
uses: actions/checkout@v4
|
|
71
|
-
|
|
72
|
-
- name: Fetch all tags and branches
|
|
73
|
-
run: git fetch --prune --unshallow
|
|
74
|
-
|
|
75
|
-
- name: Create ArangoDB Docker container
|
|
76
|
-
run: >
|
|
77
|
-
docker create --name arango -p 8529:8529 -e ARANGO_ROOT_PASSWORD=passwd -v "$(pwd)/tests/static/":/tests/static
|
|
78
|
-
arangodb/arangodb:latest --server.jwt-secret-keyfile=/tests/static/keyfile
|
|
79
|
-
|
|
80
|
-
- name: Start ArangoDB Docker container
|
|
81
|
-
run: docker start arango
|
|
82
|
-
|
|
83
|
-
- name: Set up Python
|
|
84
|
-
uses: actions/setup-python@v4
|
|
85
|
-
with:
|
|
86
|
-
python-version: '3.10'
|
|
87
|
-
|
|
88
|
-
- name: Debug with tmate
|
|
89
|
-
uses: mxschmitt/action-tmate@v3
|
|
90
|
-
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
|
|
91
|
-
|
|
92
|
-
- name: Run pre-commit checks
|
|
93
|
-
uses: pre-commit/action@v3.0.0
|
|
94
|
-
|
|
95
|
-
- name: Install dependencies
|
|
96
|
-
run: pip install .[dev]
|
|
97
|
-
|
|
98
|
-
- name: Run Sphinx doctest
|
|
99
|
-
run: python -m sphinx -b doctest docs docs/_build
|
|
100
|
-
|
|
101
|
-
# No longer needed as this is handled by Read the Docs
|
|
102
|
-
#- name: Generate Sphinx HTML
|
|
103
|
-
# run: python -m sphinx -b html -W docs docs/_build
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "8.3.4"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from tests.conftest import * # noqa: F401,F403
|
|
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
|