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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file ipypandas-0.1.0.tar.gz.

File metadata

  • Download URL: ipypandas-0.1.0.tar.gz
  • Upload date:
  • Size: 9.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for ipypandas-0.1.0.tar.gz
Algorithm Hash digest
SHA256 66e184e82a42c1be2e84791e013e391de3a8431476552df6b7d2c15cbdac4859
MD5 95fc7b4b19f1a060af02e18ca72ca161
BLAKE2b-256 d89b59039315d5bb20cddf3113d6c6a8b170c9fcb64d5d2105c10c07ceaf35df

See more details on using hashes here.

File details

Details for the file ipypandas-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ipypandas-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 524.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for ipypandas-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 67ca899987130f58d26f8d897fdf7f75876c4edc64e9fdc9f606898dab85006a
MD5 8545bf0731167c92e5c0ede1e3ee978c
BLAKE2b-256 c09a4b536e84a8a5cd7a1caa9be78bc260a28d7d8eff5944c9afc0a203005d94

See more details on using hashes here.

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