python-arango 8.3.5__tar.gz → 8.3.7__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.5 → python_arango-8.3.7}/.circleci/config.yml +4 -4
- python_arango-8.3.7/.github/workflows/pypi.yaml +66 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/.gitignore +2 -0
- python_arango-8.3.7/AGENTS.md +89 -0
- {python_arango-8.3.5/python_arango.egg-info → python_arango-8.3.7}/PKG-INFO +1 -1
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/database.py +15 -18
- python_arango-8.3.7/arango/version.py +1 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/graph.rst +31 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/index.rst +0 -1
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/indexes.rst +6 -3
- {python_arango-8.3.5 → python_arango-8.3.7/python_arango.egg-info}/PKG-INFO +1 -1
- {python_arango-8.3.5 → python_arango-8.3.7}/python_arango.egg-info/SOURCES.txt +2 -2
- {python_arango-8.3.5 → python_arango-8.3.7}/python_arango.egg-info/scm_file_list.json +3 -3
- python_arango-8.3.7/python_arango.egg-info/scm_version.json +8 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/starter.sh +6 -5
- python_arango-8.3.7/todo.md +397 -0
- python_arango-8.3.5/.github/workflows/pypi.yaml +0 -40
- python_arango-8.3.5/CONTRIBUTING.md +0 -28
- python_arango-8.3.5/arango/version.py +0 -1
- python_arango-8.3.5/docs/contributing.rst +0 -99
- python_arango-8.3.5/python_arango.egg-info/scm_version.json +0 -8
- {python_arango-8.3.5 → python_arango-8.3.7}/.github/workflows/codeql.yaml +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/.github/workflows/docs.yaml +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/.pre-commit-config.yaml +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/.readthedocs.yaml +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/LICENSE +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/MANIFEST.in +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/README.md +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/__init__.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/api.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/aql.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/backup.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/client.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/cluster.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/collection.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/connection.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/cursor.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/errno.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/exceptions.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/executor.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/formatter.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/foxx.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/graph.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/http.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/job.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/pregel.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/py.typed +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/replication.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/request.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/resolver.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/response.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/result.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/typings.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/utils.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/arango/wal.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/Makefile +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/admin.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/analyzer.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/aql.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/async.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/auth.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/backup.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/batch.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/certificates.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/cluster.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/collection.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/compression.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/conf.py +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/cursor.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/database.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/document.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/errno.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/errors.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/foxx.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/http.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/logging.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/make.bat +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/overload.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/overview.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/pregel.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/replication.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/requirements.txt +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/schema.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/serializer.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/simple.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/specs.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/static/logo.png +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/task.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/threading.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/transaction.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/user.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/view.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/docs/wal.rst +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/pyproject.toml +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/python_arango.egg-info/dependency_links.txt +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/python_arango.egg-info/requires.txt +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/python_arango.egg-info/top_level.txt +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/setup.cfg +0 -0
- {python_arango-8.3.5 → python_arango-8.3.7}/setup.py +0 -0
|
@@ -30,11 +30,11 @@ workflows:
|
|
|
30
30
|
parameters:
|
|
31
31
|
python_version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
32
32
|
- integration-test:
|
|
33
|
-
name: ArangoDB (enterprise, 3.12 << matrix.arangodb_config >>)
|
|
33
|
+
name: ArangoDB (enterprise, 3.12.9 << matrix.arangodb_config >>)
|
|
34
34
|
matrix:
|
|
35
35
|
parameters:
|
|
36
36
|
arangodb_config: ["single", "cluster"]
|
|
37
|
-
arangodb_image: ["arangodb/enterprise:3.12"]
|
|
37
|
+
arangodb_image: ["arangodb/enterprise:3.12.9"]
|
|
38
38
|
arangodb_conf_version: ["3.12"]
|
|
39
39
|
- integration-test:
|
|
40
40
|
name: ArangoDB (core-preview, 4.0-nightly << matrix.arangodb_config >>)
|
|
@@ -44,11 +44,11 @@ workflows:
|
|
|
44
44
|
arangodb_image: [ "arangodb/core-preview:4.0-nightly" ]
|
|
45
45
|
arangodb_conf_version: [ "4.0" ]
|
|
46
46
|
- integration-test:
|
|
47
|
-
name: ArangoDB (enterprise
|
|
47
|
+
name: ArangoDB (enterprise, 3.12-latest << matrix.arangodb_config >>)
|
|
48
48
|
matrix:
|
|
49
49
|
parameters:
|
|
50
50
|
arangodb_config: ["single", "cluster"]
|
|
51
|
-
arangodb_image: ["arangodb/enterprise
|
|
51
|
+
arangodb_image: ["arangodb/enterprise:3.12"]
|
|
52
52
|
arangodb_conf_version: ["3.12"]
|
|
53
53
|
|
|
54
54
|
jobs:
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
name: Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout repository
|
|
16
|
+
uses: actions/checkout@v7
|
|
17
|
+
with:
|
|
18
|
+
fetch-depth: 0
|
|
19
|
+
fetch-tags: true
|
|
20
|
+
persist-credentials: false
|
|
21
|
+
|
|
22
|
+
- uses: actions/setup-python@v7
|
|
23
|
+
with:
|
|
24
|
+
python-version: "3.12"
|
|
25
|
+
|
|
26
|
+
- name: Install dependencies
|
|
27
|
+
run: python -m pip install build
|
|
28
|
+
|
|
29
|
+
- name: Build distribution
|
|
30
|
+
run: python -m build
|
|
31
|
+
|
|
32
|
+
- uses: actions/upload-artifact@v5
|
|
33
|
+
with:
|
|
34
|
+
name: dist
|
|
35
|
+
path: dist/
|
|
36
|
+
if-no-files-found: error
|
|
37
|
+
|
|
38
|
+
testpypi:
|
|
39
|
+
needs: build
|
|
40
|
+
runs-on: ubuntu-latest
|
|
41
|
+
environment: testpypi
|
|
42
|
+
permissions:
|
|
43
|
+
id-token: write
|
|
44
|
+
steps:
|
|
45
|
+
- uses: actions/download-artifact@v6
|
|
46
|
+
with:
|
|
47
|
+
name: dist
|
|
48
|
+
path: dist/
|
|
49
|
+
- name: Publish to TestPyPI
|
|
50
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
51
|
+
with:
|
|
52
|
+
repository-url: https://test.pypi.org/legacy/
|
|
53
|
+
|
|
54
|
+
pypi:
|
|
55
|
+
needs: testpypi
|
|
56
|
+
runs-on: ubuntu-latest
|
|
57
|
+
environment: pypi
|
|
58
|
+
permissions:
|
|
59
|
+
id-token: write
|
|
60
|
+
steps:
|
|
61
|
+
- uses: actions/download-artifact@v6
|
|
62
|
+
with:
|
|
63
|
+
name: dist
|
|
64
|
+
path: dist/
|
|
65
|
+
- name: Publish to PyPI
|
|
66
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Quickstart
|
|
2
|
+
|
|
3
|
+
python-arango is a Python driver for ArangoDB. Run the commands below from the
|
|
4
|
+
repository root.
|
|
5
|
+
|
|
6
|
+
## Repository layout
|
|
7
|
+
|
|
8
|
+
- `arango/`: driver implementation, public APIs, and type annotations.
|
|
9
|
+
- `tests/`: pytest tests; `conftest.py` defines database fixtures and CLI options.
|
|
10
|
+
- `tests/static/`: server configurations and test data used by `starter.sh`.
|
|
11
|
+
- `docs/`: Sphinx documentation in reStructuredText.
|
|
12
|
+
- `pyproject.toml`, `setup.cfg`, `.pre-commit-config.yaml`: packaging and tooling.
|
|
13
|
+
- `.circleci/`, `.github/workflows/`: CI checks, documentation, and publishing.
|
|
14
|
+
|
|
15
|
+
## Development setup
|
|
16
|
+
|
|
17
|
+
Use Python 3.10 or newer. Create a virtual environment, or use an existing one:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
python3 -m venv .venv # Create an isolated Python environment.
|
|
21
|
+
source .venv/bin/activate # Use its interpreter and tools.
|
|
22
|
+
python -m pip install -e '.[dev]' # Install the editable driver and dev tools.
|
|
23
|
+
pre-commit install # Enable checks before each commit.
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Examples use `python` from the activated environment. If it is unavailable on
|
|
27
|
+
PATH, invoke your environment's interpreter directly.
|
|
28
|
+
|
|
29
|
+
## Local cluster and tests
|
|
30
|
+
|
|
31
|
+
The starter requires Docker, Bash, `wget`, and `jq`. To replace an existing test
|
|
32
|
+
container, run `docker stop arango` and `docker rm arango` first.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
version="latest" # Or pin a supported version, such as 3.12.10.
|
|
36
|
+
./starter.sh cluster enterprise "$version" # Start a local test cluster.
|
|
37
|
+
python -m pytest --cluster # Run the full suite against the cluster.
|
|
38
|
+
# Run one test while developing a document change.
|
|
39
|
+
python -m pytest --cluster tests/test_document.py::test_document_insert
|
|
40
|
+
# Generate an HTML coverage report.
|
|
41
|
+
python -m pytest --cluster --cov=arango --cov-report=html
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Defaults are `127.0.0.1:8529`, user `root`, password `passwd`, and JWT secret
|
|
45
|
+
`secret`, matching the starter configuration. Override them with `--host`,
|
|
46
|
+
`--port`, `--root`, `--password`, and `--secret`. Use a disposable development
|
|
47
|
+
database: tests create and delete databases, users, jobs, and backups. If a
|
|
48
|
+
sandbox blocks localhost access, rerun with the required sandbox permission.
|
|
49
|
+
|
|
50
|
+
For a single server, use `./starter.sh single enterprise "$version"` and omit
|
|
51
|
+
`--cluster`. Import tests can run without ArangoDB:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
python -m pytest tests/test_imports.py --skip-arango-setup # Check imports offline.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Style and documentation
|
|
58
|
+
|
|
59
|
+
Run the configured hooks for formatting, import ordering, linting, and type
|
|
60
|
+
checks. Build and test documentation separately:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pre-commit run --all-files # Run hooks; formatters may modify files.
|
|
64
|
+
python -m sphinx -b html docs docs/_build # Build the HTML documentation.
|
|
65
|
+
python -m sphinx -b doctest docs docs/_build # Test documentation examples.
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
The Sphinx doctests require a running ArangoDB server. Open
|
|
69
|
+
`docs/_build/index.html` for the HTML documentation or `htmlcov/index.html` for
|
|
70
|
+
the coverage report.
|
|
71
|
+
|
|
72
|
+
## Changes and pull requests
|
|
73
|
+
|
|
74
|
+
- Agents must work on a branch other than `main`; never commit directly to `main`.
|
|
75
|
+
Check the current branch before editing or committing. If on `main` or a
|
|
76
|
+
detached HEAD, create a branch first:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
git branch --show-current # Check the current branch.
|
|
80
|
+
git switch -c fix/describe-change # Choose a descriptive branch name.
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
- Preserve public API compatibility unless a breaking change is intentional.
|
|
84
|
+
- Follow existing code patterns, type annotations, and Sphinx docstrings.
|
|
85
|
+
- Add regression tests for fixes and tests for new behavior; update user documentation.
|
|
86
|
+
- Run relevant tests and checks; report anything skipped and why.
|
|
87
|
+
- Keep test coverage up and squash changes into one commit for submission.
|
|
88
|
+
- Use present-tense commit messages, such as `Fix cursor retry`.
|
|
89
|
+
- Explain what changed, why, and any compatibility impact in the pull request.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-arango
|
|
3
|
-
Version: 8.3.
|
|
3
|
+
Version: 8.3.7
|
|
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>
|
|
@@ -1898,25 +1898,22 @@ class Database(ApiGroup):
|
|
|
1898
1898
|
:param orphan_collections: Names of additional vertex collections that
|
|
1899
1899
|
are not in edge definitions.
|
|
1900
1900
|
:type orphan_collections: [str] | None
|
|
1901
|
-
:param smart: If set to True,
|
|
1902
|
-
|
|
1903
|
-
ArangoDB.
|
|
1901
|
+
:param smart: If set to True, create a SmartGraph when **smart_field**
|
|
1902
|
+
is specified, or an EnterpriseGraph otherwise. Applies only to enterprise
|
|
1903
|
+
version of ArangoDB.
|
|
1904
1904
|
:type smart: bool | None
|
|
1905
1905
|
:param disjoint: If set to True, create a disjoint SmartGraph instead
|
|
1906
|
-
of a regular SmartGraph.
|
|
1907
|
-
ArangoDB.
|
|
1906
|
+
of a regular SmartGraph. Only has an effect with **smart_field**
|
|
1907
|
+
or **smart**. Applies only to enterprise version of ArangoDB.
|
|
1908
1908
|
:type disjoint: bool | None
|
|
1909
1909
|
:param smart_field: Document field used to shard the vertices of the
|
|
1910
|
-
graph.
|
|
1911
|
-
|
|
1912
|
-
to enterprise version of ArangoDB.
|
|
1913
|
-
None and **smart** is True, an Enterprise Graph will be created.
|
|
1910
|
+
graph. Setting this creates a SmartGraph, even if **smart** is
|
|
1911
|
+
omitted or False. Every vertex in the graph must have this field.
|
|
1912
|
+
Applies only to enterprise version of ArangoDB.
|
|
1914
1913
|
:type smart_field: str | None
|
|
1915
1914
|
:param shard_count: Number of shards used for every collection in the
|
|
1916
|
-
graph.
|
|
1917
|
-
|
|
1918
|
-
cannot be modified later once set. Applies only to enterprise
|
|
1919
|
-
version of ArangoDB.
|
|
1915
|
+
graph. This number cannot be modified later once set. Used for
|
|
1916
|
+
clusters only.
|
|
1920
1917
|
:type shard_count: int | None
|
|
1921
1918
|
:param replication_factor: Number of copies of each shard on different
|
|
1922
1919
|
servers in a cluster. Allowed values are 1 (only one copy is kept
|
|
@@ -1969,11 +1966,11 @@ class Database(ApiGroup):
|
|
|
1969
1966
|
]
|
|
1970
1967
|
if orphan_collections is not None:
|
|
1971
1968
|
data["orphanCollections"] = orphan_collections
|
|
1972
|
-
if smart is not None:
|
|
1973
|
-
data["isSmart"] = smart
|
|
1974
|
-
if disjoint is not None:
|
|
1975
|
-
data["isDisjoint"] = disjoint
|
|
1976
|
-
if smart_field is not None:
|
|
1969
|
+
if smart is not None:
|
|
1970
|
+
data["options"]["isSmart"] = smart
|
|
1971
|
+
if disjoint is not None:
|
|
1972
|
+
data["options"]["isDisjoint"] = disjoint
|
|
1973
|
+
if smart_field is not None:
|
|
1977
1974
|
data["options"]["smartGraphAttribute"] = smart_field
|
|
1978
1975
|
if shard_count is not None: # pragma: no cover
|
|
1979
1976
|
data["options"]["numberOfShards"] = shard_count
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "8.3.7"
|
|
@@ -40,6 +40,37 @@ For more information, refer to `ArangoDB manual`_.
|
|
|
40
40
|
# Delete the graph.
|
|
41
41
|
db.delete_graph('school')
|
|
42
42
|
|
|
43
|
+
Graph creation options
|
|
44
|
+
======================
|
|
45
|
+
|
|
46
|
+
To create an EnterpriseGraph, pass ``smart=True`` and omit ``smart_field``.
|
|
47
|
+
EnterpriseGraphs use optimized graph sharding without a user-defined smart
|
|
48
|
+
field.
|
|
49
|
+
|
|
50
|
+
To create a SmartGraph, set ``smart_field`` to the vertex attribute used for
|
|
51
|
+
sharding (``smart=True`` is then optional).Set ``disjoint=True`` alongside
|
|
52
|
+
``smart_field`` to create a Disjoint SmartGraph, which rejects edges between
|
|
53
|
+
vertices with different smart field values.
|
|
54
|
+
|
|
55
|
+
For example, on an enterprise cluster:
|
|
56
|
+
|
|
57
|
+
.. code-block:: python
|
|
58
|
+
|
|
59
|
+
regional = db.create_graph(
|
|
60
|
+
'regional',
|
|
61
|
+
edge_definitions=[{
|
|
62
|
+
'edge_collection': 'routes',
|
|
63
|
+
'from_vertex_collections': ['places'],
|
|
64
|
+
'to_vertex_collections': ['places'],
|
|
65
|
+
}],
|
|
66
|
+
smart_field='region',
|
|
67
|
+
disjoint=True,
|
|
68
|
+
shard_count=3,
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
See :meth:`arango.database.StandardDatabase.create_graph` for all creation
|
|
72
|
+
options.
|
|
73
|
+
|
|
43
74
|
.. _edge-definitions:
|
|
44
75
|
|
|
45
76
|
Edge Definitions
|
|
@@ -88,7 +88,7 @@ on fields ``_from`` and ``_to``. For more information on indexes, refer to
|
|
|
88
88
|
},
|
|
89
89
|
})
|
|
90
90
|
|
|
91
|
-
# Index creation may succeed even if
|
|
91
|
+
# Index creation may succeed even if there is insufficient training data.
|
|
92
92
|
if vector_index.get('trainingState') != 'ready':
|
|
93
93
|
raise RuntimeError(
|
|
94
94
|
vector_index.get('errorMessage', 'Vector index is not ready')
|
|
@@ -98,7 +98,10 @@ Omitted or scaling-object ``nLists``, ``numberOfDocsPerCentroid``, factory
|
|
|
98
98
|
placeholders such as ``IVF{},Flat``, and successful-but-unusable creation
|
|
99
99
|
behavior require ArangoDB 3.12.10 or later. A successful creation response
|
|
100
100
|
means that the index exists, but callers should check ``trainingState`` before
|
|
101
|
-
using it. If
|
|
102
|
-
``errorMessage`` describes the failure.
|
|
101
|
+
using it. If there is insufficient data to train the index, the state is
|
|
102
|
+
``"unusable"`` and ``errorMessage`` describes the failure. Invalid index
|
|
103
|
+
definitions, such as an ``nLists`` value that disagrees with the number of
|
|
104
|
+
centroids in the factory string, are rejected during creation with
|
|
105
|
+
``IndexCreateError`` and no index is created.
|
|
103
106
|
|
|
104
107
|
See :ref:`StandardCollection` for API specification.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-arango
|
|
3
|
-
Version: 8.3.
|
|
3
|
+
Version: 8.3.7
|
|
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>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.gitignore
|
|
2
2
|
.pre-commit-config.yaml
|
|
3
3
|
.readthedocs.yaml
|
|
4
|
-
|
|
4
|
+
AGENTS.md
|
|
5
5
|
LICENSE
|
|
6
6
|
MANIFEST.in
|
|
7
7
|
README.md
|
|
@@ -9,6 +9,7 @@ pyproject.toml
|
|
|
9
9
|
setup.cfg
|
|
10
10
|
setup.py
|
|
11
11
|
starter.sh
|
|
12
|
+
todo.md
|
|
12
13
|
.circleci/config.yml
|
|
13
14
|
.github/workflows/codeql.yaml
|
|
14
15
|
.github/workflows/docs.yaml
|
|
@@ -55,7 +56,6 @@ docs/cluster.rst
|
|
|
55
56
|
docs/collection.rst
|
|
56
57
|
docs/compression.rst
|
|
57
58
|
docs/conf.py
|
|
58
|
-
docs/contributing.rst
|
|
59
59
|
docs/cursor.rst
|
|
60
60
|
docs/database.rst
|
|
61
61
|
docs/document.rst
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
".gitignore",
|
|
8
8
|
".pre-commit-config.yaml",
|
|
9
9
|
".readthedocs.yaml",
|
|
10
|
-
"
|
|
10
|
+
"AGENTS.md",
|
|
11
11
|
"LICENSE",
|
|
12
12
|
"MANIFEST.in",
|
|
13
13
|
"README.md",
|
|
@@ -53,7 +53,6 @@
|
|
|
53
53
|
"docs/collection.rst",
|
|
54
54
|
"docs/compression.rst",
|
|
55
55
|
"docs/conf.py",
|
|
56
|
-
"docs/contributing.rst",
|
|
57
56
|
"docs/cursor.rst",
|
|
58
57
|
"docs/database.rst",
|
|
59
58
|
"docs/document.rst",
|
|
@@ -124,6 +123,7 @@
|
|
|
124
123
|
"tests/test_transaction.py",
|
|
125
124
|
"tests/test_user.py",
|
|
126
125
|
"tests/test_view.py",
|
|
127
|
-
"tests/test_wal.py"
|
|
126
|
+
"tests/test_wal.py",
|
|
127
|
+
"todo.md"
|
|
128
128
|
]
|
|
129
129
|
}
|
|
@@ -4,15 +4,16 @@
|
|
|
4
4
|
# Useful for testing the python-arango driver against a local ArangoDB setup.
|
|
5
5
|
|
|
6
6
|
# Usage:
|
|
7
|
-
# ./starter.sh [single|cluster] [
|
|
7
|
+
# ./starter.sh [single|cluster] [core-preview|enterprise|enterprise-preview] [version]
|
|
8
8
|
# ./starter.sh [single|cluster] [image[:tag]]
|
|
9
9
|
# Example:
|
|
10
10
|
# ./starter.sh cluster enterprise 3.12.4
|
|
11
11
|
# ./starter.sh single core-preview 4.0-nightly
|
|
12
12
|
# ./starter.sh single arangodb/enterprise-preview:3.12-nightly
|
|
13
|
+
# Defaults: single server, enterprise image, latest version.
|
|
13
14
|
|
|
14
15
|
setup="${1:-single}"
|
|
15
|
-
image="${2:-
|
|
16
|
+
image="${2:-enterprise}"
|
|
16
17
|
version="${3:-latest}"
|
|
17
18
|
|
|
18
19
|
extra_ports=""
|
|
@@ -35,14 +36,14 @@ if [[ "$image" == */* ]]; then
|
|
|
35
36
|
else
|
|
36
37
|
image_ref="$image:$version"
|
|
37
38
|
fi
|
|
38
|
-
elif [ "$image" == "
|
|
39
|
-
image_ref="arangodb/
|
|
39
|
+
elif [ "$image" == "core-preview" ]; then
|
|
40
|
+
image_ref="arangodb/core-preview:$version"
|
|
40
41
|
elif [ "$image" == "enterprise" ]; then
|
|
41
42
|
image_ref="arangodb/enterprise:$version"
|
|
42
43
|
elif [ "$image" == "enterprise-preview" ]; then
|
|
43
44
|
image_ref="arangodb/enterprise-preview:$version"
|
|
44
45
|
else
|
|
45
|
-
echo "Invalid argument. Please provide '
|
|
46
|
+
echo "Invalid argument. Please provide 'core-preview', 'enterprise', 'enterprise-preview', or a full image reference."
|
|
46
47
|
exit 1
|
|
47
48
|
fi
|
|
48
49
|
|