Skip to main content

Command-line toolkit and async Python API client for Eledo.

Project description

eledoctl

CI codecov Release License: MIT Eledo Eledo PDF automation overview

eledoctl is an open-source command-line toolkit for Eledo.

It contains two Python modules:

  • pyeledo — async-native Python API client for Eledo REST APIs
  • eledoctl — CLI, REPL, and automation layer built on top of pyeledo

The project is MIT licensed. Public functionality is exposed through pyeledo and eledoctl, while internal Eledo tooling is implemented as optional extensions.

Architecture

repo/
├── src/
│   ├── pyeledo/       # Async SDK / REST client
│   └── eledoctl/      # CLI / REPL / orchestration
└── tests/
    ├── pyeledo/
    └── eledoctl/

pyeledo is async-first and async-only. It never stores credentials. Tokens are passed to the client by the caller.

from pyeledo import EledoClient, TemplateScope

async with EledoClient(token="...") as client:
    profile = await client.get_profile()
    templates = await client.get_templates(scope=TemplateScope.PRIVATE)

Initial CLI Tree

eledoctl login
eledoctl profile
eledoctl templates
eledoctl documents generate TEMPLATE_ID --payload payload.json --output output.pdf
eledoctl internal

For now the CLI passes an empty token unless --token is provided. Persistent token storage will be added later in eledoctl, not in pyeledo.

Installation

pip install eledoctl

Development

The project uses modern Python tooling based on uv.

Create or update the development environment

uv sync --group dev

Run the test suite

uv run pytest

Run the CLI

uv run eledoctl --help

Format the code

uv run ruff format .

Run linting

uv run ruff check .

Run type checking

uv run mypy src

Full validation

uv run ruff format .
uv run ruff check .
uv run mypy src
uv run pytest

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

eledoctl-1.1.1.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

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

eledoctl-1.1.1-py3-none-any.whl (33.7 kB view details)

Uploaded Python 3

File details

Details for the file eledoctl-1.1.1.tar.gz.

File metadata

  • Download URL: eledoctl-1.1.1.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eledoctl-1.1.1.tar.gz
Algorithm Hash digest
SHA256 5989db25b530f9080d4f7b1171684b46d9acbbefe4f274d4bfda8c23f17caf5f
MD5 3aa83debc5f3ee93c79bd835fbff582f
BLAKE2b-256 e5489362a30209981463712f0620908e56b559ce1c27266a526efdc3648007f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for eledoctl-1.1.1.tar.gz:

Publisher: publish.yml on eledo-online/eledoctl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eledoctl-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: eledoctl-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eledoctl-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3c608e4cc0923fd2e88f82de90e710a1d7a0143cb35147c109d2d95ef025ef09
MD5 16b4a2ae7fcd96fffd3a9e4ac60895bf
BLAKE2b-256 ff47cdfa601afe0f34b6ed96e66e4ab566309a3497112f01b24bca1c7dc1cfbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for eledoctl-1.1.1-py3-none-any.whl:

Publisher: publish.yml on eledo-online/eledoctl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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