Skip to main content

A simple (and lightweight) visualization tool for Parquet files.

Project description

Simple Parquet Viewer

A simple (and lightweight) visualization tool for Parquet files.

Installation

In order to install it, you just have to run the following command in the shell:

pip install simple-parquet-viewer

Alternatively you can install the distribution package available in the releases page.

Usage

To open the app, it is just necessary to call it from the shell (notice that path_to_file arg is optional):

spv [path_to_file]

Creating shortcut (Windows only)

In order to use the shortcut creation utility, the pywin32 package must be already installed. Otherwise, you will have to install it by running either pip install pywin32 or pip install simple-parquet-viewer[windows].

Since this is a GUI application, it would be easier to start it from a shortcut rather than the command line. Therefore, in order to make the shortcut creation easier, this application provides a convenience script for that purpose. By running following command, for instance, a shortcut for "Simple Parquet Viewer" must be created in the Start Menu:

spv-shortcut

NB.: Icons generated using this utility are not automatically removed when this package is uninstalled. Therefore, you must remove them manually afterwards.

Desktop shortcut

The spv-shortcut utility also supports a valid dir_path as first argument, allowing you to generate a shortcut in custom directories, such as "Desktop". The following example demonstrates how to create a desktop shortcut for this application:

spv-shortcut %USERPROFILE%\Desktop

In PowerShell:

spv-shortcut $env:USERPROFILE\Desktop

Development

There are some utilities which have made the development of this application a bit easier:

  • Icon generation: The application icons have been generated by using open source vectorized images, which can be found close to their "png/ico" versions at ./src/res/imgs/;
  • i18n script: This script makes creating and deploying translation files a bit easier by calling tools like pylupdate, linguist and lrelease under the hood;
  • package creation: The distribution package of this library is build with hatch (check pyproject.toml file for specs).

Generating icon

The usage of inkscape in order to create/modify application icons is strongly recommended, since it is free and open source (and anyone would be able to contribute), but any vectorized drawing tool can be used for this purpose.

In order to deploy the application icon, it was necessary to make use of imagemagick so as to convert the SVG file to a multi-sized icon. The following command has been used generate it:

magick convert ./src/res/imgs/app_icon.svg -define icon:auto-resize=256,128,48,32,16 -background none -fuzz 10% -transparent white  ./src/res/imgs/app_icon.ico

Translations

The usage of i18n script is quite straightforward: it is usually python ./scripts/i18n.py <COMMAND> <LANG_CODE>, where the command depends on the translation step:

  • generate: Used to generate a new translation file or update the strings of an existing one;
  • edit: Convenience method to open Qt Linguist (an editor for translation files);
  • release: Used when the translation is ready for deployment (builds a compiled translation file).

NB: It is necessary to have PyQt6 and qt6_applications so as to be able to run every command.

Package generation

In order to build this package, it is just necessary to run the following command in the sell:

python -m build

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

simple_parquet_viewer-0.11.1.tar.gz (174.3 kB view hashes)

Uploaded Source

Built Distribution

simple_parquet_viewer-0.11.1-py3-none-any.whl (187.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page