🐍Euno SDK

The Euno SDK (v0.5) is a Python library and command-line tool that provides programmatic access to Euno functionality. It allows you to interact with your Euno instance from scripts, applications, and the command line.

Installation

Install the Euno SDK using pip:

pip install euno

Requirements: Python 3.12+. The SDK depends on click, pydantic, and requests, which are installed automatically.

Quick Start

1. Initialize the SDK

After installation, initialize the SDK with your Euno API credentials:

euno init

This command will prompt you for:

  • Your Euno API token

  • Your account ID

  • A persona to use for account-scoped requests (selected from a list of your available personas)

The credentials and selected persona will be stored securely for future use.

Tip: To obtain an API token, go to Euno β†’ click the user card at the bottom of the sidebar β†’ Personal API Keys.

Tip: To use the SDK without going through the interactive initialization, use environment variables. See the Configuration section below.

2. Explore Available Commands

Use the --help flag to discover all available capabilities:

This will show you all available commands and their descriptions.


CLI Reference

All commands support a --help flag for inline documentation.

Authentication Commands

euno init

Initialize the SDK with your API token, account ID, and persona.

During initialization you will be prompted to select a persona from those available to your user in the configured account. The selected persona is stored and sent as the X-Euno-Persona header on all subsequent account-scoped requests.

euno status

Display the current configuration and verify that the stored token is valid.

Output includes backend URL, masked token, account ID, active persona, authenticated user email, and account permission check.

euno logout

Clear the stored configuration (token and persona).

After logging out, you must run euno init again before using other commands.


Resources Commands

euno resources list

List resources from the Euno data model.

Option
Alias
Default
Description

--eql TEXT

-e

EQL filter expression

--properties TEXT

-p

uri,type,name

Comma-separated list of properties to return

--page INT

1

Page number

--page-size INT

50

Number of resources per page

--sorting TEXT

-s

Comma-separated sorting specification

--relationships TEXT

-r

Comma-separated list of relationships to include

--format TEXT

-f

json

Output format: json, csv, or pretty

Examples:


Metadata Tags Commands

euno metadata-tags list

List all metadata tags (custom properties) defined for the configured account.

Option
Alias
Default
Description

--format TEXT

-f

json

Output format: json, csv, or pretty

Examples:

euno metadata-tags set-value

Set values for a metadata tag (custom property) on one or more resources.

Argument / Option
Description

CP_ID

The custom property ID (integer)

VALUE_UPDATES

JSON array string of { "resource_uri": "...", "value": "..." } objects

--format / -f

Output format: json or pretty (default: json)

Examples:


Glossary Commands

euno glossary list

List glossary terms with optional filters.

Option
Default
Description

--domain-id INT

Filter by domain ID (repeatable for multiple domains)

--owner TEXT

Filter by owner

--tag TEXT

Filter by tag β€” AND semantics (repeatable)

--search TEXT

Substring search over name/synonyms

--skip INT

0

Offset for pagination

--limit INT

100

Maximum number of results

--format / -f

json

Output format: json or pretty

Examples:

euno glossary get

Get a single glossary term by its numeric ID.

Example:

euno glossary get-by-name

Resolve a glossary term by its exact name. Use --domain-id to disambiguate when the same name exists in multiple domains.

Examples:

euno glossary create

Create a new glossary term from a JSON payload.

Example:

euno glossary update

Update an existing glossary term using a JSON patch object. Optionally supply a change note (max 500 characters) for the version history.

Example:

euno glossary delete

Delete a glossary term by ID.

Example:

euno glossary versions

List the version history for a glossary term.

Example:

euno glossary export

Export glossary terms to a ZIP file. Optionally filter by domain ID(s) or tag(s).

Option
Default
Description

--domain-id INT

Domain(s) to export (repeatable)

--tag TEXT

Tag filter(s) (repeatable)

--output / -o

glossary_export.zip

Output file path

Examples:


Glossary Relationship Commands

euno glossary relationships list

List all relationships for a glossary term.

euno glossary relationships get

Get a single glossary relationship by term ID and relationship ID.

euno glossary relationships create

Create a relationship for a glossary term from a JSON payload.

Example:

euno glossary relationships update

Update (patch) a glossary relationship.

Example:

euno glossary relationships delete

Delete a glossary relationship.


Python Library Usage

All CLI functionality is also available as a Python API by importing the euno package directly.

Resources

Signature:

Query parameters for list-valued fields (breaking change, API v2026-05): Endpoints such as /data_model/search expect repeated query keys, not comma-separated values in a single key. For example, use ?properties=uri&properties=name&properties=type instead of ?properties=uri,name,type. This applies to properties, relationships, sorting, uris (impact analysis), ids (Luzmo columns), and similar list[str] parameters.

  • Python requests / httpx: pass a list: params={"properties": ["uri", "name", "type"]}.

  • curl: repeat the key: curl '...?properties=uri&properties=name'.

  • Euno CLI/SDK: comma-separated strings in the Python SDK CLI may still be accepted by the client layer if it expands them before HTTP; when calling the REST API directly, use repeated keys.

Large-scale export: The Data Model screen's CSV download is limited to 10,000 resources per export. For exporting or processing more than 10K resources, use euno.list_resources() with pagination.


Metadata Tags

Signatures:


Glossary Terms


Glossary Relationships


Personas

The active persona (selected during euno init or set via EUNO_PERSONA) is automatically forwarded as the X-Euno-Persona header on all account-scoped API requests.


Configuration

The SDK stores configuration in ~/.euno/config.json. You can override any stored value using environment variables β€” environment variables always take precedence.

Environment Variable
Config Key
Default
Description

EUNO_TOKEN

token

API token

EUNO_ACCOUNT

account_id

Account ID

EUNO_PERSONA

persona

backend default

Persona (role name) for account-scoped requests

EUNO_BACKEND

backend_url

https://api.app.euno.ai

Euno backend URL (for self-hosted deployments)

Example β€” using environment variables instead of euno init:


Getting Help

For detailed help on any command, use:

Examples:

Last updated