parqv
Supported File Formats: ✅ Parquet | ✅ JSON / JSON Lines (ndjson) | ✅ CSV / TSV | (More planned!)
parqv is a Python-based interactive TUI (Text User Interface) tool designed to explore, analyze, and understand various data file formats directly within your terminal. parqv aims to provide a unified, visual experience for quick data inspection without leaving your console.
💻 Demo
(Demo shows Parquet features; UI adapts for other formats)
🤔 Why parqv?
- Unified Interface: Launch
parqv <your_data_file>to access metadata, schema, data preview, and column statistics all within a single, navigable terminal window. No more juggling different commands for different file types. - 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 column lists.
- 🌲 Clear Schema View: Understand column names, data types, and nullability at a glance. (Complex nested structures visualization might vary by format).
- 📊 Dynamic Stats: Select a column and instantly see its detailed statistics (counts, nulls, min/max, mean, distinct values, etc.).
- 🖱️ Keyboard & Mouse Driven: Navigate using familiar keys (arrows,
- Cross-Format Consistency:
- 🎨 Rich Display: Leverages
richandTextualfor colorful, readable tables and text across supported formats. - 📈 Quick Stats: Get key statistical insights consistently, regardless of the underlying file type.
- 🔌 Extensible: Designed with a handler interface to easily add support for more file formats in the future (like CSV, Arrow IPC, etc.).
- 🎨 Rich Display: Leverages
✨ Features (TUI Mode)
- Multi-Format Support: Now supports Parquet (
.parquet), JSON/JSON Lines (.json,.ndjson), and CSV/TSV (.csv,.tsv). Runparqv <your_file.{parquet,json,ndjson,csv,tsv}>. - Metadata Panel: Displays key file information (path, format, size, total rows, column count, etc.). Fields may vary slightly depending on the file format.
- Schema Explorer:
- Interactive list view of columns.
- Clearly shows column names, data types, and nullability.
- Data Table Viewer:
- Scrollable table preview of the file's data.
- Attempts to preserve data types for better representation.
- Column Statistics Viewer:
- Select a column in the Schema tab to view detailed statistics.
- Shows counts (total, valid, null), percentages, and type-specific stats (min/max, mean, stddev, distinct counts, length stats, boolean value counts where applicable).
- Row Group Inspector (Parquet Specific):
- This panel only appears when viewing Parquet files.
- Lists row groups with stats (row count, compressed/uncompressed size).
- (Planned) Select a row group for more details.
🚀 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
(This will also install dependencies liketextual,pyarrow,pandas, andduckdb) - Updating
parqv:pip install --upgrade parqv
3. Run parqv:
- Point
parqvto your data file:#parquet parqv /path/to/your/data.parquet # json parqv /path/to/your/data.json
- The interactive TUI will launch. Use your keyboard (and mouse, if supported by your terminal) to navigate:
- Arrow Keys /
j,k(in lists): Move selection up/down. Tab/Shift+Tab: Cycle focus between the main tab content and potentially other areas. (Focus handling might evolve).Enter(in column list): Select a column to view statistics.- View Switching: Use
Ctrl+N(Next Tab) andCtrl+P(Previous Tab) or click on the tabs (Metadata, Schema, Data Preview). - Scrolling: Use
PageUp/PageDown/Home/Endor arrow keys/mouse wheel within scrollable areas (like Schema stats or Data Preview). q/Ctrl+C: Quitparqv.- (Help Screen
?is planned)
- Arrow Keys /
📄 License
Licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Metadata
Release files for parqv 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| parqv-0.3.0.tar.gz | 44.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| parqv-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 98.8 kB
Release files / parqv-0.3.0.tar.gz
| Download URL | parqv-0.3.0.tar.gz |
|---|---|
| Size | 44.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
28599e3050eeac98080849cd925363c1b9fa29a40bb5342846da24a3e4de1dab
|
|
BLAKE2b-256 checksum How to use checksums |
07f65f96e7d0d808b6eeac264fd11b233fb9cb4f9f9444e218d12397620eb6c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.18
|
Release files / parqv-0.3.0-py3-none-any.whl
| Download URL | parqv-0.3.0-py3-none-any.whl |
|---|---|
| Size | 54.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a0849d8398d1b1b6d474b72718eaae96a321a6dde59120f69104115b1b641a35
|
|
BLAKE2b-256 checksum How to use checksums |
dde6ecb276ffb201302716eaa831b5a7d37b48bb888f7ca21be2e9fab11e8ba3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.18
|
Security for parqv 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.