Ascender Kit
Ascender Kit provides ascender, the official command line client for Ascender, along with the Python library that backs it. Rather than hard-coding a list of commands, the CLI discovers what your server supports at runtime by issuing HTTP OPTIONS requests against the REST API, so the resources and arguments you see are the ones your Ascender version actually offers.
Requirements
- Python 3.11 or newer
Installation
From PyPI
pip install ascender-kit
Some capabilities are kept behind extras so the base install stays small:
pip install ascender-kit[websockets] # job output streaming
pip install ascender-kit[formatting] # jq-style filtering of JSON output
pip install ascender-kit[crypto] # encrypted credential support
From source
git clone https://github.com/ctrliq/ascender-kit.git
pip install -e ascender-kit
Using the client
Point the client at your server and confirm it can authenticate:
export CONTROLLER_HOST=https://ascender.example.org
export CONTROLLER_USERNAME=alice
export CONTROLLER_PASSWORD=secret
ascender config
Because the command set is discovered from the server, --help is the reference:
ascender --help # every available resource
ascender job_templates --help # every action on job templates
ascender job_templates launch --help # every argument for one action
A few common operations:
ascender jobs list -f human --filter name,created,status
ascender job_templates launch 'Example Job Template' --monitor -f human
ascender export > resources.json
Authentication
Connection settings resolve from highest to lowest precedence:
| Precedence | Source |
|---|---|
| 1 | Command line flags, such as --conf.host and --conf.token |
| 2 | Environment variables: CONTROLLER_HOST, CONTROLLER_USERNAME, CONTROLLER_PASSWORD |
| 3 | The config file written by ascender login and ascender config |
For repeated use, generate a token instead of passing credentials each time:
$(ascender login -f human)
Included content
ascenderCLI: the command line client, with resources discovered at runtimeascenderkitlibrary: the same API client, importable for your own tooling- Output formats: JSON by default, plus YAML and human-readable tables via
-f - Field filtering: narrow output to the columns you care about with
--filter - Job monitoring: follow job output over a websocket with
--monitor - Import and export: move resources between servers with
exportandimport
Testing
Ascender Kit uses tox to manage test environments.
- Full suite:
tox - Tests only:
tox -e test - Lint only:
tox -e lint
Documentation
- CLI documentation lives in
ascenderkit/cli/docs - Product documentation is at docs.ascender-automation.org
The Ascender ecosystem
| Repository | Description |
|---|---|
| ascender | The platform itself: web UI, REST API, and task engine |
| ascender-install | Installer for Ascender and Ledger, with Galaxy Proxy support |
| ascender-k8s-install | Kubernetes installer for Ascender, Ledger, and React |
| ascender-pro-install | Enhanced installer adding Reaqt, Registry, and Galaxy Proxy |
| ascender-operator | Kubernetes operator that deploys and manages Ascender |
| ascender-ee | Default execution environment image for Ascender jobs |
| ascender-kit | The ascender command line client and Python API library |
| ascender-collection | The ctrliq.ascender Ansible collection for a controller |
| ascender-ledger | Reporting tool for host facts and playbook changes |
| ascender-galaxy-proxy | Caching proxy for Ansible Galaxy collection downloads |
| ascender-playbooks | Example playbooks for use with Ascender |
Contributing
- See CONTRIBUTING.md for development setup, testing, and pull requests.
- Report bugs and feature ideas via GitHub Issues.
- For security vulnerabilities, follow SECURITY.md rather than opening an issue.
- Join the Ascender forum to discuss development topics.
License
Licensed under the Apache License 2.0. See LICENSE and NOTICE.txt.
Metadata
Release files for ascender-kit 25.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ascender_kit-25.6.1.tar.gz | 144.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ascender_kit-25.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 281.3 kB
Release files / ascender_kit-25.6.1.tar.gz
| Download URL | ascender_kit-25.6.1.tar.gz |
|---|---|
| Size | 144.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22da1af7a205201289bd98eb0b1f4d6dd4971fa9b0580453d621cc50ebc25700
|
|
BLAKE2b-256 checksum How to use checksums |
b1170fd2599adc6484a0d5ca6db8d606887883714f73687b7b52a7854373bada
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency logRelease files / ascender_kit-25.6.1-py3-none-any.whl
| Download URL | ascender_kit-25.6.1-py3-none-any.whl |
|---|---|
| Size | 137.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
147411fed931443c4b0eaa6a8c0c3e9b24171009cf9c43a4bbd631ec71ffb979
|
|
BLAKE2b-256 checksum How to use checksums |
696a4ac38fb20e270a162003a8287fe1616d7aaa4e3568621f8267ff7725fad7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency log