π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 eunoRequirements: 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 initThis 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.
--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.
--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.
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.
--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).
--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/searchexpect repeated query keys, not comma-separated values in a single key. For example, use?properties=uri&properties=name&properties=typeinstead of?properties=uri,name,type. This applies toproperties,relationships,sorting,uris(impact analysis),ids(Luzmo columns), and similarlist[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.
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