CLI & SDK¶
The appliku package gives you two ways to interact with Appliku programmatically:
- CLI — a command-line tool for managing apps, deployments, domains, datastores, and more
- Python SDK — a library for scripting, automation, and CI/CD integrations
Both are shipped in the same PyPI package and require Python 3.10+.
Installation¶
Install uv (recommended)¶
uv is the recommended way to install and manage the Appliku CLI.
macOS and Linux:
Windows (PowerShell):
After installation, restart your shell or verify it works:
Install the CLI¶
Install appliku as a standalone tool — it will be available globally as the appliku command:
Verify the installation:
Install the SDK (for Python projects)¶
To use the SDK inside a Python project, add it as a dependency:
Updating¶
To upgrade the CLI to the latest version:
Alternative: pip¶
If you prefer pip, the package is also available that way:
Authentication¶
Browser login (recommended)¶
Running appliku login starts a browser-based device authorization flow. Once you approve the session in your browser, the CLI saves the API token to ~/.config/appliku/config.toml.
During the browser authorization step you will be asked to choose an access level before confirming:
| Access level | What it can do |
|---|---|
| Full access | Read and write — manage apps, trigger deployments, update config, and more |
| Read-only | Read only — view logs, deployment history, app configuration, and status |
| Custom | Exactly the resources and actions (Read/Create/Update/Delete) you tick in the matrix |
You must select one of the options before the "Authorize" button becomes active. Choose Read-only or Custom when you want to limit what the token can do — for example, when giving a CI job or an AI coding agent access to logs and deployments without the ability to delete infrastructure.
Custom permissions let you build a fine-grained permission matrix. For each resource type (Applications, Deployments, Servers, Clusters, Datastores, Domains, Environment Variables, Cron Jobs, Backups, Volumes, Team Members, Projects, SSH Keys, Git Credentials, Registry Credentials, Monitors, API Tokens, Teams, User), you select which actions the token may perform: Read, Create, Update, and/or Delete. Any request outside those grants is rejected with a 403 naming the missing permission.
For example, you can create a token that can read and deploy applications but cannot delete servers or manage team members. This is especially useful for AI agents and CI/CD pipelines where you want to follow the principle of least privilege.
You can also create tokens with custom permissions in Account Settings > API Tokens. See API Overview for more details on token permissions.
Giving AI agents scoped access
When you connect an AI coding assistant (Claude Code, Cursor, Copilot, etc.) to Appliku via the CLI, consider using Custom permissions. For example, grant Read on all resources plus Create and Update on Applications and Deployments, so the agent can deploy but cannot delete anything or manage team settings. See Using AI Coding Assistants with Appliku for details.
Direct token login¶
You can also log in by passing your API token directly:
Useful auth commands¶
Environment variable¶
For CI/CD pipelines and scripts, set the APPLIKU_TOKEN environment variable instead of logging in interactively:
CI/CD
In GitHub Actions, GitLab CI, or any other CI system, store your API token as a secret and expose it as APPLIKU_TOKEN. The CLI and SDK both pick it up automatically — no config file needed.
Token resolution order¶
When making API calls, the SDK and CLI resolve the token in this order:
- Explicit token passed as a parameter —
Appliku(token="...")orappliku login --token ... APPLIKU_TOKENenvironment variable- Token stored in
~/.config/appliku/config.toml
Claude Code Skill¶
If you use Claude Code, install the Appliku skill to give the agent full knowledge of the CLI and SDK in every session — no manual context needed:
See Using AI Coding Assistants with Appliku for details.
Next steps¶
- CLI Reference — full command listing for all resources
- Python SDK — SDK quick start, resource reference, and error handling