{"id":28203465,"url":"https://github.com/domvwt/parquet-inspector","last_synced_at":"2026-06-19T01:32:06.176Z","repository":{"id":107219881,"uuid":"579734688","full_name":"domvwt/parquet-inspector","owner":"domvwt","description":"A command line tool for inspecting parquet files with PyArrow.","archived":false,"fork":false,"pushed_at":"2023-02-22T23:43:48.000Z","size":58,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-19T06:00:56.406Z","etag":null,"topics":["cli","parquet","parquet-cli","parquet-files","parquet-generator","parquet-tools","parquet-viewer"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/domvwt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-12-18T18:30:21.000Z","updated_at":"2024-03-14T08:00:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"4079025b-7fd1-4b1a-b986-b82381bbcf9e","html_url":"https://github.com/domvwt/parquet-inspector","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/domvwt/parquet-inspector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domvwt%2Fparquet-inspector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domvwt%2Fparquet-inspector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domvwt%2Fparquet-inspector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domvwt%2Fparquet-inspector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/domvwt","download_url":"https://codeload.github.com/domvwt/parquet-inspector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/domvwt%2Fparquet-inspector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34514282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","parquet","parquet-cli","parquet-files","parquet-generator","parquet-tools","parquet-viewer"],"created_at":"2025-05-17T01:16:28.194Z","updated_at":"2026-06-19T01:32:06.151Z","avatar_url":"https://github.com/domvwt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Parquet-Inspector\n\nA command line tool for inspecting parquet files with PyArrow.\n\n## Installation\n\n```bash\npip install parquet-inspector\n```\n\n## Usage\n\n```txt\nparquet-inspector: cli tool for inspecting parquet files.\n\npositional arguments:\n  {metadata,schema,head,tail,count,validate,to-jsonl,to-parquet}\n    metadata            print file metadata\n    schema              print data schema\n    head                print first n rows (default is 10)\n    tail                print last n rows (default is 10)\n    count               print number of rows\n    validate            validate file\n    to-jsonl            convert parquet file to jsonl\n    to-parquet          convert jsonl file to parquet\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -v, --version         show program's version number and exit\n  --threads, -t         use threads for reading\n  --mmap, -m            use memory mapping for reading\n\n```\n\n## Examples\n\n```bash\n# Print the metadata of a parquet file\n$ pqi metadata my_file.parquet\ncreated_by: parquet-cpp-arrow version 6.0.1\nnum_columns: 3\nnum_rows: 2\nnum_row_groups: 1\nformat_version: 1.0\nserialized_size: 818\n```\n\n```bash\n# Print the schema of a parquet file\n$ pqi schema my_file.parquet\na: list\u003citem: int64\u003e\n  child 0, item: int64\nb: struct\u003cc: bool, d: timestamp[ms]\u003e\n  child 0, c: bool\n  child 1, d: timestamp[ms]\n```\n\n```bash\n# Print the first 5 rows of a parquet file (default is 10)\n$ pqi head -n 5 my_file.parquet\n{\"a\": 1, \"b\": {\"c\": true, \"d\": \"1991-02-03 00:00:00\"}}\n{\"a\": 2, \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 3, \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 4, \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 5, \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n```\n\n```bash\n# Print the last 5 rows of a parquet file\n$ pqi tail -n 5 my_file.parquet\n{\"a\": 3, \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 4, \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 5 \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 6 \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 7 \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n```\n\n```bash\n# Print the first 5 rows of a parquet file, only reading the column a\n$ pqi head -n 5 -c a my_file.parquet\n{'a': 1}\n{'a': 2}\n{'a': 3}\n{'a': 4}\n{'a': 5}\n```\n\n```bash\n# Print the first 3 rows that satisfy the condition a \u003e 3\n# (filters are defined in disjunctive normal form)\n$ pqi head -n 3 -f \"[('a', '\u003e', 3)]\" my_file.parquet\n{\"a\": 4, \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 5 \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 6 \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n```\n\n```bash\n# Print the number of rows in a parquet file\n$ pqi count my_file.parquet\n7\n```\n\n```bash\n# Validate a parquet file\n$ pqi validate my_file.parquet\nOK\n```\n\n```bash\n# Convert a parquet file to jsonl\n$ pqi to-jsonl my_file.parquet\n$ cat my_file.jsonl\n{\"a\": 1, \"b\": {\"c\": true, \"d\": \"1991-02-03 00:00:00\"}}\n{\"a\": 2, \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 3, \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 4, \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 5, \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 6, \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 7, \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n```\n\n```bash\n# Convert a jsonl file to parquet\n$ pqi to-parquet my_file.jsonl\n$ pqi head my_file.parquet\n{\"a\": 1, \"b\": {\"c\": true, \"d\": \"1991-02-03 00:00:00\"}}\n{\"a\": 2, \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 3, \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 4, \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 5, \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 6, \"b\": {\"c\": false, \"d\": \"2019-04-01 00:00:00\"}}\n{\"a\": 7, \"b\": {\"c\": true, \"d\": \"2019-04-01 00:00:00\"}}\n```\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdomvwt%2Fparquet-inspector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdomvwt%2Fparquet-inspector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdomvwt%2Fparquet-inspector/lists"}