This needs cleaned up, type hinted, tested, etc. But what do you think about organizing the code like this @avaldebe? I think it's cleaner to have one fully async internal client that contains all async methods, and then have user-facing functions that use the client under the hood to do the work and wait for it to complete. The client will also handle connection sharing and resource limits.
This needs cleaned up, type hinted, tested, etc. But what do you think about organizing the code like this @avaldebe? I think it's cleaner to have one fully async internal client that contains all async methods, and then have user-facing functions that use the client under the hood to do the work and wait for it to complete. The client will also handle connection sharing and resource limits.
Diff to your branch