Skip to main content

Aicademy Practice CLI — solve Kubernetes exam scenarios locally with KIND

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aicademy-0.4.4.tar.gz (197.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aicademy-0.4.4-py3-none-any.whl (40.9 kB view details)

Uploaded Python 3

File details

Details for the file aicademy-0.4.4.tar.gz.

File metadata

  • Download URL: aicademy-0.4.4.tar.gz
  • Upload date:
  • Size: 197.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aicademy-0.4.4.tar.gz
Algorithm Hash digest
SHA256 722f937be246689a1b68755211f93b3fca6e91af095ba41da0bf95cb7d4fa9c8
MD5 7f84467bfad2eb4e65ceeae628c3253d
BLAKE2b-256 acbcee70a498e8c9798c3257bf0d4e1c3ff9091bcef7e4c05058cde969f9e8b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for aicademy-0.4.4.tar.gz:

Publisher: publish.yml on devcrypted/aicademy-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aicademy-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: aicademy-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 40.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aicademy-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 747a824b36c3dca5936a6111bd634f5bbe8cc7fc56d094e0ca24fa7dab0c3f9d
MD5 ff25422b2a9df65fb0ffb421618023e3
BLAKE2b-256 97f93e36300e9b38160cd59848a19b2c18356c0f6f450f7825a3a68eec5bea75

See more details on using hashes here.

Provenance

The following attestation bundles were made for aicademy-0.4.4-py3-none-any.whl:

Publisher: publish.yml on devcrypted/aicademy-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page