Skip to main content

Gable CLI and SDK

gable is Gable on the command line. It publishes contracts, registers data assets and more.

gable --help
Usage: gable [OPTIONS] COMMAND [ARGS]...

Options:
  --endpoint TEXT  Customer API endpoint for Gable, in the format
                   https://api.company.gable.ai/
  --api-key TEXT   API Key for Gable
  --version        Show the version and exit.
  --help           Show this message and exit.

Commands:
  auth        View configured Gable authentication information
  contract    Validate/publish contracts and check data asset compliance
  data-asset  Commands for data assets
  ping        Pings the Gable API to check for connectivity

Getting Started

gable is hosted on PyPi, so to install it just run:

pip install gable

Installing Additional Modules for MySQL and PostgreSQL

Gable's CLI allows you to introspect your database and register tables as data assets within Gable's system. Connecting to these databases require additional packages to communicate with your database(s) of choice.

For MySQL, install the additional packages by running:

pip install 'gable[mysql]'

For PostgreSQL, install the additional packages by running:

pip install 'gable[postgres]'

To install all additional dependencies at once, you can run:

pip install 'gable[all]'

Setting up zsh/bash Autocomplete

The Gable CLI supports shell autocomplete for zsh and bash so you can hit TAB to see available commands and options as you write the command.

To enable it, run the following commands:

_SHELL=zsh # or bash
GABLE_CONFIG_DIR=~/.config/gable
mkdir -p $GABLE_CONFIG_DIR
_GABLE_COMPLETE=${_SHELL}_source gable > $GABLE_CONFIG_DIR/complete.sh

Then add the following to your shell startup scripts (e.g. .zshrc, .bashrc):

source ~/.config/gable/complete.sh

Authentication

To establish an authenticated connection with Gable via the CLI, you need:

  • The API endpoint associated with your organization
  • An API key that corresponds to the endpoint

In order to find your API key and API endpoint, see the documentation in your Gable web app at (/docs/settings/api_keys).

There are two supported methods for providing this config to the CLI:

Authenticating with CLI Arguments

You have the option to pass the endpoint and API key information directly as arguments during the CLI invocation. For example:

gable --endpoint "https://api.yourorganization.gable.ai" --api-key "yourapikey" ping

Authenticating with Environment Variables

To avoid providing this config every time you execute a command, you can set them as environment variables: GABLE_API_ENDPOINT and GABLE_API_KEY. To make them persistent in your environment, add this to your shell initialization file (e.g. .zshrc or .bashrc):

export GABLE_API_ENDPOINT="https://api.yourorganization.gable.ai"
export GABLE_API_KEY="yourapikey"

Then, you can simply use the CLI as follows:

gable ping

Accessing APIs Behind Proxies (Custom API Headers)

To access the Gable API behind corporate or customer proxies that require custom authentication, users can provide additional HTTP headers using the GABLE_API_HEADERS environment variable. This feature is essential for organizations whose infrastructure enforces proxy authentication or requires custom metadata in API requests.

Usage

Set the GABLE_API_HEADERS environment variable as a JSON string containing your custom headers:

export GABLE_API_HEADERS='{"Authorization": "Bearer YOUR_TOKEN", "X-Proxy-Header": "proxy-value"}'

When set, these headers are automatically included in every API request made by the CLI or client library. Custom headers will override default headers (such as X-API-KEY), allowing flexible integration with proxies, gateways, or custom authentication schemes.

Example

export GABLE_API_KEY=your_api_key
export GABLE_API_ENDPOINT=https://api.example.com
export GABLE_API_HEADERS='{"Authorization": "Bearer YOUR_TOKEN", "X-Proxy-Header": "proxy-value"}'
gable ping

Download files

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

Source Distribution

gable-0.64.0.tar.gz (190.1 kB view details)

Uploaded Source

Built Distribution

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

gable-0.64.0-py3-none-any.whl (250.4 kB view details)

Uploaded Python 3

File details

Details for the file gable-0.64.0.tar.gz.

File metadata

  • Download URL: gable-0.64.0.tar.gz
  • Upload date:
  • Size: 190.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.20

File hashes

Hashes for gable-0.64.0.tar.gz
Algorithm Hash digest
SHA256 6a6fbe6cabf3248df58ba5779672152ab4a3014179bfdf17c86a03bc8de8a104
MD5 f3495fea0922caa1f2a1e916709ed2ef
BLAKE2b-256 3994ed9dbc39e7f11b159f7f7e6c4edffde0a63893bc3d21b6867aec232f8619

See more details on using hashes here.

File details

Details for the file gable-0.64.0-py3-none-any.whl.

File metadata

  • Download URL: gable-0.64.0-py3-none-any.whl
  • Upload date:
  • Size: 250.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.20

File hashes

Hashes for gable-0.64.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7797866c7b7e34136456748c72b6a549f55de7d8e117ddaf2945ecbc8883477d
MD5 492c8de778ae1824d1b3c2f3d1f43f80
BLAKE2b-256 2e42c254bd1bb743d427c35b9a9dc7005cafb957834f439da32b0082df034adc

See more details on using hashes here.

Release history Release notifications | RSS feed

0.67.0

2 files

0.66.0

2 files

0.64.3

2 files

0.64.1

2 files

This release

0.64.0 This release

2 files

0.63.1

2 files

0.63.0

2 files

0.62.0

2 files

0.61.9

2 files

0.61.8

2 files

0.61.7

2 files

0.61.6

2 files

0.61.5

2 files

0.61.4

2 files

0.61.2

2 files

0.61.1

2 files

0.60.0

2 files

0.59.14

2 files

0.59.13

2 files

0.59.12

2 files

0.59.11

2 files

0.59.10

2 files

0.59.9

2 files

0.59.8

2 files

0.59.7

2 files

0.59.6

2 files

0.59.5

2 files

0.59.4

2 files

0.59.3

2 files

0.59.2

2 files

0.59.1

2 files

0.59.0

2 files

0.58.7

2 files

0.58.6

2 files

0.58.5

2 files

0.58.4

2 files

0.58.3

2 files

0.58.2

2 files

0.58.1

2 files

0.58.0

2 files

0.57.3

2 files

0.57.2

2 files

0.57.1

2 files

0.57.0

2 files

0.56.1

2 files

0.56.0

2 files

0.55.0

2 files

0.54.1

2 files

0.54.0

2 files

0.53.1

2 files

0.53.0

2 files

0.52.1

2 files

0.52.0

2 files

0.51.4

2 files

0.51.3

2 files

0.51.2

2 files

0.51.1

2 files

0.51.0

2 files

0.50.2

2 files

0.50.1

2 files

0.50.0

2 files

0.49.4

2 files

0.49.1

2 files

0.49.0

2 files

0.48.1

2 files

0.46.1

2 files

0.46.0

2 files

0.45.2

2 files

0.43.2

2 files

0.43.1

2 files

0.43.0

2 files

0.42.0

2 files

0.41.1

2 files

0.41.0

2 files

0.39.0

2 files

0.38.0

2 files

0.37.9

2 files

0.37.8

2 files

0.37.7

2 files

0.37.6

2 files

0.37.5

2 files

0.37.4

2 files

0.37.3

2 files

0.37.1

2 files

0.37.0

2 files

0.36.1

2 files

0.36.0

2 files

0.33.0

2 files

0.32.0

2 files

0.31.0

2 files

0.30.0

2 files

0.29.0

2 files

0.25.0

2 files

0.24.1

2 files

0.24.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.3

2 files

0.18.2

2 files

0.18.1

2 files

0.18.0

2 files

0.17.1

2 files

0.17.0

2 files

0.16.2

2 files

0.16.1

2 files

0.16.0

2 files

0.15.3

2 files

0.15.2

2 files

0.15.1

2 files

0.15.0

2 files

0.14.1

2 files

0.14.0

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page