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

Advanced cato-cli Topics

Custom Report Query Operations

Custom Report 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 ⏱️

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 '{
    "appStatsFilter": [],
    "appStatsSort": [],
    "dimension": [ { "fieldName": "user_name" }, { "fieldName": "domain" } ],
    "measure": [
        { "aggType": "sum", "fieldName": "upstream" },
        { "aggType": "sum", "fieldName": "downstream" },
        { "aggType": "sum", "fieldName": "traffic" },
        { "aggType": "sum", "fieldName": "flows_created" }
    ],
    "timeFrame": "last.P1D"
}' -f csv --csv-filename appStats_daily_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"}],
    "perSecond": false,
    "timeFrame": "last.P7D"
}' -f csv --csv-filename eventsTimeSeries_weekly_security_events_report.csv

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.36.tar.gz (5.4 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.36-py3-none-any.whl (6.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: catocli-3.0.36.tar.gz
  • Upload date:
  • Size: 5.4 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.36.tar.gz
Algorithm Hash digest
SHA256 dc4e5a31974a71307e6291c77362c182d78942836d7e5c08008240ead663f357
MD5 5e38c70aae3a6240d2081c5956cdac5c
BLAKE2b-256 24ae5f0273622928418008fb562a0869940e15e0163bf74604a8c6cf6e288829

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: catocli-3.0.36-py3-none-any.whl
  • Upload date:
  • Size: 6.5 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.36-py3-none-any.whl
Algorithm Hash digest
SHA256 a21ffbf60a36dc1aa8392b47a938d78b421cbe679c96a767f66f966f463f3565
MD5 c57f62e8016c008fa211ecd5ce0b4ad9
BLAKE2b-256 def66c6e8ce9ab8297bcf2a45dc94d8a786aeb3cec6db3f81b3a4d73a4a6add7

See more details on using hashes here.

Provenance

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