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.
MIT License
Bot releases are visible (Hide)
bluetoothctl
parser with added battery_percentage
fieldgit-log
standard and streaming parsers with added lines_changed
field under file_stats
pci-ids
parser to correctly handle multiple subdevicespip-show
parser to handle multi-line fields with a beginning blank liness
parser to correctly handle the Recv-Q
field being too close to the Status
fieldtop
parsers to quiet uptime info parsingtraceroute
parser to correctly handle hops with multiple IPszpool-status
parser for config items lacking data valuesquiet=True
Published by kellyjonbrazil 7 months ago
apt-cache-show
command parserapt-get-sqq
command parserethtool
command parserneedrestart
command parserdf
parser to add human readable output support. Note: the size
free
parser to add human readable output support. All size valuesiptables
parser to handle -x output/proc/pid/stat
parser to support "Idle" staterpm_qi
and pkg_index_deb
parsers to split list fields into arraysiwconfig
parser to handle more special characters in the SSID namexrandr
parser to ignore extra horizontal and vertical stats linesPublished by kellyjonbrazil 8 months ago
ini
parser crashing with some keys with no valuesxrandr
parser to extract more EDID datauptime
parser to support output with no user information--quiet
CLI option to cover more warning messagesPublished by kellyjonbrazil 9 months ago
--slurp
functionality to wrap output from multiple lines into a single array.date
, ip-address
, url
, etc.)jc -hhh
to find parsers compatible with the slurp option./proc
file magic syntax to allow slurping when multiple files are selected_file
metadata field in the data--meta-out
functionality to include a list of the input data when using --slurp
/proc
file magic syntax. For slurpable parsers, this is a list of string inputs in order./proc
file magic syntax, this is a list of /proc
filenames in order. This can help with--slurp
or when converting multiple/proc
file magic syntax.curl-head
command parser for curl --head
or curl -I
with verbose supportefibootmgr
command parserhttp-headers
parser for plain HTTP header outputkv-dup
parser for Key/Value files with duplicate keyspath
string parser to parse posix pathpath-list
string parser to parse path list strings found in env variablesremove_quotes
function to utils.py
normalize_key
function to utils.py
line_slice
function to utils.py
get_parser
function to lib.py
nsd-control
parser to support more zone informationping
and ping-s
parsers to support the -I
command optionproc-net-tcp
parser to add opposite endian support for architecturesurl
parser to add parent
, filename
, stem
, and extension
fieldsini
and ini-dup
parsers to consistently handle null values as empty stringskv
, pkg_index_deb
, lsb_release
, and os-release
Published by kellyjonbrazil 10 months ago
debconf-show
command parseriftop
command parserpkg-index-apk
parser for Alpine Linux Package Index filespkg-index-deb
parser for Debian/Ubuntu Package Index filesproc-cmdline
parser for /proc/cmdline
fileswapon
command parsertune2fs
command parseriso-datetime
parser deprecated since v1.22.1. (use datetime-iso
instead)acpi
command parser for code cleanupiptables
parser for cases where the target
field is blank in a rulevmstat
parsers for some cases where wide output is usedmount
parser for cases with spaces in the mount point namexrandr
parser for infinite loop issuesPublished by kellyjonbrazil 12 months ago
who
command parser for cases when the from field contains spacesPublished by kellyjonbrazil almost 1 year ago
host
command parsernsd-control
command parserlsb_release
command parser/etc/os-release
file parserenv
command parser to support multi-line valuesping
and ping-s
parsers to add error and corrupted supportxml
parser to include comments in the JSON outputpidstat
command parser when using -T ALL
x509-cert
parser to allow negative serial numbersx509-cert
parser for cases when bitstrings are larger than standardxrandr
command parser for associated device issuesPublished by kellyjonbrazil about 1 year ago
/etc/resolve.conf
file parser/proc/net/tcp
and /proc/net/tcp6
file parserfind
command parserip route
command parsercertbot
command parser to be more robust with different line endingsPublished by kellyjonbrazil over 1 year ago
lsattr
command parsersrt
file parserveracrypt
command parserdig
command parser to support the +nsid
optionlast
and lastb
command parser to support the -x
optionroute
command parser to add Windows supportnetstat
command parser to add Windows supportss
command parser to support extended optionsbluetoothctl
command parser for some mouse devicesping
command parsers for output with missing hostnamestat
command parser for older versions that may not contain all fieldssetup.cfg
Published by kellyjonbrazil over 1 year ago
bluetoothctl
command parsercertbot
command parser for certificates
and show_account
optionsacpi
command parser for "Not charging" battery status linesiwconfig
command parser for SSIDs with dashes in the namecrontab
command parsers for incorrect variable parsing in some casesgit-log
and git-log-s
command parsers for incorrect insertion/deletion parsingufw-appinfo
command parser for parsing errors on multiline description fieldsPublished by kellyjonbrazil over 1 year ago
zpool-status
command parser for lines that start with tabtimedatectl
command parser when RTC set to localpy.typed
file is included in the package wheellsusb
command parser to support CDC MBIM and CDC MBIM Extended fieldstimesync-status
for the timedatectl
command parserPublished by kellyjonbrazil over 1 year ago
jc
command-line optionssh
configuration file parserver
Version string parserzpool iostat
command parserzpool status
command parseracpi
command parser for "will never fully discharge" battery statecrontab
and crontab-u
command and file parsers for cases where onlyifconfig
command parser for older-style linux outputxrandr
command parser for proper is_current
outputxrandr
command parser for infinite loop with some device configurationsreflection
key to xrandr
parser schemaxrandr
parserMPX-specific VMA
support for VM Flags in /proc/<pid>/smaps
parserPublished by kellyjonbrazil almost 2 years ago
arp
command parsermount
command parserlsusb
command parser when extra hub port status information is outputlsusb
command parser for more code reusePublished by kellyjonbrazil almost 2 years ago
iwconfig
command parserproc
parser magic signature detection for /proc/pid/stat
hacksx509-cert
parser for string serial numbersRelease Notes: https://blog.kellybrazil.com/2022/09/27/jc-version-1-22-0-released
Published by kellyjonbrazil almost 2 years ago
openvpn-status.log
file parsercbt
command parser (Google Big Table)ifconfig
parser with interface lane information on BSDifconfig
parser with additional IPv6 scope_id
info for BSDifconfig
parser to capture some IPv6 addresses missed on BSDgit-log
and git-log-s
parsers for failure on empty author nameos-prober
parser with split EFI partition fields.iso
) to jc.utils.timestamp()
Release Notes: https://blog.kellybrazil.com/2022/09/27/jc-version-1-22-0-released/
Published by kellyjonbrazil almost 2 years ago
sshd-conf
parser for sshd
configuration files and sshd -T
outputfindmnt
command parsergit ls-remote
command parseros-prober
command parserifconfig
parser so it can output multiple IPv4 and IPv6 addressesifconfig
parser so it can output additional fields common on BSDxml
parser with optional _
prefix for attributes instead of@
by using the --raw
option. This can make it easier to filter thexml
parser to output a normal Dictionary instead of OrderdDict.!!omap
comments)csv
and csv-s
parsers for UTF-8 encoded CSV files with leading BOM bytesjc.get_help()
and jc.parser_info()
Release Notes: https://blog.kellybrazil.com/2022/09/27/jc-version-1-22-0-released
Published by kellyjonbrazil almost 2 years ago
udevadm
command parserlspci
command parserpci.ids
file parserproc-pid-stat
parser for command names with spaces and newlinesip-address
parser to add ip_split
fieldiso-datetime
parser to datetime-iso
. A deprecation warning williso-datetime
is removed in a future version.Release Notes: https://blog.kellybrazil.com/2022/09/27/jc-version-1-22-0-released
Published by kellyjonbrazil about 2 years ago
/proc
file parsers for linux. Support for the following files:/proc/buddyinfo
/proc/consoles
/proc/cpuinfo
/proc/crypto
/proc/devices
/proc/diskstats
/proc/filesystems
/proc/interrupts
/proc/iomem
/proc/ioports
/proc/loadavg
/proc/locks
/proc/meminfo
/proc/modules
/proc/mtrr
/proc/pagetypeinfo
/proc/partitions
/proc/slabinfo
/proc/softirqs
/proc/stat
/proc/swaps
/proc/uptime
/proc/version
/proc/vmallocinfo
/proc/vmstat
/proc/zoneinfo
/proc/driver/rtc
/proc/net/arp
/proc/net/dev
/proc/net/dev_mcast
/proc/net/if_inet6
/proc/net/igmp
/proc/net/igmp6
/proc/net/ipv6_route
/proc/net/netlink
/proc/net/netstat
/proc/net/packet
/proc/net/protocols
/proc/net/route
/proc/net/unix
/proc/<pid>/fdinfo/<fd>
/proc/<pid>/io
/proc/<pid>/maps
/proc/<pid>/mountinfo
/proc/<pid>/numa_maps
/proc/<pid>/smaps
/proc/<pid>/stat
/proc/<pid>/statm
/proc/<pid>/status
/proc
files/proc
filesfree
parser to support -w
option integer conversionsini
and kv
parsers so they don't change keynames to lower caseid
command parser to allow usernames and groupnames with spacesRelease Notes: https://blog.kellybrazil.com/2022/09/27/jc-version-1-22-0-released/
Published by kellyjonbrazil about 2 years ago
Published by kellyjonbrazil about 2 years ago
arp -a
parser for cases where incomplete hardware addresses are found in the arp table on linux