Skip to main content

Cato Networks cli wrapper for the GraphQL API.

Project description

Cato Networks GraphQL API CLI

The package provides a simple to use CLI that reflects industry standards (such as the AWS cli), and enables customers to manage Cato Networks configurations and processes via the Cato Networks GraphQL API easily integrating into configurations management, orchestration or automation frameworks to support the DevOps model.

Overview

CatoCLI is a command-line interface that provides access to the Cato Networks GraphQL API, enabling you to:

  • Generate detailed network and security reports
  • Analyze user and application activity
  • Monitor network performance and events
  • Export data in multiple formats (JSON, CSV)
  • Automate reporting and monitoring tasks

Prerequisites

  • Python 3.6 or higher
  • CatoCLI installed (pip3 install catocli)
  • Valid Cato Networks API token and Account ID
  • Proper authentication configuration (see Authentication Setup)

Installation

pip3 install catocli

Authentication Setup

Configure your CatoCLI profile before using any query operations:

# Interactive configuration
catocli configure set

# Non-interactive configuration
catocli configure set --cato-token "your-api-token" --account-id "12345"

# List configured profiles
catocli configure list

# Show current profile
catocli configure show

Documentation

For detailed information about profile management, see PROFILES.md.

CLICK HERE to see how create an API key to authenticate.

Running the CLI

catocli -h
catocli query -h
catocli query entityLookup -h
catocli query entityLookup '{"type":"country"}`

// Override the accountID value as a cli argument
catocli query entityLookup -accountID=12345 '{"type":"country"}`

Check out run locally not as pip package

git clone git@github.com:Cato-Networks/cato-cli.git
cd cato-cli
python3 -m catocli -h

Query Operations

Core Analytics Queries

Operation Description Guide
Account Metrics Network performance metrics by site, user, or interface 📊
Application Statistics User activity and application usage analysis 📱
Application Time Series Traffic analysis over time with hourly/daily breakdowns 📈
Events Time Series Security events, connectivity, and threat analysis 🔒
Socket Port Metrics Socket interface performance and traffic analysis 🔌
Socket Port Time Series Socket performance metrics over time ⏱️

Advanced Topics

Quick Start Examples

Basic Network Health Check

# Get last hour account metrics
catocli query accountMetrics '{"timeFrame":"last.PT1H"}'

User Activity Report (csv format)

# Export user activity for the last month to CSV
catocli query appStats '{
    "dimension": [{"fieldName": "user_name"}],
    "measure": [{"aggType": "sum", "fieldName": "flows_created"}],
    "timeFrame": "last.P1M"
}' -f csv --csv-filename user_activity_report.csv

Security Events Analysis

# Weekly security events breakdown
catocli query eventsTimeSeries '{
    "buckets": 7,
    "eventsFilter": [{"fieldName": "event_type", "operator": "is", "values": ["Security"]}],
    "eventsMeasure": [{"aggType": "sum", "fieldName": "event_count"}],
    "timeFrame": "last.P7D"
}'

Output Formats

CatoCLI supports multiple output formats:

  • Enhanced JSON (default): Formatted with granularity adjustments
  • Raw JSON: Original API response with -raw flag
  • CSV: Structured data export with -f csv
  • Custom CSV: Named files with --csv-filename and --append-timestamp

Time Frame Options

Common time frame patterns:

  • last.PT1H - Last hour
  • last.P1D - Last day
  • last.P7D - Last week
  • last.P1M - Last month
  • utc.2023-02-{28/00:00:00--28/23:59:59} - Custom UTC range

Getting Help

  • Use -h or --help with any command for detailed usage
  • Check the Cato API Documentation
  • Review individual operation guides linked above

This CLI is a Python 3 application and has been tested with Python 3.6 -> 3.8

Requirements:

python 3.6 or higher

Confirm your version of python if installed:

Open a terminal
Enter: python -V or python3 -V

Installing the correct version for environment:

https://www.python.org/downloads/

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

catocli-3.0.24.tar.gz (6.7 MB view details)

Uploaded Source

Built Distribution

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

catocli-3.0.24-py3-none-any.whl (7.3 MB view details)

Uploaded Python 3

File details

Details for the file catocli-3.0.24.tar.gz.

File metadata

  • Download URL: catocli-3.0.24.tar.gz
  • Upload date:
  • Size: 6.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for catocli-3.0.24.tar.gz
Algorithm Hash digest
SHA256 7d4e2210ff94c876c82ba2381f33c83aa1072301d570ae911af8677923a51be2
MD5 4a4cde59e143701c13423f514fb9396e
BLAKE2b-256 73671edd629187db4032d680b018fb8f462e8258de0ac2dca5cadd323f00f192

See more details on using hashes here.

Provenance

The following attestation bundles were made for catocli-3.0.24.tar.gz:

Publisher: publish-to-pypi.yml on catonetworks/cato-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file catocli-3.0.24-py3-none-any.whl.

File metadata

  • Download URL: catocli-3.0.24-py3-none-any.whl
  • Upload date:
  • Size: 7.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for catocli-3.0.24-py3-none-any.whl
Algorithm Hash digest
SHA256 aad3378a67c83843d3f24b5bb06c9a859206a422b9771715a85c7964f44b0c20
MD5 76cec3b4b8eafaf783db728a505bbc4f
BLAKE2b-256 85696b6e0c2ed907f4451f1338de11693b228be3fdfbde936f78c5f2ff131b2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for catocli-3.0.24-py3-none-any.whl:

Publisher: publish-to-pypi.yml on catonetworks/cato-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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