{"id":21683,"library":"parquet-tools","title":"parquet-tools","description":"A command-line tool and Python library for inspecting, merging, and converting Parquet files. Version 0.2.16 requires Python 3.9+, maintains quarterly releases.","status":"active","version":"0.2.16","language":"python","source_language":"en","source_url":"https://github.com/ktrueda/parquet-tools","tags":["parquet","data-engineering","cli"],"install":[{"cmd":"pip install parquet-tools","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Hyphen in package name, underscore in module.","wrong":"from parquet-tools import inspect","symbol":"inspect","correct":"from parquet_tools import inspect"},{"note":"","wrong":"","symbol":"merge","correct":"from parquet_tools import merge"},{"note":"","wrong":"","symbol":"show","correct":"from parquet_tools import show"}],"quickstart":{"code":"from parquet_tools import inspect\nimport pyarrow.parquet as pq\n\n# Create a small Parquet file for inspection\nimport pandas as pd\ndf = pd.DataFrame({'x': [1, 2], 'y': ['a', 'b']})\npq.write_table(pyarrow.Table.from_pandas(df), 'test.parquet')\n\n# Inspect schema\ninspect('test.parquet')","lang":"python","description":"Quick inspection of a Parquet file's schema."},"warnings":[{"fix":"Use underscore in import statements.","message":"The package name on PyPI is 'parquet-tools' (with hyphen), but the Python module uses underscore: 'parquet_tools'. Import with 'from parquet_tools import ...' not 'from parquet-tools import ...'.","severity":"gotcha","affected_versions":"all"},{"fix":"Capture stdout (e.g., with contextlib.redirect_stdout) or use pyarrow.parquet.read_schema directly.","message":"The 'inspect' function prints schema to stdout rather than returning a Python object. You cannot programmatically access the schema from its return value.","severity":"gotcha","affected_versions":"all"},{"fix":"Sort data beforehand if order matters, or use alternative methods like pyarrow.parquet.write_table.","message":"The 'merge' function may change row ordering. It does not guarantee preservation of original row groups or sort order.","severity":"gotcha","affected_versions":"all"},{"fix":"Use hyphen in command name: 'parquet-tools'.","message":"The CLI tool is installed as 'parquet-tools' (with hyphen). Running 'parquet-tools --help' works, but 'parquet_tools' as a command does not.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Install with 'pip install parquet-tools' and import with 'from parquet_tools import ...'.","cause":"Package not installed, or misspelled module name (e.g., 'parquet-tools' instead of 'parquet_tools').","error":"ModuleNotFoundError: No module named 'parquet_tools'"},{"fix":"Use 'from parquet_tools import inspect'.","cause":"Incorrect import path; the module name is 'parquet_tools', but the symbol 'inspect' is a function at top-level.","error":"AttributeError: module 'parquet_tools' has no attribute 'inspect'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}