import micropip
URL = (
    # "https://anaconda.org/scikit-plots-wheels-staging-nightly/scikit-plots/{v}/download/"
    "https://pypi.anaconda.org/scikit-plots-wheels-staging-nightly/simple/scikit-plots/{v}/"
    "scikit_plots-{v}-cp312-cp312-pyodide_2024_0_wasm32.whl"
)
candidates = ["0.5.dev0", "0.4.0.post10"]
for v in candidates:
    try:
        await micropip.install(URL.format(v=v), keep_going=True)
        break  # success -> stop trying
    except Exception as e:
        print(f"install failed for {v}: {e}")
else:
    # runs only if the loop never hit 'break' (i.e., all installs failed)
    await micropip.install("scikit-plots==0.3.9rc3", keep_going=True)
import scikitplot as sp
print("scikit-plots version:", sp.__version__)
sp.show_versions()


import micropip
async def install_first_working(*items, fallback=None, **kwargs):
    last_err = None
    for item in items:
        try:
            await micropip.install(item, **kwargs)
            return item
        except Exception as e:
            last_err = e
            print(f"install failed for {item}: {e}")
    if fallback is not None:
        await micropip.install(fallback, **kwargs)
        return fallback
    raise last_err
URL = (
    # "https://anaconda.org/scikit-plots-wheels-staging-nightly/scikit-plots/{v}/download/"
    "https://pypi.anaconda.org/scikit-plots-wheels-staging-nightly/simple/scikit-plots/{v}/"
    "scikit_plots-{v}-cp312-cp312-pyodide_2024_0_wasm32.whl"
)
await install_first_working(
    URL.format(v="0.5.dev0"),
    URL.format(v="0.4.0.post10"),
    fallback="scikit-plots==0.3.9rc3",
    keep_going=True,
)
import scikitplot as sp
print("scikit-plots version:", sp.__version__)
sp.show_versions()
