Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
pyscript
Try PyScript: https://pyscript.com Examples: https://tinyurl.com/pyscript-examples Community: https://discord.gg/HxvBtukrg2
-
pyodide-http
Provides patches for widely used http libraries to make them work in Pyodide environments like JupyterLite
Oh wow, thanks for this story! Would love to hear more if you have time :) Good luck with testing it out.
Note that we found an issue w/ emitting an InsecureRequestWarning by default. The request is perfectly secure, it's just we aren't telling the ConnectionPool that information (see: https://github.com/urllib3/urllib3/issues/3331)
Browsers limit the ability for these platforms to use raw sockets, there simply is no API for it. The best that can be done /today/ is to use WebSockets, which are not the same thing any can't be used for HTTP requests without the server expecting a WebSocket connection:
https://github.com/emscripten-core/emscripten/issues/5196#is...
PyScript maintainer here - I'd love to hear more about this application! Either here, or over on our Discord (invite link is on the GitHub Page [1]).
[1] https://github.com/pyscript/pyscript?tab=readme-ov-file#summ...
This a a great example of good work getting 'upstreamed.' The go-to solution for using requests and urllib3 in the browser had been Koen Vossen's 'pyodide-http' package, which you'd install in PyScript/Pyodide and then call 'pyodide_http.patch_all()`. It monkey-patched requests and urllib3 to use the browser API's. [1]
Then 'pyodide-http' got adopted into the Pyodide-included packages[2], so you didn't have to specify it for install, just import it and run patch_all().
And now a similar technique has been incorporated directly into urllib3. (Not a direct port - as far as I know Joe Marshall did a full reimplementation so that urllib3's API's would be maintained as much as possible). [2]
Very cool.
[1] https://github.com/koenvo/pyodide-http
Work keeping an eye on Chris Laffra's work in this area - he did a Python in Excel demo [1] a few months back, and while sheets aren't in his ltk framework [2] yet, the work he's done on reactivity-in-python-on-the-web there is really promising.
[1] https://github.com/laffra/excel-in-python