Limitations

xlwings Lite is based on Pyodide, and comes with the following limitations:

  • The Python version, as well as the version of packages that are specifically built for Pyodide (e.g., pandas) can’t be chosen freely but are dictated by the Pyodide distribution.

  • Packages that depend on the multiprocessing or threading modules aren’t currently supported.

  • Some packages may need to be built specifically for Pyodide if they aren’t available yet and if they aren’t pure Python packages, see Creating a Pyodide package. For a list of “complex” packages that are available for Pyodide, see Packages built in Pyodide.

  • Web APIs: Often, you’ll run into CORS issues as the server needs to explicitly allow access via headers. GitHub works though so you can access files from there. Otherwise, you could use a CORS proxy (preferably owned by you) to work around this issue if you have no control over the web server, see Web API Requests

  • TCP/IP connections: TCP/IP connections aren’t supported, which means that you can’t directly connect to databases like PostgreSQL. SQLite, however, is supported, see Databases.

  • Pyodide currently has a memory limit of 2GB.

  • There is currently no debugger.

See the Pyodide docs for further details.