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.5
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.5.tar.gz | 47.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| accli-2.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 97.8 kB
Release files / accli-2.0.5.tar.gz
| Download URL | accli-2.0.5.tar.gz |
|---|---|
| Size | 47.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a4ea81afeefa55706416e9bfd650cacfa7b30f21515b8f31df444348cd404b1b
|
|
BLAKE2b-256 checksum How to use checksums |
c9602dfcf543a82755099ab18f23e390af5cc0d37e55902ec85ff8cfa65cf96e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / accli-2.0.5-py3-none-any.whl
| Download URL | accli-2.0.5-py3-none-any.whl |
|---|---|
| Size | 50.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8e6a4a87deecef31183ced49d0fe2fe114cc99708bdf16877240111d961c2b9d
|
|
BLAKE2b-256 checksum How to use checksums |
155b72cc256f35d1a0f5afd5b5eebbccef6aae69663521d385d6a91d586cfb7b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|