Skip to main content

Cat structured data , in style

Project description

dotcat: Cat Structured Data, in Style

Dealing with structured data in shell scripts is all but impossible. dotcat gives you the ability to fetch structured data as easily as using cat it.

# Access data by attribute path
dotcat data.json person.name.first
# John
dotcat data.json person.name.last
# Doe

# Controle your output format
dotcat data.json person.name --output=yaml
# name:
#   first: John
#   last: Doe
dotcat data.json person.name --output=json
# {"first": "John", "last": "Doe"}

# List access
dotcat data.json person.friends@0
# {"name":{"first": "Alice", "last": "Smith"}, "age": 25} -> item access
dotcat data.json person.friends@2:4
# [{"name":{"first": "Alice", "last": "Smith"}, "age": 25}, {"name":{"first": "Bob", "last": "Johnson"}, "age": 30}]  -> slice access
dotcat data.json person.friends@4:-1
# ... from 5th to last item

The good times are here

Easily read values from JSON, YAML, TOML, and INI files without complex scripting or manual parsing.

Access deeply nested values using intuitive dot-separated paths (e.g., person.first.name) while controlling the output format with --output flag.

Dotcat is a good unix citizen with well structured exit codes so it can take part of your command pipeline like cat or grep would.

Includes ZSH autocompletion for both file paths and dotted paths, making it even easier to navigate complex data structures.

Installation

If you have a global pip install, this will install dotcat globally:

pip install dotcat

ZSH Completion

Dotcat comes with ZSH completion support that is automatically installed when you install the package with pip. The installation script will:

  1. Look for appropriate ZSH completion directories
  2. Install the completion files if possible
  3. Notify you of the installation location

If the automatic installation fails, you can manually install the completions:

# Copy the completion script to your ZSH completions directory
mkdir -p ~/.zsh/completions
cp /path/to/installed/package/zsh/_dotcat ~/.zsh/completions/

# Or run the installation script directly
dotcat-install-completions

See the ZSH completion README for detailed instructions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dotcat-0.9.1.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dotcat-0.9.1-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file dotcat-0.9.1.tar.gz.

File metadata

  • Download URL: dotcat-0.9.1.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for dotcat-0.9.1.tar.gz
Algorithm Hash digest
SHA256 bd0e8a3c3a8be9673917af10a09dfa713a14c8b10e30b9fad50db96c8604c8f5
MD5 9faa722c03acaed65d8ca9bafdd7601b
BLAKE2b-256 a101f4822e005dd437957db98c2fb4d2a4e1199ef46f9470abab151c17d9d3ba

See more details on using hashes here.

File details

Details for the file dotcat-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: dotcat-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for dotcat-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f6a9f559b1d6757dad4397f058114648c8b98aea4b1196ff3a75b371caff9ee4
MD5 d65eb5b82763e165ab77183278883e69
BLAKE2b-256 fa1ba1b28bb6982732e7119428aa011201633504752acba744dcfe8e34cea244

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page