An interactive Python TUI for visualizing, exploring, and analyzing Parquet files directly in your terminal.
Project description
parqv
parqv is a Python-based interactive TUI (Text User Interface) tool designed to explore, analyze, and understand Parquet files directly within your terminal. Forget juggling multiple commands; parqv provides a unified, visual experience.
💻 Demo (Placeholder)
🤔 Why parqv?
- Unified Interface: Launch
parqv <file.parquet>to access metadata, schema, data preview, column statistics, and row group details all within a single, navigable terminal window. No more memorizing different commands. - Interactive Exploration:
- 🖱️ Keyboard & Mouse Driven: Navigate using familiar keys (arrows,
hjkl, Tab) or even your mouse (thanks toTextual). - 📜 Scrollable Views: Easily scroll through large schemas, data tables, or row group lists.
- 🌲 Expandable Schema: Visualize and navigate complex nested structures (Structs, Lists) effortlessly.
- 📊 Dynamic Stats: Select a column and instantly see its detailed statistics and distribution.
- 🖱️ Keyboard & Mouse Driven: Navigate using familiar keys (arrows,
- Enhanced Analysis & Visualization:
- 🎨 Rich Display: Leverages
richandTextualfor colorful, readable tables and syntax-highlighted schema. - 📈 Quick Stats: Go beyond min/max/nulls. See means, medians, quantiles, distinct counts, frequency distributions, and even text-based histograms.
- 🔬 Row Group Deep Dive: Inspect individual row groups to understand compression, encoding, and potential data skew.
- 🎨 Rich Display: Leverages
✨ Features (TUI Mode)
- Interactive TUI: Run
parqv <file.parquet>to launch the main interface. - Metadata Panel: Displays key file information (path, creator, total rows, row groups, compression, etc.).
- Schema Explorer:
- Interactive, collapsible tree view for schemas.
- Clearly shows column names, data types (including nested types), and nullability.
- Syntax highlighting for better readability.
- Data Table Viewer:
- Scrollable table preview of the file's data.
- Handles large files by loading data pages on demand.
- (Planned) Column selection/reordering.
- Row Group Inspector:
- List all row groups with key stats (row count, compressed/uncompressed size).
- Select a row group to view per-column details (encoding, size, stats within the group).
🚀 Getting Started
1. Prerequisites:
- Python: Version 3.10 or higher.
- pip: The Python package installer.
2. Install parqv:
- Open your terminal and run:
pip install parqv
- Updating
parqv:pip install --upgrade parqv
3. Run parqv:
- Point
parqvto your Parquet file:parqv /path/to/your/data.parquet - The interactive TUI will launch. Use your keyboard (and mouse, if supported by your terminal) to navigate:
- Arrow Keys /
h,j,k,l: Move focus within lists, tables, trees. Tab/Shift+Tab: Cycle focus between different panes/widgets.Enter: Select items, expand/collapse tree nodes.- View Switching Keys (Examples - check help):
m(Metadata),s(Schema),d(Data),t(Stats),g(Row Groups). PageUp/PageDown/Home/End: Scroll long lists or tables.?: Show help screen with keybindings.q/Ctrl+C: Quitparqv.
- Arrow Keys /
📄 License
Licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file parqv-0.1.0.tar.gz.
File metadata
- Download URL: parqv-0.1.0.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4876fa00d873d074b4c708565af067865f843c065bd34b83338cb1b97913f89
|
|
| MD5 |
2901a48cfd9f6acbfde1469b284e0c13
|
|
| BLAKE2b-256 |
ac5ce9d3acc095bf1cd5fbb05962745e9dbbbe0c1fc97c29072a5353724684fa
|
File details
Details for the file parqv-0.1.0-py3-none-any.whl.
File metadata
- Download URL: parqv-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfcba93fbc0b773c2d397a698bfc5c8df547f9c923b72fc20ae77113f2290a17
|
|
| MD5 |
c7164525e0ed45c2e3dc0ff54bd8ded1
|
|
| BLAKE2b-256 |
c6dc0852ce7aa182033668b5a8b3f7817b463ed14a4140d17a3ea7143d93a874
|