Manage cloud development instances. Currently AWS EC2 is supported.
Project description
cloudvm
A command-line tool for managing cloud development instances. AWS EC2 is currently supported.
cloudvm streamlines the daily routine of working with a development EC2
instance: it refreshes the AWS SSO token only when expired, starts the
instance, waits for its public IP to be assigned, and reports it. A list
subcommand surveys instances across regions to see what is still running.
Install
pipx install cloudvm
Or, if pipx is not available:
pip install cloudvm
Requires Python 3.9 or newer and a configured aws CLI (SSO or static
credentials).
Usage
# Start an instance by its Name tag
cloudvm up --name my-dev-box
# Stop an instance — returns once the stop has been triggered
cloudvm down --name my-dev-box
# List instances across regions
cloudvm list --region 'eu-central-*,us-*' --name 'my-*'
All subcommands accept --region / -r and --name / -n, and honor the
usual AWS environment variables (AWS_REGION, AWS_PROFILE, ...).
Pass --update-ssh to up to point the matching ~/.ssh/config host
alias at the new IP.
Shell completion
To enable tab-completion, add this to your ~/.bashrc (or ~/.zshrc,
after compinit):
# This spawns cloudvm once for every new shell. See below for optimized
# alternative.
eval "$(cloudvm --print-completion bash)" # or: zsh / tcsh / fish
Then open a new shell, or source the rc file. cloudvm <TAB> will now
complete subcommands and flags.
To skip the per-shell cloudvm spawn, use a lazy stub instead — it
loads the real completion on first use.
bash (~/.bashrc):
_cloudvm_lazy_complete() {
eval "$(cloudvm --print-completion bash)"
return 124
}
complete -F _cloudvm_lazy_complete cloudvm
zsh (~/.zshrc, after compinit):
_cloudvm_lazy_complete() {
unfunction _cloudvm_lazy_complete
eval "$(cloudvm --print-completion zsh)"
"${_comps[cloudvm]}" "$@"
}
compdef _cloudvm_lazy_complete cloudvm
License
Apache License 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cloudvm-0.1.17.20260608074017.tar.gz.
File metadata
- Download URL: cloudvm-0.1.17.20260608074017.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b89321d03680885bbaca26139cd2987837c701289d1df6034c40cc83a3fafa2e
|
|
| MD5 |
389e63774dc2bb9260f0fb75832be37e
|
|
| BLAKE2b-256 |
90ce328df5e1ea4f7fa150323aff1dafdd1f456252f328fdace50e518e66d56d
|
Provenance
The following attestation bundles were made for cloudvm-0.1.17.20260608074017.tar.gz:
Publisher:
publish.yml on findepi/cloudvm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cloudvm-0.1.17.20260608074017.tar.gz -
Subject digest:
b89321d03680885bbaca26139cd2987837c701289d1df6034c40cc83a3fafa2e - Sigstore transparency entry: 1754839654
- Sigstore integration time:
-
Permalink:
findepi/cloudvm@c5cc5e11972a2f6ba0a9e38fc002f42df287f51c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/findepi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c5cc5e11972a2f6ba0a9e38fc002f42df287f51c -
Trigger Event:
push
-
Statement type:
File details
Details for the file cloudvm-0.1.17.20260608074017-py3-none-any.whl.
File metadata
- Download URL: cloudvm-0.1.17.20260608074017-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
178af5b04d060c87770dd8e942b087d72c4b676451d194bc05ac341c556cfed5
|
|
| MD5 |
b43aa532a18656caddc6e07f1b14e6e7
|
|
| BLAKE2b-256 |
7acac885848b728a0f94dad65a5f35e5b166f311f8f6a05a6dee3c05d57a34e1
|
Provenance
The following attestation bundles were made for cloudvm-0.1.17.20260608074017-py3-none-any.whl:
Publisher:
publish.yml on findepi/cloudvm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cloudvm-0.1.17.20260608074017-py3-none-any.whl -
Subject digest:
178af5b04d060c87770dd8e942b087d72c4b676451d194bc05ac341c556cfed5 - Sigstore transparency entry: 1754839662
- Sigstore integration time:
-
Permalink:
findepi/cloudvm@c5cc5e11972a2f6ba0a9e38fc002f42df287f51c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/findepi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c5cc5e11972a2f6ba0a9e38fc002f42df287f51c -
Trigger Event:
push
-
Statement type: