Entropy Data CLI
The Entropy Data CLI is a command-line tool for interacting with the Entropy Data platform. It allows you to manage data products, data contracts, access agreements, teams, source systems, definitions, certifications, classifications, tags, assets, and more — directly from your terminal or CI/CD pipeline. The CLI is written in Python and can be used standalone or integrated into scripts and automation pipelines.
Installation
Requires Python 3.11 or newer.
Install with uv (recommended):
uv tool install entropy-data
entropy-data --help
Or with pip:
pip install entropy-data
entropy-data --help
Docker
docker run --rm entropydata/entropy-data-cli --help
Configuration
The CLI resolves credentials from four sources, in order of precedence:
- CLI options (
--api-key,--host) - The named connection selected with
--connection - Environment variables or a
.envfile (ENTROPY_DATA_API_KEY,ENTROPY_DATA_HOST) - The default connection in
~/.entropy-data/config.toml
Note that an explicit --connection overrides environment variables, while the default
connection only applies when neither CLI options nor environment variables supply a value.
The API key and host are resolved independently, so you can, for example, set the host through
ENTROPY_DATA_HOST and let the default connection supply the API key.
Connections
Generate an API key in the Entropy Data UI under organization settings, then add a connection:
entropy-data connection add prod
# prompts for API key and host
Connections are stored in ~/.entropy-data/config.toml:
default_connection_name = "prod"
[connections.prod]
api_key = "ed_abc123..."
host = "https://api.entropy-data.com"
[connections.dev]
api_key = "ed_xyz789..."
host = "https://localhost:8080"
Switch the active connection with --connection:
entropy-data --connection dev dataproducts list
Manage connections:
entropy-data connection list
entropy-data connection set-default prod
entropy-data connection test
entropy-data connection remove dev
Environment Variables
export ENTROPY_DATA_API_KEY="your-api-key"
export ENTROPY_DATA_HOST="https://app.entropy-data.com"
# Optional: verify TLS against the OS trust store instead of the bundled CA certificates
export ENTROPY_DATA_SYSTEM_TRUSTSTORE=1
.env File Support
The CLI automatically loads a .env file from the current working directory:
.env
ENTROPY_DATA_API_KEY=your-api-key
ENTROPY_DATA_HOST=https://app.entropy-data.com
Values from .env do not override already-set environment variables.
CLI Options
entropy-data --api-key your-api-key --host https://app.entropy-data.com <command>
TLS behind a corporate proxy or internal CA
By default the CLI verifies TLS certificates against the CA certificates bundled with Python (certifi).
In a corporate network with a TLS-inspecting proxy or an internal certificate authority, requests fail with
CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate, because the root CA is installed in the
operating system's trust store but not in the bundled list.
Pass the global --system-truststore option to verify against the operating system's trust store
(macOS Keychain, the Windows certificate store, or the system CA certificates on Linux) instead:
entropy-data --system-truststore datacontracts list
To enable it for every invocation, set the environment variable:
export ENTROPY_DATA_SYSTEM_TRUSTSTORE=1
This keeps certificate verification switched on while trusting your corporate root CA, and applies to every command that makes HTTPS requests.
Usage
Explore your data platform
# List teams
entropy-data teams list
# Get a specific data product
entropy-data dataproducts get my-data-product
# List data contracts as JSON
entropy-data datacontracts list --output json
Manage resources
# Create or update a team from a YAML file
entropy-data teams put marketing --file team.yaml
# Approve an access agreement
entropy-data access approve 640864de-83d4-4619-afba-ccea8037ed3a
# Search across all resources
entropy-data search query "customer orders"
Classifications
Manage classification schemes and their levels. The argument is the scheme's
external ID (for example classification).
# List all classification schemes
entropy-data classifications list
# Get one scheme with its levels
entropy-data classifications get confidentiality --output yaml
# Create or update a scheme from a file
entropy-data classifications put confidentiality --file confidentiality.yaml
# Delete a scheme
entropy-data classifications delete confidentiality
Star data products
Stars let users bookmark the data products they care about. Starring requires a user-scoped API key, because a star belongs to the user behind the key.
# Star and unstar a data product
entropy-data dataproducts star my-data-product
entropy-data dataproducts unstar my-data-product
# Show the star count and whether you starred it
entropy-data dataproducts star-status my-data-product
# List the users who starred it (organization owners only)
entropy-data dataproducts stargazers my-data-product --output json
Team roles
Read and write the organization's team roles configuration. The configuration is a single resource carrying both the mode and the role catalog.
# Show the current mode and roles
entropy-data settings team-roles get
Switch back to the built-in roles with {"mode": "default"}, or supply a custom catalog. With
custom-team-roles the roles you list replace the entire catalog, and an empty list is rejected
with a 409 so you cannot lock yourself out.
team-roles.yaml
mode: custom-team-roles
team-roles:
- name: Data Steward
rank: 20
permissions:
- RESOURCES_EDIT
- CHANGE_REQUEST_SUBMIT
entropy-data settings team-roles put --file team-roles.yaml
Integration runs
# Trigger a run and wait for it to finish
entropy-data integrations run snowflake-prod --wait
# Fetch the most recent run for an integration
entropy-data integrations runs-latest snowflake-prod
Integrations are addressed by external ID or display name.
Schemas
Fetch the JSON Schemas that data contracts (ODCS) and data products (ODPS) validate against. By default the current base schema is printed raw to stdout so redirects and piping stay byte-faithful.
# Print the current ODCS schema
entropy-data schemas get odcs
# Compose the organization's customization overlay onto the base ODPS schema
entropy-data schemas get odps --custom
# Pin a specification version and write to a file
entropy-data schemas get odcs --version 3.1.0 --file odcs-3.1.0.schema.json
Commands
entropy-data [--version|-v] [--connection|-c NAME] [--api-key KEY] [--host URL]
[--output|-o table|json|yaml] [--system-truststore] [--debug]
connection list | get | add | remove | set-default | test
dataproducts list | get | put | delete | import-from-git | gitconnection ...
star | unstar | star-status | stargazers
datacontracts list | get | put | test | delete | yaml | generate | import-from-git | gitconnection ...
access list | get | put | delete | approve | reject | cancel | request
teams list | get | put | delete | git-credentials ... | notifications ...
sourcesystems list | get | put | delete
definitions list | get | put | delete
certifications list | get | put | delete
classifications list | get | put | delete
policies list | get | put | delete
example-data list | get | put | delete
test-results list | get | publish | delete
costs list | add | delete
assets list | get | put | delete | tags ...
tags list | get | put | delete
api-keys create | delete
connectors list | get | put | delete
integrations list | get | runs | runs-get | runs-latest | run | cancel
organization get | members ... | git-credentials ...
settings get-customization | put-customization | get-scim-mapping | put-scim-mapping
team-roles ...
events poll
lineage list | submit | delete
schemas get
search query
semantics namespaces ... | concepts ... | relationships ... | search
usage list | submit | delete
import zip
Links
- Entropy Data CLI on GitHub
- entropy-data on PyPI