Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Figure out what do to about abandonware async arango clients #163

Closed
MrCreosote opened this issue Mar 2, 2023 · 3 comments · Fixed by #547
Closed

Figure out what do to about abandonware async arango clients #163

MrCreosote opened this issue Mar 2, 2023 · 3 comments · Fixed by #547

Comments

@MrCreosote
Copy link
Member

MrCreosote commented Mar 2, 2023

We're currently using https://github.com/mirrorrim/aioarango for ArangoDB comms, but that repo hasn't been updated in almost 2 years. Questions about that are going unanswered: mirrorrim/aioarango#3 mirrorrim/aioarango#5
The main client repo has no plans to support async/await: arangodb/python-arango#95
The only other async lib I can find also appears to be abandonware: https://github.com/getflaps/aioarangodb

The whole service is structured around async/await and undoing that would be painful and also probably lead to a performance hit on longer queries.

Currently it's not causing any problems, but some library dependencies are locked to specific major versions and so we won't be able to update those packages once they do a major release:

aioarango==1.0.0
  - httpx [required: >=0.18.2,<0.19.0, installed: 0.18.2]
    - certifi [required: Any, installed: 2022.12.7]
    - httpcore [required: >=0.13.3,<0.14.0, installed: 0.13.7]
      - anyio [required: ==3.*, installed: 3.6.2]
        - idna [required: >=2.8, installed: 3.4]
        - sniffio [required: >=1.1, installed: 1.3.0]
      - h11 [required: >=0.11,<0.13, installed: 0.12.0]
      - sniffio [required: ==1.*, installed: 1.3.0]
    - rfc3986 [required: >=1.3,<2, installed: 1.5.0]
    - sniffio [required: Any, installed: 1.3.0]
  - PyJWT [required: >=2.1.0,<3.0.0, installed: 2.6.0]
  - requests-toolbelt [required: >=0.9.1,<0.10.0, installed: 0.9.1]
    - requests [required: >=2.0.1,<3.0.0, installed: 2.28.2]
      - certifi [required: >=2017.4.17, installed: 2022.12.7]
      - charset-normalizer [required: >=2,<4, installed: 2.1.1]
      - idna [required: >=2.5,<4, installed: 3.4]
      - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.14]

For example, httpx is now on version 0.23.3 (mirrorrim/aioarango#7)

@MrCreosote
Copy link
Member Author

I suppose on the dependency front we could go back to pip... meh

@MrCreosote
Copy link
Member Author

another nasty option would be to pull out the code we need from aioarango (which is probably a relatively small subset) into this repo. Then we can set the dependency levels to whatever we want & update code as necessary to make them work.

@MrCreosote
Copy link
Member Author

We currently can't update to urllib3 because aioarango requires requests-toolblet < 0.10.0, and anything < 1.0.0 is not compatible with urllib3 >= 2.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant