vantage-cli 0.1.4__tar.gz → 0.1.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/.github/workflows/ci.yml +1 -1
- vantage_cli-0.1.6/.github/workflows/pages.yml +58 -0
- vantage_cli-0.1.6/.gitignore +66 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/PKG-INFO +1 -1
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/pyproject.toml +17 -1
- vantage_cli-0.1.6/scripts/README.md +166 -0
- vantage_cli-0.1.6/scripts/generate_complete_docs.py +504 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/uv.lock +92 -47
- vantage_cli-0.1.6/vantage_cli/__init__.py +281 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/apps/__init__.py +3 -3
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/apps/slurm_juju_localhost/app.py +2 -2
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/apps/slurm_microk8s_localhost/app.py +1 -1
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/apps/slurm_multipass_localhost/app.py +2 -2
- vantage_cli-0.1.6/vantage_cli/command_decorators.py +110 -0
- vantage_cli-0.1.6/vantage_cli/command_utils.py +45 -0
- vantage_cli-0.1.6/vantage_cli/commands/alias/__init__.py +21 -0
- vantage_cli-0.1.6/vantage_cli/commands/alias/apps.py +14 -0
- vantage_cli-0.1.6/vantage_cli/commands/alias/clouds.py +25 -0
- vantage_cli-0.1.6/vantage_cli/commands/alias/clusters.py +14 -0
- vantage_cli-0.1.6/vantage_cli/commands/alias/federations.py +14 -0
- vantage_cli-0.1.6/vantage_cli/commands/alias/networks.py +14 -0
- vantage_cli-0.1.6/vantage_cli/commands/alias/notebooks.py +15 -0
- vantage_cli-0.1.6/vantage_cli/commands/alias/profiles.py +17 -0
- vantage_cli-0.1.6/vantage_cli/commands/alias/teams.py +15 -0
- {vantage_cli-0.1.4/vantage_cli/commands/apps → vantage_cli-0.1.6/vantage_cli/commands/app}/__init__.py +3 -0
- {vantage_cli-0.1.4/vantage_cli/commands/apps → vantage_cli-0.1.6/vantage_cli/commands/app}/deploy.py +1 -1
- {vantage_cli-0.1.4/vantage_cli/commands/apps → vantage_cli-0.1.6/vantage_cli/commands/app}/list.py +4 -6
- {vantage_cli-0.1.4/vantage_cli/commands/clouds → vantage_cli-0.1.6/vantage_cli/commands/cloud}/__init__.py +7 -3
- vantage_cli-0.1.6/vantage_cli/commands/cloud/get.py +54 -0
- vantage_cli-0.1.6/vantage_cli/commands/cloud/list.py +58 -0
- {vantage_cli-0.1.4/vantage_cli/commands/clusters → vantage_cli-0.1.6/vantage_cli/commands/cluster}/__init__.py +5 -1
- {vantage_cli-0.1.4/vantage_cli/commands/clusters → vantage_cli-0.1.6/vantage_cli/commands/cluster}/delete.py +3 -2
- vantage_cli-0.1.6/vantage_cli/commands/cluster/federation/__init__.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/cluster/federation/create.py +45 -0
- vantage_cli-0.1.6/vantage_cli/commands/cluster/federation/delete.py +55 -0
- vantage_cli-0.1.6/vantage_cli/commands/cluster/federation/get.py +41 -0
- vantage_cli-0.1.6/vantage_cli/commands/cluster/federation/list.py +37 -0
- vantage_cli-0.1.6/vantage_cli/commands/cluster/federation/update.py +61 -0
- {vantage_cli-0.1.4/vantage_cli/commands/clusters → vantage_cli-0.1.6/vantage_cli/commands/cluster}/get.py +5 -3
- {vantage_cli-0.1.4/vantage_cli/commands/clusters → vantage_cli-0.1.6/vantage_cli/commands/cluster}/list.py +3 -3
- vantage_cli-0.1.6/vantage_cli/commands/config/__init__.py +22 -0
- vantage_cli-0.1.6/vantage_cli/commands/config/clear.py +58 -0
- vantage_cli-0.1.6/vantage_cli/commands/example.py +71 -0
- vantage_cli-0.1.6/vantage_cli/commands/federation/__init__.py +31 -0
- vantage_cli-0.1.6/vantage_cli/commands/federation/create.py +43 -0
- vantage_cli-0.1.6/vantage_cli/commands/federation/delete.py +53 -0
- vantage_cli-0.1.6/vantage_cli/commands/federation/get.py +39 -0
- vantage_cli-0.1.6/vantage_cli/commands/federation/list.py +35 -0
- vantage_cli-0.1.6/vantage_cli/commands/federation/update.py +59 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/__init__.py +22 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/script/__init__.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/script/create.py +45 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/script/delete.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/script/get.py +33 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/script/list.py +28 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/script/update.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/submission/__init__.py +21 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/submission/create.py +21 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/submission/delete.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/submission/get.py +30 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/submission/list.py +30 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/submission/update.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/template/__init__.py +19 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/template/create.py +21 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/template/delete.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/template/get.py +34 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/template/list.py +38 -0
- vantage_cli-0.1.6/vantage_cli/commands/job/template/update.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/__init__.py +24 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/configuration/__init__.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/configuration/create.py +55 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/configuration/delete.py +48 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/configuration/get.py +39 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/configuration/list.py +43 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/configuration/update.py +61 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/deployment/__init__.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/deployment/create.py +58 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/deployment/delete.py +41 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/deployment/get.py +52 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/deployment/list.py +87 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/deployment/update.py +75 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/product/__init__.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/product/create.py +52 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/product/delete.py +48 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/product/get.py +38 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/product/list.py +43 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/product/update.py +59 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/server/__init__.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/server/create.py +52 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/server/delete.py +48 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/server/get.py +37 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/server/list.py +33 -0
- vantage_cli-0.1.6/vantage_cli/commands/license/server/update.py +59 -0
- vantage_cli-0.1.6/vantage_cli/commands/network/__init__.py +30 -0
- vantage_cli-0.1.6/vantage_cli/commands/network/attach.py +54 -0
- vantage_cli-0.1.6/vantage_cli/commands/network/create.py +56 -0
- vantage_cli-0.1.6/vantage_cli/commands/network/delete.py +41 -0
- vantage_cli-0.1.6/vantage_cli/commands/network/detach.py +47 -0
- vantage_cli-0.1.6/vantage_cli/commands/network/get.py +53 -0
- vantage_cli-0.1.6/vantage_cli/commands/network/list.py +82 -0
- vantage_cli-0.1.6/vantage_cli/commands/network/update.py +62 -0
- vantage_cli-0.1.6/vantage_cli/commands/notebook/__init__.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/notebook/create.py +123 -0
- vantage_cli-0.1.6/vantage_cli/commands/notebook/delete.py +105 -0
- vantage_cli-0.1.6/vantage_cli/commands/notebook/get.py +114 -0
- vantage_cli-0.1.6/vantage_cli/commands/notebook/list.py +168 -0
- vantage_cli-0.1.6/vantage_cli/commands/notebook/update.py +61 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/commands/profile/crud.py +35 -6
- vantage_cli-0.1.6/vantage_cli/commands/storage/__init__.py +30 -0
- vantage_cli-0.1.6/vantage_cli/commands/storage/attach.py +51 -0
- vantage_cli-0.1.6/vantage_cli/commands/storage/create.py +59 -0
- vantage_cli-0.1.6/vantage_cli/commands/storage/delete.py +41 -0
- vantage_cli-0.1.6/vantage_cli/commands/storage/detach.py +43 -0
- vantage_cli-0.1.6/vantage_cli/commands/storage/get.py +56 -0
- vantage_cli-0.1.6/vantage_cli/commands/storage/list.py +95 -0
- vantage_cli-0.1.6/vantage_cli/commands/storage/update.py +66 -0
- vantage_cli-0.1.6/vantage_cli/commands/support_ticket/__init__.py +21 -0
- vantage_cli-0.1.6/vantage_cli/commands/support_ticket/create.py +21 -0
- vantage_cli-0.1.6/vantage_cli/commands/support_ticket/delete.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/support_ticket/get.py +36 -0
- vantage_cli-0.1.6/vantage_cli/commands/support_ticket/list.py +30 -0
- vantage_cli-0.1.6/vantage_cli/commands/support_ticket/update.py +26 -0
- vantage_cli-0.1.6/vantage_cli/commands/team/__init__.py +27 -0
- vantage_cli-0.1.6/vantage_cli/commands/team/add_member.py +27 -0
- vantage_cli-0.1.6/vantage_cli/commands/team/create.py +21 -0
- vantage_cli-0.1.6/vantage_cli/commands/team/delete.py +25 -0
- vantage_cli-0.1.6/vantage_cli/commands/team/get.py +27 -0
- vantage_cli-0.1.6/vantage_cli/commands/team/list.py +30 -0
- vantage_cli-0.1.6/vantage_cli/commands/team/list_members.py +35 -0
- vantage_cli-0.1.6/vantage_cli/commands/team/remove_member.py +27 -0
- vantage_cli-0.1.6/vantage_cli/commands/team/set_role.py +30 -0
- vantage_cli-0.1.6/vantage_cli/commands/team/update.py +25 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/config.py +30 -8
- vantage_cli-0.1.6/vantage_cli/decorators.py +90 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/main.py +62 -24
- vantage_cli-0.1.6/vantage_cli/simple_commands.py +77 -0
- vantage_cli-0.1.4/.github/workflows/pages.yml +0 -73
- vantage_cli-0.1.4/.gitignore +0 -30
- vantage_cli-0.1.4/scripts/README.md +0 -55
- vantage_cli-0.1.4/vantage_cli/__init__.py +0 -131
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/.commitlintrc.yml +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/.github/workflows/publish.yml +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/README.md +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/scripts/update_docs_version.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/scripts/update_docs_version.sh +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/apps/common.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/apps/slurm_juju_localhost/__init__.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/apps/slurm_juju_localhost/bundle_yaml.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/apps/slurm_microk8s_localhost/README.md +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/apps/slurm_microk8s_localhost/__init__.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/apps/slurm_multipass_localhost/__init__.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/apps/templates.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/auth.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/cache.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/client.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/command_base.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/commands/__init__.py +0 -0
- {vantage_cli-0.1.4/vantage_cli/commands/clouds → vantage_cli-0.1.6/vantage_cli/commands/cloud}/add.py +0 -0
- {vantage_cli-0.1.4/vantage_cli/commands/clouds → vantage_cli-0.1.6/vantage_cli/commands/cloud}/delete.py +0 -0
- {vantage_cli-0.1.4/vantage_cli/commands/clouds → vantage_cli-0.1.6/vantage_cli/commands/cloud}/render.py +0 -0
- {vantage_cli-0.1.4/vantage_cli/commands/clouds → vantage_cli-0.1.6/vantage_cli/commands/cloud}/update.py +0 -0
- {vantage_cli-0.1.4/vantage_cli/commands/clusters → vantage_cli-0.1.6/vantage_cli/commands/cluster}/create.py +0 -0
- {vantage_cli-0.1.4/vantage_cli/commands/clusters → vantage_cli-0.1.6/vantage_cli/commands/cluster}/render.py +0 -0
- {vantage_cli-0.1.4/vantage_cli/commands/clusters → vantage_cli-0.1.6/vantage_cli/commands/cluster}/schema.py +0 -0
- {vantage_cli-0.1.4/vantage_cli/commands/clusters → vantage_cli-0.1.6/vantage_cli/commands/cluster}/utils.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/commands/profile/__init__.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/commands/profile/render.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/constants.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/exceptions.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/format.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/gql_client.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/render.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/schemas.py +0 -0
- {vantage_cli-0.1.4 → vantage_cli-0.1.6}/vantage_cli/time_loop.py +0 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
name: Deploy Docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: ["main"]
|
|
6
|
+
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
concurrency:
|
|
10
|
+
group: "pages"
|
|
11
|
+
cancel-in-progress: false
|
|
12
|
+
|
|
13
|
+
permissions:
|
|
14
|
+
contents: read
|
|
15
|
+
pages: write
|
|
16
|
+
id-token: write
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
build:
|
|
20
|
+
name: Build Docusaurus
|
|
21
|
+
runs-on: ubuntu-24.04
|
|
22
|
+
|
|
23
|
+
# Deploy to the github-pages environment
|
|
24
|
+
environment:
|
|
25
|
+
name: github-pages
|
|
26
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- uses: actions/checkout@v4
|
|
30
|
+
with:
|
|
31
|
+
fetch-depth: 0
|
|
32
|
+
- uses: actions/setup-node@v4
|
|
33
|
+
with:
|
|
34
|
+
node-version: 22
|
|
35
|
+
cache: yarn
|
|
36
|
+
cache-dependency-path: docs/yarn.lock
|
|
37
|
+
|
|
38
|
+
- name: Install just
|
|
39
|
+
run: sudo snap install just --classic
|
|
40
|
+
|
|
41
|
+
- name: Install UV
|
|
42
|
+
run: sudo snap install astral-uv --classic
|
|
43
|
+
|
|
44
|
+
- name: Build website
|
|
45
|
+
run: just docs-build
|
|
46
|
+
|
|
47
|
+
- name: Setup Pages
|
|
48
|
+
uses: actions/configure-pages@v5
|
|
49
|
+
|
|
50
|
+
- name: Upload artifact
|
|
51
|
+
uses: actions/upload-pages-artifact@v3
|
|
52
|
+
with:
|
|
53
|
+
# Upload entire repository
|
|
54
|
+
path: './docs/build'
|
|
55
|
+
|
|
56
|
+
- name: Deploy to GitHub Pages
|
|
57
|
+
id: deployment
|
|
58
|
+
uses: actions/deploy-pages@v4
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
__pycache__/
|
|
2
|
+
**/__pycache__/
|
|
3
|
+
**/**/__pycache__/
|
|
4
|
+
|
|
5
|
+
# Docusaurus
|
|
6
|
+
docs/node_modules
|
|
7
|
+
docs/yarn-global
|
|
8
|
+
docs/yarn-cache
|
|
9
|
+
docs/.docusaurus
|
|
10
|
+
docs/build
|
|
11
|
+
docs/.yarn
|
|
12
|
+
docs/yarn-error.log
|
|
13
|
+
docs/npm-debug.log*
|
|
14
|
+
docs/yarn-debug.log*
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# Python virtual environments
|
|
18
|
+
.venv
|
|
19
|
+
venv/
|
|
20
|
+
env/
|
|
21
|
+
.env
|
|
22
|
+
**/.env
|
|
23
|
+
|
|
24
|
+
# Coverage reports
|
|
25
|
+
.coverage
|
|
26
|
+
cover_unit
|
|
27
|
+
cover_integration
|
|
28
|
+
cover_combined
|
|
29
|
+
.coverage.*
|
|
30
|
+
coverage
|
|
31
|
+
cover/
|
|
32
|
+
htmlcov/
|
|
33
|
+
|
|
34
|
+
# Testing and linting
|
|
35
|
+
.tox/
|
|
36
|
+
.nox/
|
|
37
|
+
.pytest_cache/
|
|
38
|
+
.pytest_cache/**
|
|
39
|
+
.pytest_cache/**/*
|
|
40
|
+
.pytest_cache/**/*
|
|
41
|
+
.ruff_cache/
|
|
42
|
+
.mypy_cache/
|
|
43
|
+
.dmypy.json
|
|
44
|
+
.dmypy.json/**
|
|
45
|
+
.pyre/
|
|
46
|
+
.pyre/**
|
|
47
|
+
.pyre/**/*
|
|
48
|
+
|
|
49
|
+
# Jupyter
|
|
50
|
+
.ipynb_checkpoints
|
|
51
|
+
|
|
52
|
+
# IDE and editor files
|
|
53
|
+
.vscode/
|
|
54
|
+
.idea/
|
|
55
|
+
*.swp
|
|
56
|
+
*.swo
|
|
57
|
+
*~
|
|
58
|
+
|
|
59
|
+
# OS generated files
|
|
60
|
+
.DS_Store
|
|
61
|
+
.DS_Store?
|
|
62
|
+
._*
|
|
63
|
+
.Spotlight-V100
|
|
64
|
+
.Trashes
|
|
65
|
+
ehthumbs.db
|
|
66
|
+
Thumbs.db
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "vantage-cli"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.6"
|
|
4
4
|
description = "The Vantage Compute CLI."
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "jamesbeedy", email = "james@vantagecompute.ai"}
|
|
@@ -66,6 +66,17 @@ vantage = "vantage_cli.main:app"
|
|
|
66
66
|
|
|
67
67
|
[tool.coverage.run]
|
|
68
68
|
branch = true
|
|
69
|
+
omit = [
|
|
70
|
+
# Exclude new stub command modules from coverage
|
|
71
|
+
"vantage_cli/commands/job/*",
|
|
72
|
+
"vantage_cli/commands/support_ticket/*",
|
|
73
|
+
"vantage_cli/commands/team/*",
|
|
74
|
+
"vantage_cli/commands/federation/*",
|
|
75
|
+
# Exclude existing stub command modules with low coverage
|
|
76
|
+
"vantage_cli/commands/license/*",
|
|
77
|
+
"vantage_cli/commands/storage/*",
|
|
78
|
+
"vantage_cli/commands/network/*",
|
|
79
|
+
]
|
|
69
80
|
|
|
70
81
|
[tool.coverage.report]
|
|
71
82
|
show_missing = true
|
|
@@ -123,3 +134,8 @@ max-complexity = 15
|
|
|
123
134
|
[build-system]
|
|
124
135
|
requires = ["hatchling"]
|
|
125
136
|
build-backend = "hatchling.build"
|
|
137
|
+
|
|
138
|
+
[dependency-groups]
|
|
139
|
+
dev = [
|
|
140
|
+
"pytest-cov>=7.0.0",
|
|
141
|
+
]
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# Scripts Directory
|
|
2
|
+
|
|
3
|
+
This directory contains utility scripts for the Vantage CLI project.
|
|
4
|
+
|
|
5
|
+
## generate_command_docs.py
|
|
6
|
+
|
|
7
|
+
**Purpose**: Automatically generates comprehensive Markdown documentation from extracted CLI help files.
|
|
8
|
+
|
|
9
|
+
**What it does**:
|
|
10
|
+
|
|
11
|
+
- Reads command help files and index.json created by `extract_command_help.py`
|
|
12
|
+
- Parses help content to extract usage, descriptions, arguments, and options
|
|
13
|
+
- Generates structured Markdown documentation with collapsible sections
|
|
14
|
+
- Creates properly formatted command reference documentation
|
|
15
|
+
- Handles nested command structures (2+ levels deep)
|
|
16
|
+
- Replaces internal python module calls with clean `vantage` command names
|
|
17
|
+
|
|
18
|
+
**Output**:
|
|
19
|
+
- Complete Markdown documentation file ready for documentation sites
|
|
20
|
+
- Structured with headers, collapsible details, and code blocks
|
|
21
|
+
- Auto-generated metadata (CLI version, generation timestamp)
|
|
22
|
+
|
|
23
|
+
**Usage**:
|
|
24
|
+
```bash
|
|
25
|
+
# Generate to default location (docs/commands.md)
|
|
26
|
+
python scripts/generate_command_docs.py
|
|
27
|
+
|
|
28
|
+
# Generate from custom help directory to custom output
|
|
29
|
+
python scripts/generate_command_docs.py /path/to/help/files /path/to/output.md
|
|
30
|
+
|
|
31
|
+
# Complete workflow example
|
|
32
|
+
python scripts/extract_command_help.py docs/command-help
|
|
33
|
+
python scripts/generate_command_docs.py docs/command-help docs/commands.md
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Dependencies**: Requires help files generated by `extract_command_help.py`
|
|
37
|
+
|
|
38
|
+
**Generated Features**:
|
|
39
|
+
- Authentication commands section
|
|
40
|
+
- Nested command groups with collapsible details
|
|
41
|
+
- Usage examples with proper `vantage` command syntax
|
|
42
|
+
- Automatic argument and option extraction
|
|
43
|
+
- Properly formatted Markdown for Jekyll/GitHub Pages
|
|
44
|
+
|
|
45
|
+
## update_docs_version.py
|
|
46
|
+
|
|
47
|
+
**Purpose**: Automatically updates documentation files with the current version from `pyproject.toml`.
|
|
48
|
+
|
|
49
|
+
**Files Updated**:
|
|
50
|
+
- `docs/_data/project.yml` - Updates version and date fields
|
|
51
|
+
- `docs/_config.yml` - Adds/updates version field
|
|
52
|
+
- `docs/index.md` - Adds version to front matter
|
|
53
|
+
|
|
54
|
+
**Usage**:
|
|
55
|
+
```bash
|
|
56
|
+
# Using justfile (recommended)
|
|
57
|
+
just update-docs-version
|
|
58
|
+
|
|
59
|
+
# Direct execution
|
|
60
|
+
python scripts/update_docs_version.py
|
|
61
|
+
|
|
62
|
+
# Using shell wrapper
|
|
63
|
+
./scripts/update_docs_version.sh
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Dependencies**:
|
|
67
|
+
- Python 3.7+ with `tomllib` (Python 3.11+) or `tomli` package
|
|
68
|
+
|
|
69
|
+
## update_docs_version.sh
|
|
70
|
+
|
|
71
|
+
**Purpose**: Shell wrapper for `update_docs_version.py` that handles dependency installation.
|
|
72
|
+
|
|
73
|
+
**Usage**:
|
|
74
|
+
```bash
|
|
75
|
+
./scripts/update_docs_version.sh
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Integration
|
|
79
|
+
|
|
80
|
+
### Local Development
|
|
81
|
+
Use `just update-docs-version` before building documentation locally.
|
|
82
|
+
|
|
83
|
+
### CI/CD (GitHub Pages)
|
|
84
|
+
The version update is automatically integrated into the GitHub Pages workflow in `.github/workflows/pages.yml`.
|
|
85
|
+
|
|
86
|
+
### Manual Execution
|
|
87
|
+
Both Python script and shell wrapper can be run independently for custom build processes.
|
|
88
|
+
|
|
89
|
+
## update_docs.sh
|
|
90
|
+
|
|
91
|
+
**Purpose**: Complete automation script that extracts CLI help and generates comprehensive documentation in one execution.
|
|
92
|
+
|
|
93
|
+
**What it does**:
|
|
94
|
+
- Runs `extract_command_help.py` to discover and extract help from all commands
|
|
95
|
+
- Runs `generate_command_docs.py` to convert help files to Markdown documentation
|
|
96
|
+
- Provides comprehensive logging and error handling
|
|
97
|
+
- Displays summary statistics and next steps
|
|
98
|
+
|
|
99
|
+
**Usage**:
|
|
100
|
+
```bash
|
|
101
|
+
# Complete documentation update (recommended)
|
|
102
|
+
./scripts/update_docs.sh
|
|
103
|
+
|
|
104
|
+
# This single command:
|
|
105
|
+
# 1. Extracts help from all CLI commands → docs/command-help/
|
|
106
|
+
# 2. Generates documentation → docs/commands.md
|
|
107
|
+
# 3. Provides summary and file statistics
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Output Summary**:
|
|
111
|
+
- Help files extracted and documentation generated
|
|
112
|
+
- File counts and sizes reported
|
|
113
|
+
- Success/failure status for each step
|
|
114
|
+
- Instructions for next steps
|
|
115
|
+
|
|
116
|
+
## Complete Documentation Workflow
|
|
117
|
+
|
|
118
|
+
The scripts provide a complete automation pipeline for maintaining CLI documentation:
|
|
119
|
+
|
|
120
|
+
### Workflow Steps
|
|
121
|
+
1. **Extract Help**: `extract_command_help.py` discovers all commands and extracts help
|
|
122
|
+
2. **Generate Docs**: `generate_command_docs.py` converts help to structured Markdown
|
|
123
|
+
3. **Automation**: `update_docs.sh` runs both steps with comprehensive reporting
|
|
124
|
+
|
|
125
|
+
### Integration Options
|
|
126
|
+
|
|
127
|
+
**Local Development**:
|
|
128
|
+
```bash
|
|
129
|
+
# Full automation (recommended)
|
|
130
|
+
./scripts/update_docs.sh
|
|
131
|
+
|
|
132
|
+
# Individual steps for debugging
|
|
133
|
+
python3 scripts/extract_command_help.py docs/command-help
|
|
134
|
+
python3 scripts/generate_command_docs.py docs/command-help docs/commands.md
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**CI/CD Integration**:
|
|
138
|
+
```bash
|
|
139
|
+
# In build scripts or GitHub Actions
|
|
140
|
+
./scripts/update_docs.sh
|
|
141
|
+
|
|
142
|
+
# Or integrate individual steps with custom paths
|
|
143
|
+
python3 scripts/extract_command_help.py $HELP_DIR
|
|
144
|
+
python3 scripts/generate_command_docs.py $HELP_DIR $DOCS_FILE
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**File Structure**:
|
|
148
|
+
```
|
|
149
|
+
docs/
|
|
150
|
+
├── command-help/ # Generated by extract_command_help.py
|
|
151
|
+
│ ├── main.txt # Main CLI help
|
|
152
|
+
│ ├── cloud_add.txt # Individual command help
|
|
153
|
+
│ ├── cluster_federation_create.txt
|
|
154
|
+
│ ├── license_server_list.txt
|
|
155
|
+
│ ├── index.json # Command structure metadata
|
|
156
|
+
│ └── ...
|
|
157
|
+
└── commands.md # Generated by generate_command_docs.py
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## When to Use
|
|
161
|
+
|
|
162
|
+
- **Before releasing**: Ensure documentation reflects the current version
|
|
163
|
+
- **Before building docs**: Keep documentation in sync with package version
|
|
164
|
+
- **In CI/CD**: Automatically update version during deployment
|
|
165
|
+
|
|
166
|
+
The scripts are designed to be idempotent - running them multiple times with the same version will not cause issues.
|