Skip to main content

py-tabulator: Tabulator for Python

Release pypi Build status License License Tabulator

Shiny for Python bindings for Tabulator JS

Features

  • Support for Shiny core and Shiny Express
  • Pagination
  • Filters
  • Editor with undo and redo (History interaction)
  • Grouping
  • Sorting
  • Column calculations
  • Downloads
  • Themes
  • Reactivity

Installation

# Stable
pip install pytabulator

# Dev
pip install git+https://github.com/eodaGmbH/py-tabulator

Docs

Basic usage

Shiny Express:

import pandas as pd
from pytabulator import TableOptions, render_data_frame
from shiny import render
from shiny.express import input, ui

ui.div("Click on row to print name", style="padding: 10px;")


@render.code
async def txt():
    print(input.tabulator_row_clicked())
    return input.tabulator_row_clicked()["Name"]


@render_data_frame(table_options=TableOptions(height=500))
def tabulator():
    return pd.read_csv(
        "https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv"
    )

Shiny core:

# uvicorn docs.examples.getting_started.shiny_core_basic:app

import pandas as pd
from pytabulator import TableOptions, Tabulator, output_tabulator, render_tabulator
from shiny import App, render, ui

app_ui = ui.page_fluid(
    ui.output_text_verbatim("txt", placeholder=True),
    output_tabulator("tabulator"),
)


def server(input, output, session):
    @render_tabulator
    def tabulator():
        df = pd.read_csv(
            "https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv"
        )
        return Tabulator(df, table_options=TableOptions(height=311))

    @render.code
    async def txt():
        print(input.tabulator_row_clicked())
        return str(input.tabulator_row_clicked())


app = App(app_ui, server)

Run detailed example:

shiny run docs/examples/getting_started/shiny_express_all.py

Development

Python

poetry install

poetry run pytest

JavaScript

npm install

npm run prettier

npm run build

Release files for pytabulator 0.2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytabulator 0.2.5
File Size Uploaded
pytabulator-0.2.5.tar.gz 133.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytabulator 0.2.5
File Interpreter ABI Platform
pytabulator-0.2.5-py3-none-any.whl Python 3 none any Details

Total release size: 291.7 kB

Release files / pytabulator-0.2.5.tar.gz

Download URL pytabulator-0.2.5.tar.gz
Size 133.1 kB
Tags Source
SHA-256 checksum
How to use checksums
aa48c27e37cafab004dd0547568c0061385f8b05a4b042e7f371da9857303977
BLAKE2b-256 checksum
How to use checksums
94e1dd28dd0e0121ea40e08a89191b5da0ff8ef833e8969a6fd4ba5dcb45483a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.2 CPython/3.8.10 Linux/5.15.0-116-generic

Release files / pytabulator-0.2.5-py3-none-any.whl

Download URL pytabulator-0.2.5-py3-none-any.whl
Size 158.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59d2c215a4cdc964d1154c631ec5bb246d4d01db25a5c28beb5056dda76d58e7
BLAKE2b-256 checksum
How to use checksums
03e43fa503fb25520228d66eab06040ee5b49dab1ea78a77b48011dd41d0abdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.2 CPython/3.8.10 Linux/5.15.0-116-generic

Release history Release notifications | RSS feed

This release

0.2.5 This release

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page