A table data viewer for Python
Project description
tabulous
A table data viewer for Python.
tabulous
is highly inspired by napari in its design and API.
Installation
Install all the dependencies including functionalities of loading sample data, plotting, etc.
pip install tabulous[all]
Install with PyQt backend.
pip install tabulous[pyqt5] # Use PyQt5
pip install tabulous[pyqt6] # Use PyQt6
A Wide Variety of Tables are Supported
Table | SpreadSheet |
---|---|
A dtype-tagged table view with fixed size, aimed at viewing and editing pd.DataFrame . This table is the most basic one. |
A string based table editor. Table is converted into pd.DataFrame object with proper dtypes consistent with reading CSV file using pd.read_csv . |
GroupBy | TableDisplay |
---|---|
A table group that corresponds to the returned object of the groupby method of pd.DataFrame . |
A table viewer that hotly reloads data using provided loader function. Useful for streaming data from other softwares. |
In-cell Evaluation
Simple Evaluation | Referenced Evaluation |
---|---|
Text starts with "=" is evaluated in-place. | Text starts with "&=" is evaluated with cell references and is updated every time table data is updated. |
Rich Visualization
Cell colors | Highlighting |
---|---|
Colormap defines text or background color based on the value. | Highlight is colored overlays. |
Data Validation
Data type validation | Custom validation |
---|---|
Columns tagged with dtype will validate the input string and raise an error on entering invalid string. | You can also define custom validators for each column, such as confirming non-negative. |
How it works.
from tabulous import open_sample
viewer = open_sample("iris") # open a sample data from seaborn
df = pd.read_csv("data.csv")
viewer.add_table(df) # add table data to viewer
viewer.tables # table list
table = viewer.tables[0] # get table
table.data # get pd.DataFrame object (or other similar one)
# Connect data changed signal
# See examples/03-0_data_changed_signal.py
@table.events.data.connect
def _on_data_change(info):
"""data-changed callback"""
# Connect selection changed signal
# See examples/03-1_selection_changed.py
@table.events.selections.connect
def _on_selection_change(selections):
"""selection-changed callback"""
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
tabulous-0.3.0.tar.gz
(1.5 MB
view details)
Built Distribution
tabulous-0.3.0-py3-none-any.whl
(208.2 kB
view details)
File details
Details for the file tabulous-0.3.0.tar.gz
.
File metadata
- Download URL: tabulous-0.3.0.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.63.0 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | afb52e036be1991c9d155126ec7498adcb96c25e10b6e897d58d5aa7b0365d36 |
|
MD5 | 8dc814c34ca26156c1dd1cec02d696b5 |
|
BLAKE2b-256 | e00d9f7211f5c9f8270693dbb1fb7f8164de0b609d524cce27cf7b0769a1ae1b |
File details
Details for the file tabulous-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: tabulous-0.3.0-py3-none-any.whl
- Upload date:
- Size: 208.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.63.0 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e39a28bab3cda8df45887f0d5ef9f6ef0f1385d721de51ce2cb184dba30c61c |
|
MD5 | 5853e1538d97e05c8b0d1cb51e6ba680 |
|
BLAKE2b-256 | ad678ebf7b91f968ed663047ca09a69233288a99934f9a4d9483271457e213f7 |