You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A much-heavier-duty version of this might try to use micropip, depfinder and/or conda-lock (which bundles poetry) to do this in a browserless, nodejs-less command line setting, but interactive-first is never the wrongest way to go.
The text was updated successfully, but these errors were encountered:
Yes, I confirm this functionality would be very useful to smooth the difference between notebooks with in-brower and out of browser kernels.
For instance, with the deployment of Jupyterlite in the scikit-learn example gallery (dev deployment only for now), it's a bit confusing to users why some packages can be just imported and others need to be pip installed first.
inject the packages needed to get up to pyodide-kernel
Do you mean copy the packages from wherever they are into the deployed site? For reproducibility yes, that would be good.
However, there is also a use case in the other direction where you want to add more PyPI packages to the pyodide-lock.json (pointing to the remote URLs where they are) without actually copying those files locally. For instance, scikit-learn deploys docs into a Github repo (that gets then deployed via Github Pages) and they don't realistically want to push 10+MB of packages there.
Problem
At present, it is hard to calculate the exact package versions and URLs needed to build a reproducible site.
Proposed Solution
Given a kernel session has installed a couple packages, offer something like
piplite.freeze
which would:micripip.freeze
galpy
andscipy
, but some will)pyodide-kernel
repodata.json
that can be dropped into{lite_dir}/pypi/repodata.json
import foo
without having to%pip install foo
Additional context
A much-heavier-duty version of this might try to use
micropip
,depfinder
and/orconda-lock
(which bundles poetry) to do this in a browserless, nodejs-less command line setting, but interactive-first is never the wrongest way to go.The text was updated successfully, but these errors were encountered: