ipyvuetable


Nameipyvuetable JSON
Version 0.7.16 PyPI version JSON
download
home_pagehttps://github.com/gab23r/ipyvuetable
SummaryTable widget for Jupyter Notebook and JupyterLab
upload_time2024-09-04 18:51:17
maintainerNone
docs_urlNone
authorGabriel Robin
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements ipyvuetify polars
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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}
)
```
![EditingTable](./static/demoEditingTable.png)

## 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![EditingTable](./static/demoEditingTable.png)\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"
}
        
Elapsed time: 0.52643s