Accelerator Terminal Client and Python API
This package provides:
- A command-line client (
accli) for interacting with the Accelerator. - A Python API via the
acclipackage.
Both interfaces communicate with the Accelerator’s REST API, implemented in the Control Services Backend.
🔐 Authentication
This client uses device authentication via Auth0.
- **OAuth Flow **: Device Authorization Flow
- Token Validity: 7 days
- Access Control: Role-Based Access Control (RBAC) with stateless tokens
- Grants: Limited and scoped
📖 User Guide
✅ Requirements
- Python >= 3.7.17
📦 Installation
Option 1: Standalone Binaries (Recommended)
No Python install required. Run the appropriate command for your system:
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/iiasa/accli/master/scripts/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/iiasa/accli/master/scripts/install.ps1 | iex
Option 2: Via PIP
pip install accli --user
▶️ Usage
As a Python Module
python -m accli
As an Executable
After installation, the executable might not be in your system PATH. You may see a warning like this:
WARNING: The script accli.exe is installed in 'C:\Users\<user>\AppData\Roaming\Python\Python311\Scripts' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
To resolve this, add the script's path to your system's environment variables:
Note: On Linux/macOS, you may need to prefix the command with
./, and on Windows, with.\.
🔍 Help Command
accli --help
Sample Output:
Usage: accli [OPTIONS] COMMAND [ARGS]...
👩💻 Developer Guide
Handling self-signed certificates
- Copy and paste certificates from
<control_services_backend>/certs/ca.crtas./certs/dev-backend.crtand<accelerator_service>/minio_certs/ca.crtas./certs/dev-minio-ca.crt. - Run as Administrator
cd scripts .\import_certs_certutil.ps1
🛠 Build & Upload
Follow the official Python packaging tutorial:
Packaging Projects – Python.org
🚀 Release Process
-
Update the version in
accli/_version.py -
Tag the release:
python scripts/tag.py -
Build the package:
python -m build
-
Upload to PyPI:
twine upload -r pypi -u __token__ -p <password-or-token> ./dist/*
Metadata
Release files for accli 2.0.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| accli-2.0.13.tar.gz | 54.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| accli-2.0.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 110.3 kB
Release files / accli-2.0.13.tar.gz
| Download URL | accli-2.0.13.tar.gz |
|---|---|
| Size | 54.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3262b2fcf664acf2833a5e6d0531be1feb5f0a78ac2f9ea6d476bbe1f04a754d
|
|
BLAKE2b-256 checksum How to use checksums |
1009bfbfc3376e3ee7b2e387dd88f866b3a77a283238c29432c8cb6e6300969d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Release files / accli-2.0.13-py3-none-any.whl
| Download URL | accli-2.0.13-py3-none-any.whl |
|---|---|
| Size | 55.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
86dc326d83c09aaf3f76758396bc3217b233283dd0bef41196664018afb5ee6c
|
|
BLAKE2b-256 checksum How to use checksums |
0e5014d096476ca06846c9dcd19dd853742b5c79d9a736ee3f83f04a3d936698
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|