A CLI tool and Python library that converts command output, files, and strings to JSON, YAML, or dictionaries for easier parsing.
jc is a command-line tool and Python library that converts the output of command-line utilities, common file formats, and strings into JSON, YAML, or Python dictionaries. It solves the problem of parsing unstructured command output by providing a standardized, machine-readable format that integrates seamlessly with tools like jq and automation scripts.
System administrators, DevOps engineers, and developers who work with command-line tools and need to parse or automate output in scripts, Ansible playbooks, or monitoring pipelines.
jc offers a comprehensive set of parsers for over 150 commands and formats, supports both streaming and batch processing, and works as both a CLI tool and a Python library, making it uniquely versatile for automation and data transformation tasks.
CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports over 150 command outputs, file types, and strings, providing a wide range of pre-built parsers for common use cases, as detailed in the parsers table.
Works as both a command-line tool for piping and a Python library for programmatic parsing, enabling seamless integration into scripts and applications like Ansible.
Converts output to JSON with proper types (int, float, boolean, null) and a strict schema per parser, improving data reliability for automation tasks.
Offers streaming parsers that output JSON Lines for memory-efficient processing of large data streams, such as from `ping` or `top` commands, with options for unbuffered output.
Many parsers are only compatible with specific operating systems (e.g., Linux, macOS), and running on unsupported platforms requires suppressing warnings or may not work correctly, as noted in the compatibility section.
Adds parsing latency, especially for streaming parsers where unbuffered output can be slower; the README admits that unbuffered output is not ideal for large data streams.
For unsupported commands, users must write Python plugin modules, which requires programming knowledge and adds maintenance burden, as outlined in the parser plugins section.