python-arango 8.3.6__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.
Files changed (96) hide show
  1. {python_arango-8.3.6 → python_arango-8.3.7}/.circleci/config.yml +2 -9
  2. {python_arango-8.3.6 → python_arango-8.3.7}/.gitignore +2 -0
  3. {python_arango-8.3.6/python_arango.egg-info → python_arango-8.3.7}/PKG-INFO +1 -1
  4. {python_arango-8.3.6 → python_arango-8.3.7}/arango/database.py +15 -18
  5. python_arango-8.3.7/arango/version.py +1 -0
  6. {python_arango-8.3.6 → python_arango-8.3.7}/docs/graph.rst +31 -0
  7. {python_arango-8.3.6 → python_arango-8.3.7/python_arango.egg-info}/PKG-INFO +1 -1
  8. python_arango-8.3.7/python_arango.egg-info/scm_version.json +8 -0
  9. python_arango-8.3.6/arango/version.py +0 -1
  10. python_arango-8.3.6/python_arango.egg-info/scm_version.json +0 -8
  11. {python_arango-8.3.6 → python_arango-8.3.7}/.github/workflows/codeql.yaml +0 -0
  12. {python_arango-8.3.6 → python_arango-8.3.7}/.github/workflows/docs.yaml +0 -0
  13. {python_arango-8.3.6 → python_arango-8.3.7}/.github/workflows/pypi.yaml +0 -0
  14. {python_arango-8.3.6 → python_arango-8.3.7}/.pre-commit-config.yaml +0 -0
  15. {python_arango-8.3.6 → python_arango-8.3.7}/.readthedocs.yaml +0 -0
  16. {python_arango-8.3.6 → python_arango-8.3.7}/AGENTS.md +0 -0
  17. {python_arango-8.3.6 → python_arango-8.3.7}/LICENSE +0 -0
  18. {python_arango-8.3.6 → python_arango-8.3.7}/MANIFEST.in +0 -0
  19. {python_arango-8.3.6 → python_arango-8.3.7}/README.md +0 -0
  20. {python_arango-8.3.6 → python_arango-8.3.7}/arango/__init__.py +0 -0
  21. {python_arango-8.3.6 → python_arango-8.3.7}/arango/api.py +0 -0
  22. {python_arango-8.3.6 → python_arango-8.3.7}/arango/aql.py +0 -0
  23. {python_arango-8.3.6 → python_arango-8.3.7}/arango/backup.py +0 -0
  24. {python_arango-8.3.6 → python_arango-8.3.7}/arango/client.py +0 -0
  25. {python_arango-8.3.6 → python_arango-8.3.7}/arango/cluster.py +0 -0
  26. {python_arango-8.3.6 → python_arango-8.3.7}/arango/collection.py +0 -0
  27. {python_arango-8.3.6 → python_arango-8.3.7}/arango/connection.py +0 -0
  28. {python_arango-8.3.6 → python_arango-8.3.7}/arango/cursor.py +0 -0
  29. {python_arango-8.3.6 → python_arango-8.3.7}/arango/errno.py +0 -0
  30. {python_arango-8.3.6 → python_arango-8.3.7}/arango/exceptions.py +0 -0
  31. {python_arango-8.3.6 → python_arango-8.3.7}/arango/executor.py +0 -0
  32. {python_arango-8.3.6 → python_arango-8.3.7}/arango/formatter.py +0 -0
  33. {python_arango-8.3.6 → python_arango-8.3.7}/arango/foxx.py +0 -0
  34. {python_arango-8.3.6 → python_arango-8.3.7}/arango/graph.py +0 -0
  35. {python_arango-8.3.6 → python_arango-8.3.7}/arango/http.py +0 -0
  36. {python_arango-8.3.6 → python_arango-8.3.7}/arango/job.py +0 -0
  37. {python_arango-8.3.6 → python_arango-8.3.7}/arango/pregel.py +0 -0
  38. {python_arango-8.3.6 → python_arango-8.3.7}/arango/py.typed +0 -0
  39. {python_arango-8.3.6 → python_arango-8.3.7}/arango/replication.py +0 -0
  40. {python_arango-8.3.6 → python_arango-8.3.7}/arango/request.py +0 -0
  41. {python_arango-8.3.6 → python_arango-8.3.7}/arango/resolver.py +0 -0
  42. {python_arango-8.3.6 → python_arango-8.3.7}/arango/response.py +0 -0
  43. {python_arango-8.3.6 → python_arango-8.3.7}/arango/result.py +0 -0
  44. {python_arango-8.3.6 → python_arango-8.3.7}/arango/typings.py +0 -0
  45. {python_arango-8.3.6 → python_arango-8.3.7}/arango/utils.py +0 -0
  46. {python_arango-8.3.6 → python_arango-8.3.7}/arango/wal.py +0 -0
  47. {python_arango-8.3.6 → python_arango-8.3.7}/docs/Makefile +0 -0
  48. {python_arango-8.3.6 → python_arango-8.3.7}/docs/admin.rst +0 -0
  49. {python_arango-8.3.6 → python_arango-8.3.7}/docs/analyzer.rst +0 -0
  50. {python_arango-8.3.6 → python_arango-8.3.7}/docs/aql.rst +0 -0
  51. {python_arango-8.3.6 → python_arango-8.3.7}/docs/async.rst +0 -0
  52. {python_arango-8.3.6 → python_arango-8.3.7}/docs/auth.rst +0 -0
  53. {python_arango-8.3.6 → python_arango-8.3.7}/docs/backup.rst +0 -0
  54. {python_arango-8.3.6 → python_arango-8.3.7}/docs/batch.rst +0 -0
  55. {python_arango-8.3.6 → python_arango-8.3.7}/docs/certificates.rst +0 -0
  56. {python_arango-8.3.6 → python_arango-8.3.7}/docs/cluster.rst +0 -0
  57. {python_arango-8.3.6 → python_arango-8.3.7}/docs/collection.rst +0 -0
  58. {python_arango-8.3.6 → python_arango-8.3.7}/docs/compression.rst +0 -0
  59. {python_arango-8.3.6 → python_arango-8.3.7}/docs/conf.py +0 -0
  60. {python_arango-8.3.6 → python_arango-8.3.7}/docs/cursor.rst +0 -0
  61. {python_arango-8.3.6 → python_arango-8.3.7}/docs/database.rst +0 -0
  62. {python_arango-8.3.6 → python_arango-8.3.7}/docs/document.rst +0 -0
  63. {python_arango-8.3.6 → python_arango-8.3.7}/docs/errno.rst +0 -0
  64. {python_arango-8.3.6 → python_arango-8.3.7}/docs/errors.rst +0 -0
  65. {python_arango-8.3.6 → python_arango-8.3.7}/docs/foxx.rst +0 -0
  66. {python_arango-8.3.6 → python_arango-8.3.7}/docs/http.rst +0 -0
  67. {python_arango-8.3.6 → python_arango-8.3.7}/docs/index.rst +0 -0
  68. {python_arango-8.3.6 → python_arango-8.3.7}/docs/indexes.rst +0 -0
  69. {python_arango-8.3.6 → python_arango-8.3.7}/docs/logging.rst +0 -0
  70. {python_arango-8.3.6 → python_arango-8.3.7}/docs/make.bat +0 -0
  71. {python_arango-8.3.6 → python_arango-8.3.7}/docs/overload.rst +0 -0
  72. {python_arango-8.3.6 → python_arango-8.3.7}/docs/overview.rst +0 -0
  73. {python_arango-8.3.6 → python_arango-8.3.7}/docs/pregel.rst +0 -0
  74. {python_arango-8.3.6 → python_arango-8.3.7}/docs/replication.rst +0 -0
  75. {python_arango-8.3.6 → python_arango-8.3.7}/docs/requirements.txt +0 -0
  76. {python_arango-8.3.6 → python_arango-8.3.7}/docs/schema.rst +0 -0
  77. {python_arango-8.3.6 → python_arango-8.3.7}/docs/serializer.rst +0 -0
  78. {python_arango-8.3.6 → python_arango-8.3.7}/docs/simple.rst +0 -0
  79. {python_arango-8.3.6 → python_arango-8.3.7}/docs/specs.rst +0 -0
  80. {python_arango-8.3.6 → python_arango-8.3.7}/docs/static/logo.png +0 -0
  81. {python_arango-8.3.6 → python_arango-8.3.7}/docs/task.rst +0 -0
  82. {python_arango-8.3.6 → python_arango-8.3.7}/docs/threading.rst +0 -0
  83. {python_arango-8.3.6 → python_arango-8.3.7}/docs/transaction.rst +0 -0
  84. {python_arango-8.3.6 → python_arango-8.3.7}/docs/user.rst +0 -0
  85. {python_arango-8.3.6 → python_arango-8.3.7}/docs/view.rst +0 -0
  86. {python_arango-8.3.6 → python_arango-8.3.7}/docs/wal.rst +0 -0
  87. {python_arango-8.3.6 → python_arango-8.3.7}/pyproject.toml +0 -0
  88. {python_arango-8.3.6 → python_arango-8.3.7}/python_arango.egg-info/SOURCES.txt +0 -0
  89. {python_arango-8.3.6 → python_arango-8.3.7}/python_arango.egg-info/dependency_links.txt +0 -0
  90. {python_arango-8.3.6 → python_arango-8.3.7}/python_arango.egg-info/requires.txt +0 -0
  91. {python_arango-8.3.6 → python_arango-8.3.7}/python_arango.egg-info/scm_file_list.json +0 -0
  92. {python_arango-8.3.6 → python_arango-8.3.7}/python_arango.egg-info/top_level.txt +0 -0
  93. {python_arango-8.3.6 → python_arango-8.3.7}/setup.cfg +0 -0
  94. {python_arango-8.3.6 → python_arango-8.3.7}/setup.py +0 -0
  95. {python_arango-8.3.6 → python_arango-8.3.7}/starter.sh +0 -0
  96. {python_arango-8.3.6 → python_arango-8.3.7}/todo.md +0 -0
@@ -29,13 +29,6 @@ workflows:
29
29
  matrix:
30
30
  parameters:
31
31
  python_version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
32
- - integration-test:
33
- name: ArangoDB (enterprise, 3.12.10 << matrix.arangodb_config >>)
34
- matrix:
35
- parameters:
36
- arangodb_config: ["single", "cluster"]
37
- arangodb_image: ["arangodb/enterprise:3.12.10"]
38
- arangodb_conf_version: ["3.12"]
39
32
  - integration-test:
40
33
  name: ArangoDB (enterprise, 3.12.9 << matrix.arangodb_config >>)
41
34
  matrix:
@@ -51,11 +44,11 @@ workflows:
51
44
  arangodb_image: [ "arangodb/core-preview:4.0-nightly" ]
52
45
  arangodb_conf_version: [ "4.0" ]
53
46
  - integration-test:
54
- name: ArangoDB (enterprise-preview, 3.12-nightly << matrix.arangodb_config >>)
47
+ name: ArangoDB (enterprise, 3.12-latest << matrix.arangodb_config >>)
55
48
  matrix:
56
49
  parameters:
57
50
  arangodb_config: ["single", "cluster"]
58
- arangodb_image: ["arangodb/enterprise-preview:3.12-nightly"]
51
+ arangodb_image: ["arangodb/enterprise:3.12"]
59
52
  arangodb_conf_version: ["3.12"]
60
53
 
61
54
  jobs:
@@ -124,3 +124,5 @@ node_modules/
124
124
 
125
125
  # devcontainers
126
126
  .devcontainer
127
+
128
+ test-results/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-arango
3
- Version: 8.3.6
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, sharding is enabled (see parameter
1902
- **smart_field** below). Applies only to enterprise version of
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. Applies only to enterprise version of
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. To use this, parameter **smart** must be set to True and
1911
- every vertex in the graph must have the smart field. Applies only
1912
- to enterprise version of ArangoDB. NOTE: If this field is
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. To use this, parameter **smart** must be set to True and
1917
- every vertex in the graph must have the smart field. This number
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: # pragma: no cover
1973
- data["isSmart"] = smart
1974
- if disjoint is not None: # pragma: no cover
1975
- data["isDisjoint"] = disjoint
1976
- if smart_field is not None: # pragma: no cover
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-arango
3
- Version: 8.3.6
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>
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "8.3.7",
3
+ "distance": 0,
4
+ "node": "g0693f0d75a67c024fd7bf499fd66d16ea5b2e946",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-10-25"
8
+ }
@@ -1 +0,0 @@
1
- __version__ = "8.3.6"
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "8.3.6",
3
- "distance": 0,
4
- "node": "gc019d8643272db4621ffd7d20795a387618705a8",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-10-04"
8
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes