Skip to main content

Interactive features for the python data analysis library pandas in jupyter.

Project description

ipypandas

Build Release NPM PyPI

[!NOTE] ❗ PROOF OF CONCEPT, WORK IN PROGRESS ❗

Interactive features for the python data analysis library pandas in jupyter.

Demo

Pandas dataframes are rendered via ipypandas, which enables these interactive features (fully server side):

  • Lazy loading
  • Sort columns
  • Resize columns
  • Reorder columns
  • Search values
  • Filter values

The rendering has been tested for the following development environments (full theme support):

  • JupyterLab
  • JupyterNotebook
  • Visual Studio Code
  • PyCharm Professional

Installation

To get started with ipypandas, install it via pip:

pip install ipypandas

Usage

Importing ipypandas will enable the interactive pandas output globally:

import pandas as pd
...
import ipypandas

More information can be found on the documentation page.

Development

Create a dev environment:

mamba create -n ipypandas python=3.12 jupyterlab=4.0 nodejs=20.5
mamba activate ipypandas

Install python module and build typescript dependencies:

pip install -e .[dev]

While developing you need to manually enable your extensions with the frontend. For JupyterLab, this is done by the command:

jupyter labextension develop --overwrite .

Typescript

If you use JupyterLab to develop then you can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the widget.

jlpm clean && jlpm install && jlpm build && jlpm watch

After a change wait for the build to finish and then refresh your browser and the changes should take effect.

Python

If you make changes to the python code then you will need to restart the notebook kernel to have it take effect.

Commands

Some commands which may be useful for development.

Install

jlpm clean && jlpm install && jlpm build
pip uninstall ipypandas && pip install -e .[dev]

Register

jupyter lab clean
jupyter labextension list
jupyter labextension develop --overwrite .

Examples

jupyter lab ./examples

Documentation

cd docs
make html

Versioning

tbump 0.1.x

Credits

Based on the cookiecutter template from jupyter-widgets.

License license

BSD-3-Clause

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipypandas-0.1.0.tar.gz (9.2 MB view hashes)

Uploaded Source

Built Distribution

ipypandas-0.1.0-py3-none-any.whl (524.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page