Skip to main content

parqv

Python Version License PyPI version Built with Textual


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

parqv.gif (Demo shows Parquet features; UI adapts for other formats)

🤔 Why parqv?

  1. 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.
  2. Interactive Exploration:
    • 🖱️ Keyboard & Mouse Driven: Navigate using familiar keys (arrows, hjkl, Tab) or even your mouse (thanks to Textual).
    • 📜 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.).
  3. Cross-Format Consistency:
    • 🎨 Rich Display: Leverages rich and Textual for 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.).

✨ Features (TUI Mode)

  • Multi-Format Support: Now supports Parquet (.parquet), JSON/JSON Lines (.json, .ndjson), and CSV/TSV (.csv, .tsv). Run parqv <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 like textual, pyarrow, pandas, and duckdb)
  • Updating parqv:
    pip install --upgrade parqv
    

3. Run parqv:

  • Point parqv to 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) and Ctrl+P (Previous Tab) or click on the tabs (Metadata, Schema, Data Preview).
    • Scrolling: Use PageUp / PageDown / Home / End or arrow keys/mouse wheel within scrollable areas (like Schema stats or Data Preview).
    • q / Ctrl+C: Quit parqv.
    • (Help Screen ? is planned)

📄 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)

Source distribution for parqv 0.3.0
File Size Uploaded Provenance
parqv-0.3.0.tar.gz 44.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for parqv 0.3.0
File Interpreter ABI Platform
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.

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