firebase-admin-python icon indicating copy to clipboard operation
firebase-admin-python copied to clipboard

[FR] Add Support for Pyodide by providing a wheel with binaries built for Emscripten.

Open kiebak3r opened this issue 1 year ago • 2 comments

Is your feature request related to a problem? Please describe. When using the Library Flet, It uses Pyodide to create static web pages using WASM. https://flet.dev/docs/guides/python/packaging-app-for-distribution#flet-build-web image

Currently i cannot use firebase-admin

Describe the solution you'd like I would like the .whl to include binaries built for Emscripten so it can be compatible with pyodide (WASM)

Describe alternatives you've considered Currently the only work around is to use SQLite3 which is far from ideal as firebase is elite.

kiebak3r avatar Feb 18 '24 11:02 kiebak3r

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

google-oss-bot avatar Feb 18 '24 11:02 google-oss-bot

Seems to be an issue with install dependencies not having a python wheel "google-crc32c"

Uncaught (in promise) PythonError: Traceback (most recent call last): File "/lib/python311.zip/_pyodide/_base.py", line 573, in eval_code_async await CodeRunner( File "/lib/python311.zip/_pyodide/_base.py", line 395, in run_async await coroutine File "", line 4, in File "/lib/python3.11/site-packages/micropip/_commands/install.py", line 146, in install raise ValueError( ValueError: Can't find a pure Python 3 wheel for: 'google-crc32c<2.0dev,>=1.0', 'grpcio<2.0dev,>=1.49.1; python_version >= "3.11" and extra == "grpc"', 'grpcio<2.0dev,>=1.33.2; extra == "grpc"', 'google-crc32c<2.0dev,>=1.0', 'grpcio>=1.60.1', 'grpcio>=1.60.1' See: https://pyodide.org/en/stable/usage/faq.html#why-can-t-micropip-find-a-pure-python-wheel-for-a-package

at new_error (pyodide.asm.js:9:10014)
at pyodide.asm.wasm:0x158e62
at pyodide.asm.wasm:0x15ff9e
at _PyEM_TrampolineCall_JS (pyodide.asm.js:9:120223)
at pyodide.asm.wasm:0x1a3494
at pyodide.asm.wasm:0x28a2bd
at pyodide.asm.wasm:0x1e431e
at pyodide.asm.wasm:0x1a397d
at pyodide.asm.wasm:0x1a3c3e
at pyodide.asm.wasm:0x1a3ce0
at pyodide.asm.wasm:0x2689a4
at pyodide.asm.wasm:0x26e800
at pyodide.asm.wasm:0x1a3e08
at pyodide.asm.wasm:0x1a3a98
at pyodide.asm.wasm:0x15f76b
at Module.callPyObjectKwargs (pyodide.asm.js:9:64297)
at Module.callPyObject (pyodide.asm.js:9:65365)
at wrapper (pyodide.asm.js:9:32855)

kiebak3r avatar Feb 18 '24 12:02 kiebak3r