Skip to main content

A CLI tool for managing the data catalog platform.

Project description

LumaCLI

LumaCLI is a command-line interface tool 🛠️ designed to streamline the interaction with your Luma instance. This utility enables users to send test results or ingest metadata from different tools such as dbt directly to Luma with ease.

Installation 📦

Install LumaCLI via pip:

pip install lumaCLI

Usage 🚀

LumaCLI's structure is organized as a tree of commands. At the top level, we have dbt and inside dbt, we have the sub-commands ingest and send_test_results.

1. dbt

This is the top-level command to interact with dbt metadata.

1.1 ingest

The ingest command sends a bundle of metadata files (manifest.json, catalog.json, sources.json, run_results.json) from your dbt project to a specified Luma endpoint.

luma dbt ingest "path/to/your/metadata/directory" --endpoint "https://your-luma-instance/the/endpoint"
  • metadata_dir: (Optional, str) This argument requires the directory path that contains all the metadata files. If not provided, the current working directory will be used.
  • endpoint: (Required, str) This option allows you to specify the URL of the ingestion endpoint.

This command will validate each JSON file, convert them to dictionaries, bundle them, and send the bundle to the specified Luma endpoint. If the validation for any file fails, the command will exit with a status of 1.

1.2 send_test_results

The send_test_results command sends a run_results.json file to a specified Luma endpoint.

luma dbt send_test_results "path/to/your/metadata/directory" --endpoint "https://your-luma-instance/the/endpoint"
  • metadata_dir: (Optional, str) This argument requires the directory path that contains the run_results.json file. If not provided, the current working directory will be used.
  • endpoint: (Required, str) This option allows you to specify the URL of the ingestion endpoint.

This command will validate the run_results.json file and send it to the specified Luma endpoint. If the validation fails, the command will exit with a status of 1.

Error Handling ⚠️

If the provided JSON files for either command do not pass validation, the program will terminate and return an exit status of 1. If the HTTP request to the Luma endpoint fails, the program will print the response status and details.

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

lumacli-0.0.2.tar.gz (18.8 kB view hashes)

Uploaded Source

Built Distribution

lumacli-0.0.2-py3-none-any.whl (21.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page