Built
Parqcel
Get into the file without turning every question into code.
Built a PyQt desktop tool for inspecting and transforming Parquet, CSV, and Excel files through a Polars data layer.
- My role
- I built the desktop workflow and its Polars data operations.
- Result & status
- A desktop workflow brings file inspection and transformation into one interface.
No benchmark, user count, or commercial result is documented publicly.
Public evidence
Inspect the work.
Each link opens the source file or working product described below.
Python implementation
Paged table and edit-state model
Shows how the visible page maps to the underlying table and how edits, schema changes, undo, and redo refresh the view.
Polars implementation
Filtering transformations
Separates comparisons, inclusive ranges, and string filters from GUI prompts so they can be tested independently.
Behavior checks
Table-model tests
Concrete assertions cover partial final pages, date parsing, sorting, column restoration, and clearing redo after a new change.
The problem
How can an analyst inspect a large table without asking the interface to render every row?
Multiple formats
Parquet, CSV, and Excel enter the same inspection workflow.
Engine boundary
Polars handles typed data operations apart from GUI event logic.
Paged viewing
The interface renders a slice of a table instead of its entire contents.
Approach
Separate the interface from the data.
Separated the PyQt interface from typed Polars operations for filtering, conversion, feature engineering, and paged access to tabular data.
Engineering
Page the view. Preserve edit state.
The table model keeps a full Polars DataFrame and a separate current-page slice. Edits translate a visible row into its underlying row index, while undo and redo restore saved states. Filtering lives in a helper that can be tested without opening Qt dialogs. Pagination reduces rendered rows; it does not turn the app into an out-of-core processing engine.
Validation
Test navigation and reversible changes.
Public tests assert page sizes and navigation, sorting, date conversion, and data or column restoration through undo and redo. The model tests also check that a new mutation clears the redo branch. These are inspectable behavior checks; no measured speed or memory benchmark is claimed.
Python · Polars · PyQt · Parquet · Pagination