webpreview
webpreview copied to clipboard
Asyncio Version?
Thank you for all of this great code. It works great. Now I just need to figure out how to make this work in an asyncio environment.
@PythonLinks, I know it's been 2 years since the original question, but could you describe what specific kind of async functionality are you interested in?
- parsing: Since the parsing is done using
BeautifulSouplibrary, that part can't really be optimized for the async purposes. It would still execute without awaiting something as a sync chunk of code. - requests: That can be replaced with
grequestsoraiohttppackage. Which would make the GET request part async. I would personally go withaiohttpas it does not bring binary or other dependencies unlikegrequestsdoes and it's more popular.
That also means that you can already do that yourself, by requesting the contents of the page asynchronously in your own code and then simply supplying it to the web_preview function as a content argument.
If we try to add the async requests functionality, that would need to be installed as an extra with the following syntax:
pip install webpreview[async]
# Or
pip install webpreview[aiohttp]
Hi. Great to hear from you. Have two years of covid isolation already passed us. I got it all working.
Sure I can do it myself, in fact I did get it working myself, but it would be just a bit simpler interface if there were an asyncio api.
@PythonLinks, good point 👍 Having it as an option, when using the library in the async environment, could be a nice addition to the out of the box functionality.