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 Statistics 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.26.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.26-py3-none-any.whl (7.4 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: catocli-3.0.26.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.26.tar.gz
Algorithm Hash digest
SHA256 cb6fea7639f935c1ff29e474fc9476e8f125d7d71463bb9a2b1c545d2d354d3e
MD5 6fd16c789576328f9470e5a93020a38a
BLAKE2b-256 38694afde8c398eb7991302ef6ec666e5deaedc830c44cdb3204557862687173

See more details on using hashes here.

Provenance

The following attestation bundles were made for catocli-3.0.26.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.26-py3-none-any.whl.

File metadata

  • Download URL: catocli-3.0.26-py3-none-any.whl
  • Upload date:
  • Size: 7.4 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.26-py3-none-any.whl
Algorithm Hash digest
SHA256 665b3845cd86542d9e57cf9e8883f3be32a828ae076063a2fa8cd7e27d4a0bad
MD5 1f1957968e124c9cbc22cc6c296d2f5b
BLAKE2b-256 e8f311ea2de50a9cf170765588bcc2215c88390cd0a6afbd9c6934cccef6d000

See more details on using hashes here.

Provenance

The following attestation bundles were made for catocli-3.0.26-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