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.2.0.tar.gz (25.6 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.2.0-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for eledoctl-1.2.0.tar.gz
Algorithm Hash digest
SHA256 103b111c54fffe52f10bd50eaf735bd6f8fdaa7865a26df6236d9ef841ea8743
MD5 f801b94575f075f2df2876f7232b8806
BLAKE2b-256 16d54cbb4e9e38ae239cbeb7b742bf689bf69e1f114f40132fd88720939da348

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: eledoctl-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 35.6 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5834f4b806c76bce03fa8d7aca1ffdd273ce2b299c689516a320ebb04e637446
MD5 17174e168bc5a8f5c21879b1ac7e211a
BLAKE2b-256 3d780fee9a82fc4868af571264e66634a5295012d2f50fcc1408a9464769cc89

See more details on using hashes here.

Provenance

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