python-arango 8.1.1__tar.gz → 8.1.3__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 (91) hide show
  1. {python_arango-8.1.1 → python_arango-8.1.3}/PKG-INFO +3 -3
  2. {python_arango-8.1.1 → python_arango-8.1.3}/README.md +2 -2
  3. {python_arango-8.1.1 → python_arango-8.1.3}/arango/connection.py +1 -0
  4. {python_arango-8.1.1 → python_arango-8.1.3}/arango/database.py +15 -4
  5. {python_arango-8.1.1 → python_arango-8.1.3}/arango/formatter.py +2 -0
  6. {python_arango-8.1.1 → python_arango-8.1.3}/arango/utils.py +5 -1
  7. {python_arango-8.1.1 → python_arango-8.1.3}/python_arango.egg-info/PKG-INFO +3 -3
  8. {python_arango-8.1.1 → python_arango-8.1.3}/.circleci/config.yml +0 -0
  9. {python_arango-8.1.1 → python_arango-8.1.3}/.github/workflows/codeql.yaml +0 -0
  10. {python_arango-8.1.1 → python_arango-8.1.3}/.github/workflows/docs.yaml +0 -0
  11. {python_arango-8.1.1 → python_arango-8.1.3}/.github/workflows/pypi.yaml +0 -0
  12. {python_arango-8.1.1 → python_arango-8.1.3}/.gitignore +0 -0
  13. {python_arango-8.1.1 → python_arango-8.1.3}/.pre-commit-config.yaml +0 -0
  14. {python_arango-8.1.1 → python_arango-8.1.3}/.readthedocs.yaml +0 -0
  15. {python_arango-8.1.1 → python_arango-8.1.3}/CONTRIBUTING.md +0 -0
  16. {python_arango-8.1.1 → python_arango-8.1.3}/LICENSE +0 -0
  17. {python_arango-8.1.1 → python_arango-8.1.3}/MANIFEST.in +0 -0
  18. {python_arango-8.1.1 → python_arango-8.1.3}/arango/__init__.py +0 -0
  19. {python_arango-8.1.1 → python_arango-8.1.3}/arango/api.py +0 -0
  20. {python_arango-8.1.1 → python_arango-8.1.3}/arango/aql.py +0 -0
  21. {python_arango-8.1.1 → python_arango-8.1.3}/arango/backup.py +0 -0
  22. {python_arango-8.1.1 → python_arango-8.1.3}/arango/client.py +0 -0
  23. {python_arango-8.1.1 → python_arango-8.1.3}/arango/cluster.py +0 -0
  24. {python_arango-8.1.1 → python_arango-8.1.3}/arango/collection.py +0 -0
  25. {python_arango-8.1.1 → python_arango-8.1.3}/arango/cursor.py +0 -0
  26. {python_arango-8.1.1 → python_arango-8.1.3}/arango/errno.py +0 -0
  27. {python_arango-8.1.1 → python_arango-8.1.3}/arango/exceptions.py +0 -0
  28. {python_arango-8.1.1 → python_arango-8.1.3}/arango/executor.py +0 -0
  29. {python_arango-8.1.1 → python_arango-8.1.3}/arango/foxx.py +0 -0
  30. {python_arango-8.1.1 → python_arango-8.1.3}/arango/graph.py +0 -0
  31. {python_arango-8.1.1 → python_arango-8.1.3}/arango/http.py +0 -0
  32. {python_arango-8.1.1 → python_arango-8.1.3}/arango/job.py +0 -0
  33. {python_arango-8.1.1 → python_arango-8.1.3}/arango/pregel.py +0 -0
  34. {python_arango-8.1.1 → python_arango-8.1.3}/arango/py.typed +0 -0
  35. {python_arango-8.1.1 → python_arango-8.1.3}/arango/replication.py +0 -0
  36. {python_arango-8.1.1 → python_arango-8.1.3}/arango/request.py +0 -0
  37. {python_arango-8.1.1 → python_arango-8.1.3}/arango/resolver.py +0 -0
  38. {python_arango-8.1.1 → python_arango-8.1.3}/arango/response.py +0 -0
  39. {python_arango-8.1.1 → python_arango-8.1.3}/arango/result.py +0 -0
  40. {python_arango-8.1.1 → python_arango-8.1.3}/arango/typings.py +0 -0
  41. {python_arango-8.1.1 → python_arango-8.1.3}/arango/wal.py +0 -0
  42. {python_arango-8.1.1 → python_arango-8.1.3}/docs/Makefile +0 -0
  43. {python_arango-8.1.1 → python_arango-8.1.3}/docs/admin.rst +0 -0
  44. {python_arango-8.1.1 → python_arango-8.1.3}/docs/analyzer.rst +0 -0
  45. {python_arango-8.1.1 → python_arango-8.1.3}/docs/aql.rst +0 -0
  46. {python_arango-8.1.1 → python_arango-8.1.3}/docs/async.rst +0 -0
  47. {python_arango-8.1.1 → python_arango-8.1.3}/docs/auth.rst +0 -0
  48. {python_arango-8.1.1 → python_arango-8.1.3}/docs/backup.rst +0 -0
  49. {python_arango-8.1.1 → python_arango-8.1.3}/docs/batch.rst +0 -0
  50. {python_arango-8.1.1 → python_arango-8.1.3}/docs/certificates.rst +0 -0
  51. {python_arango-8.1.1 → python_arango-8.1.3}/docs/cluster.rst +0 -0
  52. {python_arango-8.1.1 → python_arango-8.1.3}/docs/collection.rst +0 -0
  53. {python_arango-8.1.1 → python_arango-8.1.3}/docs/compression.rst +0 -0
  54. {python_arango-8.1.1 → python_arango-8.1.3}/docs/conf.py +0 -0
  55. {python_arango-8.1.1 → python_arango-8.1.3}/docs/contributing.rst +0 -0
  56. {python_arango-8.1.1 → python_arango-8.1.3}/docs/cursor.rst +0 -0
  57. {python_arango-8.1.1 → python_arango-8.1.3}/docs/database.rst +0 -0
  58. {python_arango-8.1.1 → python_arango-8.1.3}/docs/document.rst +0 -0
  59. {python_arango-8.1.1 → python_arango-8.1.3}/docs/errno.rst +0 -0
  60. {python_arango-8.1.1 → python_arango-8.1.3}/docs/errors.rst +0 -0
  61. {python_arango-8.1.1 → python_arango-8.1.3}/docs/foxx.rst +0 -0
  62. {python_arango-8.1.1 → python_arango-8.1.3}/docs/graph.rst +0 -0
  63. {python_arango-8.1.1 → python_arango-8.1.3}/docs/http.rst +0 -0
  64. {python_arango-8.1.1 → python_arango-8.1.3}/docs/index.rst +0 -0
  65. {python_arango-8.1.1 → python_arango-8.1.3}/docs/indexes.rst +0 -0
  66. {python_arango-8.1.1 → python_arango-8.1.3}/docs/logging.rst +0 -0
  67. {python_arango-8.1.1 → python_arango-8.1.3}/docs/make.bat +0 -0
  68. {python_arango-8.1.1 → python_arango-8.1.3}/docs/overload.rst +0 -0
  69. {python_arango-8.1.1 → python_arango-8.1.3}/docs/overview.rst +0 -0
  70. {python_arango-8.1.1 → python_arango-8.1.3}/docs/pregel.rst +0 -0
  71. {python_arango-8.1.1 → python_arango-8.1.3}/docs/replication.rst +0 -0
  72. {python_arango-8.1.1 → python_arango-8.1.3}/docs/requirements.txt +0 -0
  73. {python_arango-8.1.1 → python_arango-8.1.3}/docs/schema.rst +0 -0
  74. {python_arango-8.1.1 → python_arango-8.1.3}/docs/serializer.rst +0 -0
  75. {python_arango-8.1.1 → python_arango-8.1.3}/docs/simple.rst +0 -0
  76. {python_arango-8.1.1 → python_arango-8.1.3}/docs/specs.rst +0 -0
  77. {python_arango-8.1.1 → python_arango-8.1.3}/docs/static/logo.png +0 -0
  78. {python_arango-8.1.1 → python_arango-8.1.3}/docs/task.rst +0 -0
  79. {python_arango-8.1.1 → python_arango-8.1.3}/docs/threading.rst +0 -0
  80. {python_arango-8.1.1 → python_arango-8.1.3}/docs/transaction.rst +0 -0
  81. {python_arango-8.1.1 → python_arango-8.1.3}/docs/user.rst +0 -0
  82. {python_arango-8.1.1 → python_arango-8.1.3}/docs/view.rst +0 -0
  83. {python_arango-8.1.1 → python_arango-8.1.3}/docs/wal.rst +0 -0
  84. {python_arango-8.1.1 → python_arango-8.1.3}/pyproject.toml +0 -0
  85. {python_arango-8.1.1 → python_arango-8.1.3}/python_arango.egg-info/SOURCES.txt +0 -0
  86. {python_arango-8.1.1 → python_arango-8.1.3}/python_arango.egg-info/dependency_links.txt +0 -0
  87. {python_arango-8.1.1 → python_arango-8.1.3}/python_arango.egg-info/requires.txt +0 -0
  88. {python_arango-8.1.1 → python_arango-8.1.3}/python_arango.egg-info/top_level.txt +0 -0
  89. {python_arango-8.1.1 → python_arango-8.1.3}/setup.cfg +0 -0
  90. {python_arango-8.1.1 → python_arango-8.1.3}/setup.py +0 -0
  91. {python_arango-8.1.1 → python_arango-8.1.3}/starter.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-arango
3
- Version: 8.1.1
3
+ Version: 8.1.3
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>
@@ -70,12 +70,12 @@ Requires-Dist: types-setuptools; extra == "dev"
70
70
  [![CodeQL](https://github.com/arangodb/python-arango/actions/workflows/codeql.yaml/badge.svg)](https://github.com/arangodb/python-arango/actions/workflows/codeql.yaml)
71
71
  [![Docs](https://github.com/arangodb/python-arango/actions/workflows/docs.yaml/badge.svg)](https://github.com/arangodb/python-arango/actions/workflows/docs.yaml)
72
72
  [![Coverage Status](https://codecov.io/gh/arangodb/python-arango/branch/main/graph/badge.svg?token=M8zrjrzsUY)](https://codecov.io/gh/arangodb/python-arango)
73
- [![Last commit](https://img.shields.io/github/last-commit/arangodb/python-arango)](https://github.com/arangodb/python-arango/commits/master)
73
+ [![Last commit](https://img.shields.io/github/last-commit/arangodb/python-arango)](https://github.com/arangodb/python-arango/commits/main)
74
74
 
75
75
  [![PyPI version badge](https://img.shields.io/pypi/v/python-arango?color=3775A9&style=for-the-badge&logo=pypi&logoColor=FFD43B)](https://pypi.org/project/python-arango/)
76
76
  [![Python versions badge](https://img.shields.io/badge/3.8%2B-3776AB?style=for-the-badge&logo=python&logoColor=FFD43B&label=Python)](https://pypi.org/project/python-arango/)
77
77
 
78
- [![License](https://img.shields.io/github/license/arangodb/python-arango?color=9E2165&style=for-the-badge)](https://github.com/arangodb/python-arango/blob/master/LICENSE)
78
+ [![License](https://img.shields.io/github/license/arangodb/python-arango?color=9E2165&style=for-the-badge)](https://github.com/arangodb/python-arango/blob/main/LICENSE)
79
79
  [![Code style: black](https://img.shields.io/static/v1?style=for-the-badge&label=code%20style&message=black&color=black)](https://github.com/psf/black)
80
80
  [![Downloads](https://img.shields.io/pepy/dt/python-arango?style=for-the-badge&color=282661
81
81
  )](https://pepy.tech/project/python-arango)
@@ -4,12 +4,12 @@
4
4
  [![CodeQL](https://github.com/arangodb/python-arango/actions/workflows/codeql.yaml/badge.svg)](https://github.com/arangodb/python-arango/actions/workflows/codeql.yaml)
5
5
  [![Docs](https://github.com/arangodb/python-arango/actions/workflows/docs.yaml/badge.svg)](https://github.com/arangodb/python-arango/actions/workflows/docs.yaml)
6
6
  [![Coverage Status](https://codecov.io/gh/arangodb/python-arango/branch/main/graph/badge.svg?token=M8zrjrzsUY)](https://codecov.io/gh/arangodb/python-arango)
7
- [![Last commit](https://img.shields.io/github/last-commit/arangodb/python-arango)](https://github.com/arangodb/python-arango/commits/master)
7
+ [![Last commit](https://img.shields.io/github/last-commit/arangodb/python-arango)](https://github.com/arangodb/python-arango/commits/main)
8
8
 
9
9
  [![PyPI version badge](https://img.shields.io/pypi/v/python-arango?color=3775A9&style=for-the-badge&logo=pypi&logoColor=FFD43B)](https://pypi.org/project/python-arango/)
10
10
  [![Python versions badge](https://img.shields.io/badge/3.8%2B-3776AB?style=for-the-badge&logo=python&logoColor=FFD43B&label=Python)](https://pypi.org/project/python-arango/)
11
11
 
12
- [![License](https://img.shields.io/github/license/arangodb/python-arango?color=9E2165&style=for-the-badge)](https://github.com/arangodb/python-arango/blob/master/LICENSE)
12
+ [![License](https://img.shields.io/github/license/arangodb/python-arango?color=9E2165&style=for-the-badge)](https://github.com/arangodb/python-arango/blob/main/LICENSE)
13
13
  [![Code style: black](https://img.shields.io/static/v1?style=for-the-badge&label=code%20style&message=black&color=black)](https://github.com/psf/black)
14
14
  [![Downloads](https://img.shields.io/pepy/dt/python-arango?style=for-the-badge&color=282661
15
15
  )](https://pepy.tech/project/python-arango)
@@ -47,6 +47,7 @@ class BaseConnection:
47
47
  request_compression: Optional[RequestCompression] = None,
48
48
  response_compression: Optional[str] = None,
49
49
  ) -> None:
50
+ self._hosts = hosts
50
51
  self._url_prefixes = [f"{host}/_db/{db_name}" for host in hosts]
51
52
  self._host_resolver = host_resolver
52
53
  self._sessions = sessions
@@ -436,7 +436,7 @@ class Database(ApiGroup):
436
436
  instance. Can be called on single servers, Coordinators,
437
437
  and DB-Servers.
438
438
 
439
- :param license: The Base64-encoded license string.
439
+ :param license: The Base64-encoded license string, wrapped in double-quotes.
440
440
  :type license: str
441
441
  :param force: If set to True, the new license will be set even if
442
442
  it expires sooner than the current license.
@@ -1284,8 +1284,9 @@ class Database(ApiGroup):
1284
1284
  :type name: str
1285
1285
  :param users: List of users with access to the new database, where each
1286
1286
  user is a dictionary with fields "username", "password", "active"
1287
- and "extra" (see below for example). If not set, only the admin and
1288
- current user are granted access.
1287
+ and "extra" (see below for example). If not set, the default user root
1288
+ will be used to ensure that the new database will be accessible after
1289
+ it is created.
1289
1290
  :type users: [dict]
1290
1291
  :param replication_factor: Default replication factor for collections
1291
1292
  created in this database. Special values include "satellite" which
@@ -1697,6 +1698,7 @@ class Database(ApiGroup):
1697
1698
  shard_count: Optional[int] = None,
1698
1699
  replication_factor: Optional[int] = None,
1699
1700
  write_concern: Optional[int] = None,
1701
+ satellite_collections: Optional[Sequence[str]] = None,
1700
1702
  ) -> Result[Graph]:
1701
1703
  """Create a new graph.
1702
1704
 
@@ -1721,7 +1723,8 @@ class Database(ApiGroup):
1721
1723
  :param smart_field: Document field used to shard the vertices of the
1722
1724
  graph. To use this, parameter **smart** must be set to True and
1723
1725
  every vertex in the graph must have the smart field. Applies only
1724
- to enterprise version of ArangoDB.
1726
+ to enterprise version of ArangoDB. NOTE: If this field is
1727
+ None and **smart** is True, an Enterprise Graph will be created.
1725
1728
  :type smart_field: str | None
1726
1729
  :param shard_count: Number of shards used for every collection in the
1727
1730
  graph. To use this, parameter **smart** must be set to True and
@@ -1744,6 +1747,12 @@ class Database(ApiGroup):
1744
1747
  parameter cannot be larger than that of **replication_factor**.
1745
1748
  Default value is 1. Used for clusters only.
1746
1749
  :type write_concern: int
1750
+ :param satellite_collections: An array of collection names that is
1751
+ used to create SatelliteCollections for a (Disjoint) SmartGraph
1752
+ using SatelliteCollections (Enterprise Edition only). Each array
1753
+ element must be a string and a valid collection name. The
1754
+ collection type cannot be modified later.
1755
+ :type satellite_collections: [str] | None
1747
1756
  :return: Graph API wrapper.
1748
1757
  :rtype: arango.graph.Graph
1749
1758
  :raise arango.exceptions.GraphCreateError: If create fails.
@@ -1784,6 +1793,8 @@ class Database(ApiGroup):
1784
1793
  data["options"]["replicationFactor"] = replication_factor
1785
1794
  if write_concern is not None: # pragma: no cover
1786
1795
  data["options"]["writeConcern"] = write_concern
1796
+ if satellite_collections is not None: # pragma: no cover
1797
+ data["options"]["satellites"] = satellite_collections
1787
1798
 
1788
1799
  request = Request(method="post", endpoint="/_api/gharial", data=data)
1789
1800
 
@@ -1261,6 +1261,8 @@ def format_graph_properties(body: Json) -> Json:
1261
1261
  }
1262
1262
  if "isSmart" in body:
1263
1263
  result["smart"] = body["isSmart"]
1264
+ if "isDisjoint" in body:
1265
+ result["disjoint"] = body["isDisjoint"]
1264
1266
  if "isSatellite" in body:
1265
1267
  result["is_satellite"] = body["isSatellite"]
1266
1268
  if "smartGraphAttribute" in body:
@@ -120,5 +120,9 @@ def build_filter_conditions(filters: Json) -> str:
120
120
  if not filters:
121
121
  return ""
122
122
 
123
- conditions = [f"doc.`{k}` == {json.dumps(v)}" for k, v in filters.items()]
123
+ conditions = []
124
+ for k, v in filters.items():
125
+ field = k if "." in k else f"`{k}`"
126
+ conditions.append(f"doc.{field} == {json.dumps(v)}")
127
+
124
128
  return "FILTER " + " AND ".join(conditions)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-arango
3
- Version: 8.1.1
3
+ Version: 8.1.3
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>
@@ -70,12 +70,12 @@ Requires-Dist: types-setuptools; extra == "dev"
70
70
  [![CodeQL](https://github.com/arangodb/python-arango/actions/workflows/codeql.yaml/badge.svg)](https://github.com/arangodb/python-arango/actions/workflows/codeql.yaml)
71
71
  [![Docs](https://github.com/arangodb/python-arango/actions/workflows/docs.yaml/badge.svg)](https://github.com/arangodb/python-arango/actions/workflows/docs.yaml)
72
72
  [![Coverage Status](https://codecov.io/gh/arangodb/python-arango/branch/main/graph/badge.svg?token=M8zrjrzsUY)](https://codecov.io/gh/arangodb/python-arango)
73
- [![Last commit](https://img.shields.io/github/last-commit/arangodb/python-arango)](https://github.com/arangodb/python-arango/commits/master)
73
+ [![Last commit](https://img.shields.io/github/last-commit/arangodb/python-arango)](https://github.com/arangodb/python-arango/commits/main)
74
74
 
75
75
  [![PyPI version badge](https://img.shields.io/pypi/v/python-arango?color=3775A9&style=for-the-badge&logo=pypi&logoColor=FFD43B)](https://pypi.org/project/python-arango/)
76
76
  [![Python versions badge](https://img.shields.io/badge/3.8%2B-3776AB?style=for-the-badge&logo=python&logoColor=FFD43B&label=Python)](https://pypi.org/project/python-arango/)
77
77
 
78
- [![License](https://img.shields.io/github/license/arangodb/python-arango?color=9E2165&style=for-the-badge)](https://github.com/arangodb/python-arango/blob/master/LICENSE)
78
+ [![License](https://img.shields.io/github/license/arangodb/python-arango?color=9E2165&style=for-the-badge)](https://github.com/arangodb/python-arango/blob/main/LICENSE)
79
79
  [![Code style: black](https://img.shields.io/static/v1?style=for-the-badge&label=code%20style&message=black&color=black)](https://github.com/psf/black)
80
80
  [![Downloads](https://img.shields.io/pepy/dt/python-arango?style=for-the-badge&color=282661
81
81
  )](https://pepy.tech/project/python-arango)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes