Interactive features for the python data analysis library pandas in jupyter.
Project description
ipypandas
[!NOTE] ❗ PROOF OF CONCEPT, WORK IN PROGRESS ❗
Interactive features for the python data analysis library pandas in jupyter.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66e184e82a42c1be2e84791e013e391de3a8431476552df6b7d2c15cbdac4859 |
|
MD5 | 95fc7b4b19f1a060af02e18ca72ca161 |
|
BLAKE2b-256 | d89b59039315d5bb20cddf3113d6c6a8b170c9fcb64d5d2105c10c07ceaf35df |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67ca899987130f58d26f8d897fdf7f75876c4edc64e9fdc9f606898dab85006a |
|
MD5 | 8545bf0731167c92e5c0ede1e3ee978c |
|
BLAKE2b-256 | c09a4b536e84a8a5cd7a1caa9be78bc260a28d7d8eff5944c9afc0a203005d94 |