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.6
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.6.tar.gz | 49.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| accli-2.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 101.7 kB
Release files / accli-2.0.6.tar.gz
| Download URL | accli-2.0.6.tar.gz |
|---|---|
| Size | 49.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
09224a7ff94d07350c92e90d14138e8f4049f9562d9460a8b91c3b4d0a92ce3e
|
|
BLAKE2b-256 checksum How to use checksums |
d8790825e880ea672c32919eac7abbd65761a45ac63fc59005ac0afeaa2dda0c
|
| 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.6-py3-none-any.whl
| Download URL | accli-2.0.6-py3-none-any.whl |
|---|---|
| Size | 52.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
251dcbafab82548b86893f682aca71d4bd344a76c4e83f55409a37b2789ef6a5
|
|
BLAKE2b-256 checksum How to use checksums |
e09159ec50e4edfd15ee259114257943e34a3eccb3f0eeb21704849bc5d754c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|