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.0

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.0
File Size Uploaded
aicademy-0.5.0.tar.gz 251.8 kB Details

Built distribution (wheel)

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

Total release size: 311.5 kB

Release files / aicademy-0.5.0.tar.gz

Download URL aicademy-0.5.0.tar.gz
Size 251.8 kB
Tags Source
SHA-256 checksum
How to use checksums
24d22ce766a16001248522f65e3007670934b5bb35c0c077fa4d7f4200a620b5
BLAKE2b-256 checksum
How to use checksums
8211ab44b802ac6b735f2b805c6ef960bd98b22f56e87ca7ace50bd14585777d
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.0-py3-none-any.whl

Download URL aicademy-0.5.0-py3-none-any.whl
Size 59.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b6fa9676e4291ea7ddcfb172b1061b1c232a1ea744777f0e18ccb83b2a158f5f
BLAKE2b-256 checksum
How to use checksums
9f5025d09d117c6e2d5b9ccb8ff0351a5ea7beff06d779a02a3c3426435d58e8
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

0.5.1

2 release files

This release

0.5.0 This release

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