Skip to main content

Aicademy CLI

Practice CKA, CKAD, and CKS exam scenarios locally — powered by KIND + Aicademy API.

PyPI Python License: MIT

Installation

Using pip

pip install aicademy

Using uv (recommended)

uv tool install aicademy

Using pipx

pipx install aicademy

Quick Start

# 1. Login to Aicademy
aicademy login

# 2. Check / install prerequisites
aicademy install-tool all --check
aicademy install-tool all

# 3. Start a practice question (creates KIND cluster automatically)
aicademy question start cka-01

# 4. Read the full task instructions in your terminal
aicademy question instructions

# 5. Solve the scenario using kubectl, helm, etc.

# 6. Verify your solution
aicademy verify

# 7. Clean up the cluster
aicademy question clear

Command Reference

Command Description
aicademy login Authenticate (browser flow or direct token)
aicademy logout Clear stored credentials
aicademy auth whoami Verify token validity
aicademy question start <id> Start question environment (creates KIND cluster)
aicademy question instructions [id] Show full task instructions in terminal
aicademy question instructions [id] --web Open question page in browser
aicademy question clear [id] Delete KIND cluster and clear session
aicademy verify [id] Run verify.sh and report result
aicademy install-tool <name> Install kubectl / kind / docker / all
aicademy install-tool <name> --check Check if tool is installed (no install)
aicademy install-tool <name> --dry-run Preview install commands

Prerequisites

Tool Purpose Install
Docker Runs KIND nodes aicademy install-tool docker
kubectl Kubernetes CLI aicademy install-tool kubectl
kind Local K8s cluster aicademy install-tool kind

OS Support

OS Package Manager
Windows winget
macOS Homebrew
Linux Official shell scripts

Categories

Exam Slug Questions Free
Certified Kubernetes Administrator cka 20 10
Certified Kubernetes Application Developer ckad 20 10
Certified Kubernetes Security Specialist cks 20 10

Development

Project Structure

The codebase is organized modularly:

  • aicademy_cli/main.py: The entry point and top-level Typer application.
  • aicademy_cli/commands/: All user-facing Typer CLI groups (auth, question, tools, verify).
  • aicademy_cli/api.py: Centralized HTTP requests and error handling.
  • aicademy_cli/core/: Internal logic like cluster management (kind.py) and helper methods (utils.py).

Using uv

# Clone and install in dev mode
git clone https://github.com/devcrypted/aicademy-cli
cd aicademy-cli
uv sync

# Run against local dev server
AICADEMY_API_URL=http://localhost:5173 uv run aicademy login

# Run tests
uv run pytest

# Lint
uv run ruff check .
uv run mypy aicademy_cli/

Publishing to PyPI

Publishing is 100% automated via GitHub Actions (ci.yml) using Trusted Publishing.

To release a new version:

  1. Update the version in pyproject.toml (e.g., version = "0.1.2").
  2. Commit and push the change to the main branch.
  3. The CI pipeline will automatically run tests, build the package, publish it to PyPI, and create a GitHub Release with the corresponding vX.X.X tag.

Security

  • CLI tokens stored in ~/.aicademy/config.json
  • Tokens expire after 7 days — run aicademy login to renew
  • Question tasks and scenarios only delivered when you have an active session (anti-scraping)
  • Revoke all tokens with aicademy logout

License

MIT © Aicademy

Metadata

Release files for aicademy 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aicademy 0.5.1
File Size Uploaded
aicademy-0.5.1.tar.gz 251.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aicademy 0.5.1
File Interpreter ABI Platform
aicademy-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 311.5 kB

Release files / aicademy-0.5.1.tar.gz

Download URL aicademy-0.5.1.tar.gz
Size 251.8 kB
Tags Source
SHA-256 checksum
How to use checksums
06e61b8d499330607862d4db810e791c82c5e7501b3c94e4c9fb74d9b9c22856
BLAKE2b-256 checksum
How to use checksums
65f5a9c4f5219f90c91c0d9a4c2e15d38304f6bac3d7d3e09ef7ca51c7033450
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / aicademy-0.5.1-py3-none-any.whl

Download URL aicademy-0.5.1-py3-none-any.whl
Size 59.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fb537ca139df9d91865a698f0a8cc07dd7a7bf2c75db8fc8a0641a4c0dff8a6f
BLAKE2b-256 checksum
How to use checksums
91c9f598bdd4a04cff6d6f8d1113c4b27182a3947cf5a568bb13035a69e41d9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page