Skip to main content

Euno's CLI library to programmatically interact with Euno instance

Project description

Euno SDK

Euno's CLI library to programmatically interact with Euno instance

Installation

pip install euno-sdk

Quick Start

As a Library

import euno

# Hello world function
message = euno.hello_world("Euno")
print(message)  # Output: Hello, Euno! Welcome to the Euno SDK!

# List resources from your Euno instance
resources = euno.list_resources()
print(f"Found {resources['count']} resources")

# List resources with custom parameters
resources = euno.list_resources(
    properties="uri,type,name,description",
    page_size=10
)

# List resources with EQL query
resources = euno.list_resources(
    eql="type='table'",
    properties="uri,name"
)

As a CLI Tool

# Hello world command
euno hello-world --name Euno

# Show version
euno version

# Show help
euno --help

Development

Setup Development Environment

# Clone the repository
git clone https://github.com/euno-ai/euno-sdk.git
cd euno-sdk

# Install development dependencies
pip install -r requirements-dev.txt

# Install the package in development mode
pip install -e .

Running Tests

pytest

Code Formatting

black euno tests

Type Checking

mypy euno

API Reference

Core Functions

hello_world(name: str = "World") -> str

A simple hello world function to demonstrate the SDK.

Parameters:

  • name (str): The name to greet (default: "World")

Returns:

  • str: A greeting message

Example:

from euno import hello_world

message = hello_world("Euno")
print(message)  # Output: Hello, Euno! Welcome to the Euno SDK!

get_version() -> str

Get the current version of the Euno SDK.

Returns:

  • str: The version string

Example:

from euno import get_version

version = get_version()
print(version)  # Output: 0.2.0

CLI Commands

euno hello-world

A simple hello world command to demonstrate the CLI.

Options:

  • --name, -n: Name to greet (default: "World")

Example:

euno hello-world --name Euno

euno version

Show the version of the Euno SDK.

Example:

euno version

euno init

Initialize the Euno SDK with your API token.

This command will prompt you for your Euno API token and validate it against the Euno backend. The token will be stored securely for future use.

Example:

euno init

Configuration:

  • You can override the stored token by setting the EUNO_TOKEN environment variable
  • You can override the stored account ID by setting the EUNO_ACCOUNT environment variable

euno status

Show the current configuration status.

Displays information about the current configuration including backend URL, token status, and user information.

Example:

euno status

euno logout

Clear the stored configuration and log out.

This will remove the stored API token and require you to run 'euno init' again to authenticate.

Example:

euno logout

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for your changes
  5. Run the test suite
  6. Submit a pull request

Development Setup

# Clone the repository
git clone https://github.com/euno-ai/euno-sdk.git
cd euno-sdk

# Install development dependencies
pip install -r requirements-dev.txt

# Install the package in development mode
pip install -e .

# Install pre-commit hooks
pre-commit install

Running Tests

# Run all tests
make test

# Run tests with coverage
pytest tests/ -v --cov=euno --cov-report=html

# Run specific test file
pytest tests/test_euno.py -v

Code Quality

# Format code
make format

# Run linting
make lint

# Type checking
make type-check

# Run all quality checks
make lint && make type-check

GitHub Actions

This repository uses GitHub Actions for continuous integration:

  • CI: Runs tests on Python 3.8-3.12, linting, type checking, and builds
  • Pre-commit: Ensures code quality with pre-commit hooks
  • Publish: Automatically publishes to PyPI when a release is created

See .github/README.md for detailed workflow documentation.

License

This project is licensed under the MIT License - see the LICENSE file for 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

euno-0.3.0.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

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

euno-0.3.0-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file euno-0.3.0.tar.gz.

File metadata

  • Download URL: euno-0.3.0.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for euno-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c4d6e563de2f2831f4cd151d9e1d0ef89efb891e5c5cbc10e536aca3c0563903
MD5 292424c8c50a3d19e41ee2a22c277d9d
BLAKE2b-256 84180d82e2c87ca53f57aec3201dc4139fc883d829b2e34506c1036718b114a6

See more details on using hashes here.

File details

Details for the file euno-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: euno-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for euno-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00679751372d7c0564f44445bea7056b3eefa27efb352881bc264b3292ee4436
MD5 9374258336136c8957e78fcbddb46f7b
BLAKE2b-256 e062da3de0c36a4e3b7256d734481db0e494078dbac3d0ca90376158a0422357

See more details on using hashes here.

Supported by

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