pyobsplot icon indicating copy to clipboard operation
pyobsplot copied to clipboard

Installing pyobsplot fails in jupyterlite xeus-python kernel

Open martenrichter opened this issue 11 months ago • 8 comments

I have tried to install pyobsplot with jupyter lite and the xeus kernel, and it fails because of the watchfiles dependency. Is it possible to make this dependency optional?

See:

The following packages are incompatible
└─ pyobsplot is not installable because there are no viable options
   ├─ pyobsplot [0.3.7|0.3.8|0.4.0] would require
   │  └─ polars >=0.16.0 , which does not exist (perhaps a missing channel);
   ├─ pyobsplot 0.4.1 would require
   │  └─ pyarrow >=13.0.0,<14.0.0 , which does not exist (perhaps a missing channel);
   ├─ pyobsplot 0.4.2 would require
   │  └─ polars >=0.20.0 , which does not exist (perhaps a missing channel);
   └─ pyobsplot [0.5.0|0.5.1] would require
      └─ watchfiles >=0.18.0 , which does not exist (perhaps a missing channel).

martenrichter avatar Jan 03 '25 10:01 martenrichter

I'm not really familiar with jupyter lite and the xeus kernel. Could you tell me how you are intalling pyobsplot ? Using an environment.yml file ?

juba avatar Jan 06 '25 15:01 juba

Yes with envirnonment.yml : https://github.com/fails-components/jupyterfails/blob/master/environment.yml (if I add you package there it fails). Jupyter lite has only support for a limited number of binary packages. And it is super handy for setups in universities.

martenrichter avatar Jan 06 '25 16:01 martenrichter

Unfortunately I think that the main problem will be the absence of the polars package. If I add it to environment.yml it seems that it is not available.

It may have been possible to avoid the watchfiles dependency, but polars is really needed by pyobsplot...

juba avatar Jan 06 '25 17:01 juba

OK, so it complains only about one random missing package, and Polars is still needed? Polars is a binary package? If so, then it is not as easy as I thought. Sorry...

martenrichter avatar Jan 07 '25 06:01 martenrichter

That's my understanding. It complains about watchfiles for pyobsplot 0.5.x, but I think it would complain about polars if watchfiles was available.

Polars is a package with an interface to a rust codebase, so it must indeed be a binary package.

juba avatar Jan 07 '25 09:01 juba

To my knowledge polars now does support WASM. There are still some hiccups with pyarrow, but polars seems to run fine in many of my WASM marimo notebooks.

koaning avatar Apr 23 '25 15:04 koaning

The typist package causes issues for wasm as well. I created a hack to get around that, and have a happy path rendering in wasm: https://marimo.app/l/hgstox

mscolnick avatar Apr 23 '25 20:04 mscolnick

pyobsplot 0.5.3.2 (just released) should now be installable in jupyterlite or marimo.

juba avatar Apr 24 '25 13:04 juba