Python HTTP library 'urllib3' now works in the browser

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • urllib3

    urllib3 is a user-friendly HTTP client library for Python

  • 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)

  • emscripten

    Emscripten: An LLVM-to-WebAssembly Compiler

  • 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...

  • 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.

    WorkOS logo
  • pyscript

    Try PyScript: https://pyscript.com Examples: https://tinyurl.com/pyscript-examples Community: https://discord.gg/HxvBtukrg2

  • 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...

  • pyodide-http

    Provides patches for widely used http libraries to make them work in Pyodide environments like JupyterLite

  • 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

  • excel-in-python

    A spreadsheet implemented in Python, using PyScript

  • 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

  • AIOHTTP

    Asynchronous HTTP client/server framework for asyncio and Python

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts