adafruit / adafruit/Adafruit_CircuitPython_Requests

[Feature Request] Asynchronous HTTP Requests using asyncio

Open
#134 21 comments 5 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
49
Forks
39
PR merge metrics
No merged PRs in 30d

Description

Hi!
I'm looking for a way using circuit python, or even micro python to do an HTTP request asynchronously so I can keep updating a display or an led strip while I wait for some information to come back.
I'm new to CircuitPython (or MicroPython in general really) but though this would be a great addition to this library.
As mentioned on Discord, it might be some feature enhancement, or some example code using the asyncio library to handle the request correctly.

There might be some caveats (like if executing request in an order, not getting the responses in the same order), but it feels like a good first step anyway, or something people can build upon?

And I know a fork with asyncio support exists, but is very obsolete now (https://github.com/dhalbert/Adafruit_CircuitPython_Requests/tree/async) relying on old data type that I believed got deprecated as part of the circuitpython firmware update, or just general improvements, but maybe there is something there to work from?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the current request implementation and the obsolete async fork linked in the issue, then check how asyncio is supported in CircuitPython and MicroPython. Clarify whether the goal is library support or an example; done should include an agreed asynchronous HTTP approach that supports continuing display or LED updates while waiting.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.