back to home

kellyjonbrazil / jc

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.

8,559 stars
224 forks
41 issues
PythonShell

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing kellyjonbrazil/jc in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/kellyjonbrazil/jc)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

> Check out the Python package documentation for developers > Try the web demo and REST API > is available as an Ansible filter plugin in the collection. See this blog post for an example. JC JSON Convert JSONifies the output of many CLI tools, file-types, and common strings for easier parsing in scripts. See the **Parsers** section for supported commands, file-types, and strings. This allows further command-line processing of output with tools like or by piping commands: or using the alternative "magic" syntax: can also be used as a python library. In this case the returned value will be a python dictionary, a list of dictionaries, or even a lazy iterable of dictionaries instead of JSON: > For Python package documentation, use , , or see the online documentation. Two representations of the data are available. The default representation uses a strict schema per parser and converts known numbers to int/float JSON values. Certain known values of are converted to JSON , known boolean values are converted, and, in some cases, additional semantic context fields are added. To access the raw, pre-processed JSON, use the cli option or the function parameter in when using as a python library. Schemas for each parser can be found at the documentation link beside each **Parser** below. Release notes can be found in the Releases section on Github. Why Would Anyone Do This!? For more information on the motivations for this project, please see my blog post on Bringing the Unix Philosophy to the 21st Century and my interview with Console. See also: • libxo on FreeBSD • powershell • blog: linux apps should have a json flag • Hacker News discussion • Reddit discussion Use Cases: • Bash scripting • Ansible command output parsing • Saltstack command output parsing • Nornir command output parsing • FortiSOAR command output parsing Installation There are several ways to get . You can install via , OS package repositories, or by downloading the correct binary for your architecture and running it anywhere on your filesystem. Pip (macOS, linux, unix, Windows) OS Package Repositories | OS | Command | |--------------------------------------|-------------------------------------------------------------------------------| | Debian/Ubuntu linux | | | Fedora linux | | | openSUSE linux | | | Arch linux | | | NixOS linux | or | | Guix System linux | | | Gentoo Linux | | | Photon linux | | | macOS | | | FreeBSD | | | Ansible filter plugin | | | FortiSOAR connector | Install from FortiSOAR Connector Marketplace | > For more OS Packages, see https://repology.org/project/jc/versions. Binaries For precompiled binaries, see Releases on Github. Usage accepts piped input from and outputs a JSON representation of the previous command's output to . Alternatively, the "magic" syntax can be used by prepending to the command to be converted or in front of the absolute path for Proc files. Options can be passed to immediately before the command or Proc file path is given. (Note: command aliases and shell builtins are not supported) The JSON output can be compact (default) or pretty formatted with the option. Parsers | Argument | Command or Filetype | Documentation | |-------------------|---------------------------------------------------------|----------------------------------------------------------------------------| | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | ASCII and Unicode table parser | details | | | multi-line ASCII and Unicode table parser | details | | | command parser | details | | | command parser | details | | | (Google Bigtable) command parser | details | | | CEF string parser | details | | | CEF string streaming parser | details | | | command parser | details | | | command parser | details | | | and command parser | details | | | Common and Combined Log Format file parser | details | | | Common and Combined Log Format file streaming parser | details | | | command and file parser | details | | | file parser with user support | details | | | CSV file parser | details | | | CSV file streaming parser | details | | | command parser | details | | | command parser | details | | | ISO 8601 Datetime string parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | Email Address string parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | file parser | details | | | command parser | details | | | command streaming parser | details | | | command parser | details | | | command parser | details | | | file parser | details | | | file parser | details | | | command parser | details | | | hashsum command parser ( , , etc.) | details | | | command parser | details | | | command parser | details | | | command parser | details | | | file parser | details | | | HTTP headers parser | details | | | command parser | details | | | command parser | details | | | INI file parser | details | | | INI with duplicate key file parser | details | | | command parser | details | | | command streaming parser | details | | | IPv4 and IPv6 Address string parser | details | | | Windows command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | command parser | details | | | Java MANIFEST.MF file parser | details | | | command parser | details | | | JWT string parser | details | | | Key/Value file and string parser | details | | | Key/Value with duplicate key file and string parser | details | | |…