-
Notifications
You must be signed in to change notification settings - Fork 84
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
Async support #106
Comments
Hello @ramnes - no, I haven't spent any time thinking about that. It sounds useful as an alternative backend, and if you end up with ideas about how this might look, I'd be happy to work with you on it. As it stands, the test suite for this project is heavily tied to |
Yep, I've seen that you switched to requests recently. That's a missed opportunity because supporting async definitely means using another library. Ideally you want to use a single library for both the sync and async HTTP requests, like encode/httpx. The codebase here is quite small and I've written multiple sync/async HTTP clients already (most notably notion-sdk-py); I could probably tackle this myself someday if you're interested in such a PR. Are you? |
@ramnes Let's come back to this once we've nixed Py2 support. Next major vers., which is cooking slowly. |
What's the roadmap exactly? I could bring Python 3 idiomatic features as well if you wish. Is there anything in particular that you want to achieve before? |
Hello. I will support this issue. i want to see async support for this library. I have been using it for many years and in connection with the transfer of projects to the asynchronous stack it would be very appreciated |
I've forked the repo and re-implemented it with I've rewritten the tests to Install pip install https://github.com/Kylmakalle/mixpanel-python-asyncio/archive/1.0.0.zip Code from mixpanel_asyncio import Mixpanel
mp = Mixpanel(YOUR_TOKEN)
# tracks an event with certain properties
await mp.track(DISTINCT_ID, 'button clicked', {'color' : 'blue', 'size': 'large'})
# sends an update to a user profile
await mp.people_set(DISTINCT_ID, {'$first_name' : 'Ilya', 'favorite pizza': 'margherita'}) |
I believe this is an important improvement. Since This can impact frameworks such as FastAPI (or other asyncio based http frameworks). Blocking the event loop would make it so that the worker might not be able to process a request. |
Can we have an official async library for mixpanel? This would be very helpful |
3 years and still not progress. Wow! This is an impossible task for such company? Synchronous library is like using dial-up.. |
@DimaDDM you should see amazon, lol boto/botocore#458 |
Hey there, thanks for the neat library.
Do you have any plan to support native async features of Python?
e.g.:
The text was updated successfully, but these errors were encountered: