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 profile
eledoctl templates list
eledoctl templates schema TEMPLATE_ID
eledoctl pdf generate TEMPLATE_ID --payload payload.json --output output.pdf
eledoctl internal docs sync docs

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.0.0.tar.gz (13.0 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.0.0-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for eledoctl-1.0.0.tar.gz
Algorithm Hash digest
SHA256 65409b8de45df7128ee0462fcfc0d001fc9f48170b0c3caaac270c79dfcf4e29
MD5 7c597d21b6319975d11b438d6cbeb85b
BLAKE2b-256 3288f8955f02f18c0d0f6ed53221c7d0a69e794008cf6bfb98536c6167844d68

See more details on using hashes here.

Provenance

The following attestation bundles were made for eledoctl-1.0.0.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.0.0-py3-none-any.whl.

File metadata

  • Download URL: eledoctl-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 21.8 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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bdf8b9eba29164a7d9eed7f5e3eb57f723b9b4849ee215d2958667aaf2ea60ce
MD5 d28ba066a40a67ebb61fbdd107bf93b5
BLAKE2b-256 76652909be7b2fd965e946e51d8edd44e7c1eaa3ae3cfcd1141cdd8c907c3d60

See more details on using hashes here.

Provenance

The following attestation bundles were made for eledoctl-1.0.0-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