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.
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
- Python >= 3.7.17
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 | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/iiasa/accli/master/scripts/install.ps1 | iexpip install accli --userpython -m accliAfter 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.\.
accli --helpSample Output:
Usage: accli [OPTIONS] COMMAND [ARGS]...
Follow the official Python packaging tutorial:
Packaging Projects – Python.org
-
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/*