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.
| Command | Resources |
|---|---|
satcat list | ephemerides, events, screenings, catalogs, conjunctions, screening-primaries, screening-secondaries, ephemeris-formats, conjunctions-ccsds |
satcat get | ephemeris, screening, catalog, conjunction-ccsds, propagation |
satcat create | ephemeris, ephemeris-from-maneuver-plan, screening, propagation |
satcat submit | screening, propagation |
satcat await | screening, propagation |
satcat download | ephemeris, 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] │
└──────────────────────────────────────┴───────────┴─────────┴───────────────────────────┴────────────────────┴─────────────────────┘
In rich output, values in the Id column are hyperlinks to the Satcat web application on supported terminal clients. Screenings run on Satcat servers either way, so the same results are available on the website after running them from the SDK or CLI.
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 ...
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.