# ipyvuetable
Fast and customizable table widget for the Jupyter ecosystem build on [ipyvuetify](https://github.com/widgetti/ipyvuetify) and [Polars](https://github.com/pola-rs/polars).
ipyvuetable can sort, filter, edit large `polars.LazyFrame` in a paginated way.
You can easily customize you table widget, add actions, hide columns, add special visualisation for some columns and benefit from all the ipyvuetify customization
```python
from ipyvuetable import EditingTable, Table
import polars as pl
df = (
pl.LazyFrame({
'id': range(6),
'name': ['Tom', 'Joseph', 'Krish', 'John', 'Alice', 'Bod'],
'birthday': ['01-03-1995', '27-01-1999', '24-07-1977', '27-12-1970', '17-07-2005', '19-09-2001'],
'score': [3.5, 4.0, 7.5, 1.0, 6.5, 8.2],
'bool': [True, True, False, True, False, True]
})
.with_columns(pl.col('birthday').str.strptime(pl.Datetime, "%d-%m-%Y"))
)
name_custom_repr = pl.LazyFrame({
'name' : ['Tom', 'Joseph', 'Krish', 'John', 'Alice', 'Bod'],
'name__repr' : ['Tom - 🐬', 'Joseph - 🐟', 'Krish - 🐠 ', 'John - 🦐', 'Alice - 🦞', 'Bob - 🐌']
})
EditingTable(
df = df,
title = 'My table',
show_filters=True,
columns_to_hide = ['id'],
# all ipyvuetify options
show_select = True,
columns_repr = {'name' : name_custom_repr}
)
```

## Installation
Install the latest ipyvuetable version with:
```sh
pip install ipyvuetable
```
Benefit from keyboard events with:
```sh
pip install ipyvuetable[ipyevents]
```
Raw data
{
"_id": null,
"home_page": "https://github.com/gab23r/ipyvuetable",
"name": "ipyvuetable",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Gabriel Robin",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/86/58/bc0a202d9164174bf9f19e81b4f5eaef9924bf693f61777e19a010265f42/ipyvuetable-0.7.16.tar.gz",
"platform": null,
"description": "# ipyvuetable\n\nFast and customizable table widget for the Jupyter ecosystem build on [ipyvuetify](https://github.com/widgetti/ipyvuetify) and [Polars](https://github.com/pola-rs/polars).\n\nipyvuetable can sort, filter, edit large `polars.LazyFrame` in a paginated way. \nYou can easily customize you table widget, add actions, hide columns, add special visualisation for some columns and benefit from all the ipyvuetify customization\n\n```python\nfrom ipyvuetable import EditingTable, Table\nimport polars as pl\ndf = (\n pl.LazyFrame({\n 'id': range(6), \n 'name': ['Tom', 'Joseph', 'Krish', 'John', 'Alice', 'Bod'],\n 'birthday': ['01-03-1995', '27-01-1999', '24-07-1977', '27-12-1970', '17-07-2005', '19-09-2001'],\n 'score': [3.5, 4.0, 7.5, 1.0, 6.5, 8.2],\n 'bool': [True, True, False, True, False, True]\n })\n .with_columns(pl.col('birthday').str.strptime(pl.Datetime, \"%d-%m-%Y\"))\n)\n\nname_custom_repr = pl.LazyFrame({\n 'name' : ['Tom', 'Joseph', 'Krish', 'John', 'Alice', 'Bod'],\n 'name__repr' : ['Tom - \ud83d\udc2c', 'Joseph - \ud83d\udc1f', 'Krish - \ud83d\udc20 ', 'John - \ud83e\udd90', 'Alice - \ud83e\udd9e', 'Bob - \ud83d\udc0c']\n})\n\nEditingTable(\n df = df, \n title = 'My table', \n \n show_filters=True,\n columns_to_hide = ['id'],\n \n # all ipyvuetify options\n show_select = True,\n \n columns_repr = {'name' : name_custom_repr}\n)\n```\n\n\n## Installation\n\nInstall the latest ipyvuetable version with:\n\n```sh\npip install ipyvuetable\n```\n\nBenefit from keyboard events with:\n\n```sh\npip install ipyvuetable[ipyevents]\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Table widget for Jupyter Notebook and JupyterLab",
"version": "0.7.16",
"project_urls": {
"Homepage": "https://github.com/gab23r/ipyvuetable"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8658bc0a202d9164174bf9f19e81b4f5eaef9924bf693f61777e19a010265f42",
"md5": "4b9f260db09edc9eb3cbe034a243b27f",
"sha256": "f97f9f9630800587b9229cb9b67410cf006b5120147b489b86933c852ae18922"
},
"downloads": -1,
"filename": "ipyvuetable-0.7.16.tar.gz",
"has_sig": false,
"md5_digest": "4b9f260db09edc9eb3cbe034a243b27f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 17321,
"upload_time": "2024-09-04T18:51:17",
"upload_time_iso_8601": "2024-09-04T18:51:17.905470Z",
"url": "https://files.pythonhosted.org/packages/86/58/bc0a202d9164174bf9f19e81b4f5eaef9924bf693f61777e19a010265f42/ipyvuetable-0.7.16.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-04 18:51:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gab23r",
"github_project": "ipyvuetable",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "ipyvuetify",
"specs": []
},
{
"name": "polars",
"specs": []
}
],
"lcname": "ipyvuetable"
}