paddymul / buckaroo

Buckaroo - the data wrangling assistant for pandas. Quickly explore dataframes, and run pandas commands via a GUI. Works inside the jupyter notebook.
https://paddymul.github.io/buckaroo/
BSD 3-Clause "New" or "Revised" License
227 stars 9 forks source link

Buckaroo doesn't load in jupyterlite because of psutil #307

Closed paddymul closed 1 month ago

paddymul commented 1 month ago

Checks

What type of jupyter notebook were you using (VSCode notebook, google colab, Jupyter Lab, Jupyter notebook). Select multiple if you can reproduce this in multiple environments. If other, please add to description.

Jupyter Lab

Reproducible example

on https://jupyterlite.readthedocs.io/en/stable/_static/lab/index.html

%pip install buckaroo
import buckaroo

results in

<ipython-input-2-efe8f7dc0cd6>:1: DeprecationWarning: 
Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),
(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)
but was not found to be installed on your system.
If this would cause problems for you,
please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466

  import pandas as pd

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[2], line 2
      1 import pandas as pd
----> 2 import buckaroo

File /lib/python3.12/site-packages/buckaroo/__init__.py:5
      3 from .buckaroo_widget import BuckarooWidget
      4 from .dataflow.widget_extension_utils import DFViewer
----> 5 from .widget_utils import is_in_ipython, enable, disable, determine_jupter_env
      8 def _jupyter_nbextension_paths():
      9     """Called by Jupyter Notebook Server to detect if it is a valid nbextension and
     10     to install the widget
     11     Returns
   (...)
     22         <jupyter path>/nbextensions/<dest> directory
     23     """

File /lib/python3.12/site-packages/buckaroo/widget_utils.py:6
      4 from datetime import datetime as dtdt
      5 import os
----> 6 import psutil
      9 def is_in_ipython():
     11     try:

ModuleNotFoundError: No module named 'psutil'

Issue description

psutil isn't included in the default jupyterlite distribution. buckaroo imports it and causes an error

Expected behavior

Buckaroo should work in jupyterlite

Installed versions

``` latest ```

Jupyter Log output

No response