Skip to main content

Command-line client for Parascope: run ParaQL queries, browse schema, and script exports

Project description

paraql

paraql is the command-line client for Parascope, a CMDB that discovers your infrastructure and maps how it fits together. It runs ParaQL queries against your tenant's API and prints the answer as a table, JSON, CSV, or a bare value you can pipe into the next command.

The PyPI package named parascope is unrelated to this project and is not published by us. This client is paraql.

Install

pip install paraql

Or, to keep it in its own environment:

pipx install paraql

Connecting

paraql talks to your Parascope tenant, so it needs two things: the tenant endpoint (https://<slug>.parascope.io) and an API key. There is no built-in default endpoint; if neither is configured, paraql says so and exits instead of guessing.

The guided setup writes ~/.paraql/config.toml with mode 0600:

paraql config init

Environment variables work too, and are handy in CI:

export PARAQL_ENDPOINT="https://acme.parascope.io"
export PARAQL_API_KEY="ps_ro_..."

Command-line flags win over environment variables, which win over the config file. Check what resolved, with the key masked:

paraql config show

The endpoint must be https. Plain http is accepted for local addresses such as localhost, or elsewhere if you pass --insecure, which sends the API key in the clear.

--timeout and --insecure are group-level flags, so they go before the subcommand:

paraql --timeout 120 query "SELECT name FROM kubernetes.pod"

Running a query

paraql "SELECT name, namespace FROM kubernetes.pod WHERE config.phase = 'Running' LIMIT 10"

A bare query is shorthand for paraql query. Pick a format with -o and the result becomes scriptable:

paraql -o json "SELECT name, criticality_score FROM openstack.instance" | jq '.[].name'

Interactive mode

paraql -i opens a REPL with persistent history and schema-aware completion. Running paraql with no arguments in a terminal does the same. Inside it, \? lists the backslash commands and \q quits.

$ paraql -i
paraql> SHOW TABLES
paraql> SELECT name, ci_type FROM kubernetes.pod LIMIT 5
paraql> \q

Documentation

  • CLI reference: https://<slug>.parascope.io/docs/cli
  • ParaQL language reference: https://<slug>.parascope.io/docs/paraql-reference

paraql --help lists the subcommands, and paraql <subcommand> --help covers each one.

License

Apache-2.0. See the Apache License 2.0.

Project details


Download files

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

Source Distribution

paraql-0.1.0.tar.gz (100.4 kB view details)

Uploaded Source

Built Distribution

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

paraql-0.1.0-py3-none-any.whl (48.1 kB view details)

Uploaded Python 3

File details

Details for the file paraql-0.1.0.tar.gz.

File metadata

  • Download URL: paraql-0.1.0.tar.gz
  • Upload date:
  • Size: 100.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for paraql-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1b9bd86a575f09a4adba65a3f3f4e7944e5910cd99d565b78c6c42998bdd8da0
MD5 cd06a9c70e3526b867af31128bb77ea2
BLAKE2b-256 be280d494c3ff5011bd39d2de2529dda90874a016904636b2a42565276fadd4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for paraql-0.1.0.tar.gz:

Publisher: publish-paraql.yml on parascope-io/parascope

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

File details

Details for the file paraql-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: paraql-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 48.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for paraql-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83baa322150cd49d282aefd46953f791e7b0b2e8a89a95aa8c6c7ab6402b5f20
MD5 438f0a89134a045776338b610641a63c
BLAKE2b-256 6501a365433d43d6a86c01315badea54f0b38f967e6749fa934f17941131e86b

See more details on using hashes here.

Provenance

The following attestation bundles were made for paraql-0.1.0-py3-none-any.whl:

Publisher: publish-paraql.yml on parascope-io/parascope

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