Skip to main content

Satcat CLI

Satcat CLI is a command-line application included with Satcat SDK for quickly performing common tasks on Satcat.

Whereas the Satcat SDK Python library is best used for writing scripts used in automated systems, the Satcat CLI is best used as a tool for power users to interact with Satcat services quickly and efficiently from the command line without needing to write Python code.

Getting Started

If you have installed the SDK using pip, the Satcat CLI should already be installed in your path. You can verify this using:

$ satcat version
satcat version 1.5.0

Commands

satcat groups commands by verb, each taking a resource as its subcommand.

CommandResources
satcat listephemerides, events, screenings, catalogs, conjunctions, screening-primaries, screening-secondaries, ephemeris-formats, conjunctions-ccsds
satcat getephemeris, screening, catalog, conjunction-ccsds, propagation
satcat createephemeris, ephemeris-from-maneuver-plan, screening, propagation
satcat submitscreening, propagation
satcat awaitscreening, propagation
satcat downloadephemeris, plan

satcat version, satcat health-api, and satcat check-auth take no resource.


Listing Entities

You can use the satcat list command to list any entity in the Satcat screening API, including your screenings:


$ satcat list screenings

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
┃ Id ┃ Title ┃ Status ┃ Created At ┃ Conjunctions Count ┃ Primary Ids Preview ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩
│ dd44f906-1e9c-40cd-b97f-e6d791b39b96 │ Screening │ SUCCESS │ 2022-06-22 14:50:24+00:00 │ 12[25544]
└──────────────────────────────────────┴───────────┴─────────┴───────────────────────────┴────────────────────┴─────────────────────┘

Output Formatting

By default, the Satcat CLI uses rich output formatting including tables and progress indicators for human readability. However, you can also configure the CLI to output plain JSON data for machine readability or redirecting to a file (e.g. for logging purposes).

To set the output format to json, use the --output (-o) flag of the satcat base command:

    $ satcat --output json ...
warning

The --output flag must be specified after the base satcat command but before any subcommands.

       ❌ satcat list screenings --output json
✅ satcat --output json list screenings

To disable interactive progress indicators in the terminal output, you can use the --no-progress flag of the satcat base command:

    $ satcat --no-progress ...

These settings can also be persistently configured in the settings module as settings.cli.output_format and settings.cli.show_progress respectively.

Rich output shows a curated subset of fields for readability. Use --output json to inspect every field of a resource.