lite: install typing-extensions to avoid capping fastapi versions (#6036)

* install typing-extensions

* add changeset

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
This commit is contained in:
Freddy Boulton 2023-10-20 10:53:12 -04:00 committed by GitHub
parent 6119d29a6a
commit f2cd6cb7f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -0,0 +1,5 @@
---
"@gradio/wasm": minor
---
feat:lite: install typing-extensions to avoid capping fastapi versions

View File

@ -89,9 +89,9 @@ async function loadPyodideAndPackages(
await micropip.add_mock_package("ffmpy", "0.3.0");
await micropip.add_mock_package("aiohttp", "3.8.4");
await pyodide.loadPackage(["ssl", "distutils", "setuptools"]);
await micropip.install(["typing-extensions>=4.8.0"]); // Typing extensions needs to be installed first otherwise the versions from the pyodide lockfile is used which is incompatible with the latest fastapi.
await micropip.install(["markdown-it-py[linkify]~=2.2.0"]); // On 3rd June 2023, markdown-it-py 3.0.0 has been released. The `gradio` package depends on its `>=2.0.0` version so its 3.x will be resolved. However, it conflicts with `mdit-py-plugins`'s dependency `markdown-it-py >=1.0.0,<3.0.0` and micropip currently can't resolve it. So we explicitly install the compatible version of the library here.
await micropip.install(["anyio==3.*"]); // `fastapi` depends on `anyio>=3.4.0,<5` so its 4.* can be installed, but it conflicts with the anyio version `httpx` depends on, `==3.*`. Seems like micropip can't resolve it for now, so we explicitly install the compatible version of the library here.
await micropip.install(["fastapi<0.104.0"]); // XXX: Workaround for #5986.
await micropip.install.callKwargs(gradioWheelUrls, {
keep_going: true
});