├── .github ├── dependabot.yml └── workflows │ ├── publish.yml │ ├── release.yml │ ├── static.yml │ └── test.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .python-version ├── CHANGELOG.md ├── LICENSE ├── Makefile ├── README.md ├── pyproject.toml ├── scripts ├── benchmark.py ├── run_arrow_wide.py └── run_builtin_wide.py ├── src └── textual_fastdatatable │ ├── __init__.py │ ├── __main__.py │ ├── backend.py │ ├── column.py │ ├── data_table.py │ ├── format.py │ └── py.typed ├── stubs └── pyarrow │ ├── __init__.pyi │ ├── compute.pyi │ ├── dataset.pyi │ ├── fs.pyi │ ├── lib.pyi │ ├── parquet.pyi │ └── types.pyi ├── tests ├── conftest.py ├── data │ ├── lap_times_100.parquet │ ├── lap_times_1000.parquet │ ├── lap_times_10000.parquet │ ├── lap_times_100000.parquet │ ├── lap_times_538121.parquet │ ├── wide_10000.parquet │ └── wide_100000.parquet ├── snapshot_tests │ ├── LICENSE │ ├── __snapshots__ │ │ └── test_snapshots.ambr │ ├── _snapshots_backup │ │ └── test_snapshots.ambr │ ├── snapshot_apps │ │ ├── auto-table.py │ │ ├── data_table.py │ │ ├── data_table_add_column.py │ │ ├── data_table_add_row_auto_height.py │ │ ├── data_table_column_cursor.py │ │ ├── data_table_max_width.py │ │ ├── data_table_no_render_markup.py │ │ ├── data_table_null_mixed_cols.py │ │ ├── data_table_range_cursor.py │ │ ├── data_table_remove_row.py │ │ ├── data_table_row_cursor.py │ │ ├── data_table_row_labels.py │ │ ├── data_table_sort.py │ │ ├── data_table_style_order.py │ │ ├── datatable_hot_reloading.py │ │ ├── datatable_hot_reloading.tcss │ │ ├── empty.py │ │ ├── empty_add_col.py │ │ ├── from_parquet.py │ │ ├── from_pydict_with_col_labels.py │ │ ├── from_records.py │ │ ├── no_rows.py │ │ └── no_rows_empty_sequence.py │ └── test_snapshots.py └── unit_tests │ ├── test_arrow_backend.py │ ├── test_backends.py │ └── test_create_backend.py └── uv.lock /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/static.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/.github/workflows/static.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.9.20 -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/README.md -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/pyproject.toml -------------------------------------------------------------------------------- /scripts/benchmark.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/scripts/benchmark.py -------------------------------------------------------------------------------- /scripts/run_arrow_wide.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/scripts/run_arrow_wide.py -------------------------------------------------------------------------------- /scripts/run_builtin_wide.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/scripts/run_builtin_wide.py -------------------------------------------------------------------------------- /src/textual_fastdatatable/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/src/textual_fastdatatable/__init__.py -------------------------------------------------------------------------------- /src/textual_fastdatatable/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/src/textual_fastdatatable/__main__.py -------------------------------------------------------------------------------- /src/textual_fastdatatable/backend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/src/textual_fastdatatable/backend.py -------------------------------------------------------------------------------- /src/textual_fastdatatable/column.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/src/textual_fastdatatable/column.py -------------------------------------------------------------------------------- /src/textual_fastdatatable/data_table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/src/textual_fastdatatable/data_table.py -------------------------------------------------------------------------------- /src/textual_fastdatatable/format.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/src/textual_fastdatatable/format.py -------------------------------------------------------------------------------- /src/textual_fastdatatable/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /stubs/pyarrow/__init__.pyi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/stubs/pyarrow/__init__.pyi -------------------------------------------------------------------------------- /stubs/pyarrow/compute.pyi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/stubs/pyarrow/compute.pyi -------------------------------------------------------------------------------- /stubs/pyarrow/dataset.pyi: -------------------------------------------------------------------------------- 1 | class Partitioning: ... 2 | -------------------------------------------------------------------------------- /stubs/pyarrow/fs.pyi: -------------------------------------------------------------------------------- 1 | class FileSystem: ... 2 | -------------------------------------------------------------------------------- /stubs/pyarrow/lib.pyi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/stubs/pyarrow/lib.pyi -------------------------------------------------------------------------------- /stubs/pyarrow/parquet.pyi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/stubs/pyarrow/parquet.pyi -------------------------------------------------------------------------------- /stubs/pyarrow/types.pyi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/stubs/pyarrow/types.pyi -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/data/lap_times_100.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/data/lap_times_100.parquet -------------------------------------------------------------------------------- /tests/data/lap_times_1000.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/data/lap_times_1000.parquet -------------------------------------------------------------------------------- /tests/data/lap_times_10000.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/data/lap_times_10000.parquet -------------------------------------------------------------------------------- /tests/data/lap_times_100000.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/data/lap_times_100000.parquet -------------------------------------------------------------------------------- /tests/data/lap_times_538121.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/data/lap_times_538121.parquet -------------------------------------------------------------------------------- /tests/data/wide_10000.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/data/wide_10000.parquet -------------------------------------------------------------------------------- /tests/data/wide_100000.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/data/wide_100000.parquet -------------------------------------------------------------------------------- /tests/snapshot_tests/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/LICENSE -------------------------------------------------------------------------------- /tests/snapshot_tests/__snapshots__/test_snapshots.ambr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/__snapshots__/test_snapshots.ambr -------------------------------------------------------------------------------- /tests/snapshot_tests/_snapshots_backup/test_snapshots.ambr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/_snapshots_backup/test_snapshots.ambr -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/auto-table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/auto-table.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_add_column.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_add_column.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_add_row_auto_height.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_add_row_auto_height.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_column_cursor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_column_cursor.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_max_width.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_max_width.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_no_render_markup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_no_render_markup.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_null_mixed_cols.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_null_mixed_cols.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_range_cursor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_range_cursor.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_remove_row.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_remove_row.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_row_cursor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_row_cursor.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_row_labels.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_row_labels.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_sort.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_sort.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/data_table_style_order.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/data_table_style_order.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/datatable_hot_reloading.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/datatable_hot_reloading.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/datatable_hot_reloading.tcss: -------------------------------------------------------------------------------- 1 | /* This file is purposefully empty. */ 2 | -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/empty.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/empty.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/empty_add_col.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/empty_add_col.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/from_parquet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/from_parquet.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/from_pydict_with_col_labels.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/from_pydict_with_col_labels.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/from_records.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/from_records.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/no_rows.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/no_rows.py -------------------------------------------------------------------------------- /tests/snapshot_tests/snapshot_apps/no_rows_empty_sequence.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/snapshot_apps/no_rows_empty_sequence.py -------------------------------------------------------------------------------- /tests/snapshot_tests/test_snapshots.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/snapshot_tests/test_snapshots.py -------------------------------------------------------------------------------- /tests/unit_tests/test_arrow_backend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/unit_tests/test_arrow_backend.py -------------------------------------------------------------------------------- /tests/unit_tests/test_backends.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/unit_tests/test_backends.py -------------------------------------------------------------------------------- /tests/unit_tests/test_create_backend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/tests/unit_tests/test_create_backend.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tconbeer/textual-fastdatatable/HEAD/uv.lock --------------------------------------------------------------------------------