python-arango-async 0.0.4__tar.gz → 0.0.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.
Files changed (96) hide show
  1. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/PKG-INFO +2 -2
  2. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/README.md +1 -1
  3. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/aql.py +4 -4
  4. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/collection.py +6 -7
  5. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/database.py +717 -3
  6. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/exceptions.py +44 -0
  7. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/response.py +15 -1
  8. python_arango_async-0.0.5/arangoasync/version.py +1 -0
  9. python_arango_async-0.0.5/docs/analyzer.rst +39 -0
  10. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/document.rst +50 -0
  11. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/index.rst +2 -0
  12. python_arango_async-0.0.5/docs/view.rst +69 -0
  13. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/python_arango_async.egg-info/PKG-INFO +2 -2
  14. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/python_arango_async.egg-info/SOURCES.txt +4 -0
  15. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/starter.sh +1 -1
  16. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/helpers.py +18 -0
  17. python_arango_async-0.0.5/tests/test_analyzer.py +91 -0
  18. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_document.py +48 -0
  19. python_arango_async-0.0.5/tests/test_view.py +137 -0
  20. python_arango_async-0.0.4/arangoasync/version.py +0 -1
  21. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/.circleci/config.yml +0 -0
  22. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/.github/workflows/codeql.yaml +0 -0
  23. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/.github/workflows/docs.yaml +0 -0
  24. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/.github/workflows/pypi.yaml +0 -0
  25. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/.gitignore +0 -0
  26. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/.pre-commit-config.yaml +0 -0
  27. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/.readthedocs.yaml +0 -0
  28. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/CONTRIBUTING.md +0 -0
  29. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/LICENSE +0 -0
  30. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/__init__.py +0 -0
  31. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/auth.py +0 -0
  32. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/client.py +0 -0
  33. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/compression.py +0 -0
  34. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/connection.py +0 -0
  35. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/cursor.py +0 -0
  36. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/errno.py +0 -0
  37. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/executor.py +0 -0
  38. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/graph.py +0 -0
  39. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/http.py +0 -0
  40. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/job.py +0 -0
  41. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/logger.py +0 -0
  42. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/request.py +0 -0
  43. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/resolver.py +0 -0
  44. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/result.py +0 -0
  45. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/serialization.py +0 -0
  46. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/arangoasync/typings.py +0 -0
  47. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/aql.rst +0 -0
  48. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/async.rst +0 -0
  49. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/authentication.rst +0 -0
  50. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/certificates.rst +0 -0
  51. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/collection.rst +0 -0
  52. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/compression.rst +0 -0
  53. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/conf.py +0 -0
  54. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/cursor.rst +0 -0
  55. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/database.rst +0 -0
  56. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/errno.rst +0 -0
  57. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/errors.rst +0 -0
  58. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/graph.rst +0 -0
  59. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/helpers.rst +0 -0
  60. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/http.rst +0 -0
  61. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/indexes.rst +0 -0
  62. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/logging.rst +0 -0
  63. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/migration.rst +0 -0
  64. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/overview.rst +0 -0
  65. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/serialization.rst +0 -0
  66. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/specs.rst +0 -0
  67. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/static/logo.png +0 -0
  68. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/transaction.rst +0 -0
  69. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/docs/user.rst +0 -0
  70. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/pyproject.toml +0 -0
  71. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/python_arango_async.egg-info/dependency_links.txt +0 -0
  72. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/python_arango_async.egg-info/requires.txt +0 -0
  73. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/python_arango_async.egg-info/top_level.txt +0 -0
  74. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/setup.cfg +0 -0
  75. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/setup.py +0 -0
  76. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/__init__.py +0 -0
  77. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/conftest.py +0 -0
  78. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/static/cluster-3.11.conf +0 -0
  79. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/static/cluster-3.12.conf +0 -0
  80. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/static/keyfile +0 -0
  81. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/static/single-3.11.conf +0 -0
  82. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/static/single-3.12.conf +0 -0
  83. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_aql.py +0 -0
  84. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_async.py +0 -0
  85. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_client.py +0 -0
  86. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_collection.py +0 -0
  87. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_compression.py +0 -0
  88. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_connection.py +0 -0
  89. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_cursor.py +0 -0
  90. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_database.py +0 -0
  91. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_graph.py +0 -0
  92. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_http.py +0 -0
  93. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_resolver.py +0 -0
  94. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_transaction.py +0 -0
  95. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_typings.py +0 -0
  96. {python_arango_async-0.0.4 → python_arango_async-0.0.5}/tests/test_user.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-arango-async
3
- Version: 0.0.4
3
+ Version: 0.0.5
4
4
  Summary: Async Python Driver for ArangoDB
5
5
  Author-email: Alexandru Petenchea <alexandru.petenchea@arangodb.com>, Anthony Mahanna <anthony.mahanna@arangodb.com>
6
6
  Maintainer-email: Alexandru Petenchea <alexandru.petenchea@arangodb.com>, Anthony Mahanna <anthony.mahanna@arangodb.com>
@@ -39,7 +39,7 @@ Requires-Dist: sphinx_rtd_theme>=2.0; extra == "dev"
39
39
  Requires-Dist: types-setuptools; extra == "dev"
40
40
  Dynamic: license-file
41
41
 
42
- ![Logo](docs/static/logo.png)
42
+ ![Logo](https://raw.githubusercontent.com/arangodb/python-arango-async/refs/heads/main/docs/static/logo.png)
43
43
 
44
44
  [![CircleCI](https://dl.circleci.com/status-badge/img/gh/arangodb/python-arango-async/tree/main.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/arangodb/python-arango-async/tree/main)
45
45
  [![CodeQL](https://github.com/arangodb/python-arango-async/actions/workflows/codeql.yaml/badge.svg)](https://github.com/arangodb/python-arango-async/actions/workflows/codeql.yaml)
@@ -1,4 +1,4 @@
1
- ![Logo](docs/static/logo.png)
1
+ ![Logo](https://raw.githubusercontent.com/arangodb/python-arango-async/refs/heads/main/docs/static/logo.png)
2
2
 
3
3
  [![CircleCI](https://dl.circleci.com/status-badge/img/gh/arangodb/python-arango-async/tree/main.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/arangodb/python-arango-async/tree/main)
4
4
  [![CodeQL](https://github.com/arangodb/python-arango-async/actions/workflows/codeql.yaml/badge.svg)](https://github.com/arangodb/python-arango-async/actions/workflows/codeql.yaml)
@@ -597,7 +597,7 @@ class AQL:
597
597
  def response_handler(resp: Response) -> Json:
598
598
  if not resp.is_success:
599
599
  raise AQLQueryExplainError(resp, request)
600
- return self.deserializer.loads(resp.raw_body)
600
+ return Response.format_body(self.deserializer.loads(resp.raw_body))
601
601
 
602
602
  return await self._executor.execute(request, response_handler)
603
603
 
@@ -625,7 +625,7 @@ class AQL:
625
625
  def response_handler(resp: Response) -> Json:
626
626
  if not resp.is_success:
627
627
  raise AQLQueryValidateError(resp, request)
628
- return self.deserializer.loads(resp.raw_body)
628
+ return Response.format_body(self.deserializer.loads(resp.raw_body))
629
629
 
630
630
  return await self._executor.execute(request, response_handler)
631
631
 
@@ -719,7 +719,7 @@ class AQL:
719
719
  def response_handler(resp: Response) -> Json:
720
720
  if not resp.is_success:
721
721
  raise AQLFunctionCreateError(resp, request)
722
- return self.deserializer.loads(resp.raw_body)
722
+ return Response.format_body(self.deserializer.loads(resp.raw_body))
723
723
 
724
724
  return await self._executor.execute(request, response_handler)
725
725
 
@@ -760,6 +760,6 @@ class AQL:
760
760
  if not resp.is_success:
761
761
  if not (resp.status_code == HTTP_NOT_FOUND and ignore_missing):
762
762
  raise AQLFunctionDeleteError(resp, request)
763
- return self.deserializer.loads(resp.raw_body)
763
+ return Response.format_body(self.deserializer.loads(resp.raw_body))
764
764
 
765
765
  return await self._executor.execute(request, response_handler)
@@ -1653,7 +1653,7 @@ class StandardCollection(Collection[T, U, V]):
1653
1653
 
1654
1654
  async def delete(
1655
1655
  self,
1656
- document: T,
1656
+ document: str | T,
1657
1657
  ignore_revs: Optional[bool] = None,
1658
1658
  ignore_missing: bool = False,
1659
1659
  wait_for_sync: Optional[bool] = None,
@@ -1665,7 +1665,7 @@ class StandardCollection(Collection[T, U, V]):
1665
1665
  """Delete a document.
1666
1666
 
1667
1667
  Args:
1668
- document (dict): Document ID, key or body. The body must contain the
1668
+ document (str | dict): Document ID, key or body. The body must contain the
1669
1669
  "_key" or "_id" field.
1670
1670
  ignore_revs (bool | None): If set to `True`, the `_rev` attribute in the
1671
1671
  document is ignored. If this is set to `False`, then the `_rev`
@@ -1697,6 +1697,8 @@ class StandardCollection(Collection[T, U, V]):
1697
1697
  References:
1698
1698
  - `remove-a-document <https://docs.arangodb.com/stable/develop/http-api/documents/#remove-a-document>`__
1699
1699
  """ # noqa: E501
1700
+ handle = self._get_doc_id(cast(str | Json, document))
1701
+
1700
1702
  params: Params = {}
1701
1703
  if ignore_revs is not None:
1702
1704
  params["ignoreRevs"] = ignore_revs
@@ -1715,7 +1717,7 @@ class StandardCollection(Collection[T, U, V]):
1715
1717
 
1716
1718
  request = Request(
1717
1719
  method=Method.DELETE,
1718
- endpoint=f"/_api/document/{self._extract_id(cast(Json, document))}",
1720
+ endpoint=f"/_api/document/{handle}",
1719
1721
  params=params,
1720
1722
  headers=headers,
1721
1723
  )
@@ -2590,10 +2592,7 @@ class EdgeCollection(Collection[T, U, V]):
2590
2592
  def response_handler(resp: Response) -> Json:
2591
2593
  if not resp.is_success:
2592
2594
  raise EdgeListError(resp, request)
2593
- body = self.deserializer.loads(resp.raw_body)
2594
- for key in ("error", "code"):
2595
- body.pop(key)
2596
- return body
2595
+ return Response.format_body(self.deserializer.loads(resp.raw_body))
2597
2596
 
2598
2597
  return await self._executor.execute(request, response_handler)
2599
2598