# Install kubespy with Homebrew, MacPorts, Nix, zypper, scoop

Tools for observing Kubernetes resources in realtime. Version 0.6.3 via Homebrew; verified 2026-07-27. Also installable with nix: nix profile install nixpkgs#kubespy.

## Install

```sh
sudo av install brew:kubespy
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install kubespy
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install kubespy
```

  Evidence: MacPorts ports tree: sysutils/kubespy/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#kubespy
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ku/kubespy/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install kubespy
```

  Evidence: openSUSE Tumbleweed package metadata: kubespy from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install extras/kubespy
```

  Evidence: Scoop official bucket manifest trees: bucket/kubespy.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:kubespy
- **Package manager:** Homebrew
- **Version:** 0.6.3
- **Source summary:** Tools for observing Kubernetes resources in realtime
- **Homepage:** <https://github.com/pulumi/kubespy>
- **Repository:** <https://github.com/pulumi/kubespy>
- **Last updated:** 2026-07-27T21:58:47+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- kubespy (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.6.3
## Project history and usage

kubespy is a Pulumi-origin Kubernetes diagnostic CLI for watching API objects change in real time. Its package-nerd appeal is that it exposes Kubernetes controller behavior from the terminal instead of hiding rollout state behind a dashboard or a single kubectl status line.

### Project history

Pulumi introduced kubespy publicly on September 18, 2018 as a small tool for displaying changes made to Kubernetes objects in real time. The repository README says the tool grew out of Pulumi CLI work on making Kubernetes deployments predictable, and the command set settled around status, changes, trace, and record views over arbitrary Kubernetes resources.

### Adoption history

kubespy remained a focused utility rather than a broad platform. Its GitHub repository accumulated thousands of stars and packaging across Homebrew, MacPorts, Nix, Scoop, and zypper metadata, which fits the pattern of a CLI that is useful during debugging but not usually installed as a cluster component.

### How it is used

Users run kubespy against a resource such as a Pod, Service, or Deployment to see status diffs, object changes, or a higher-level trace of related resources. The README also documents use as a kubectl plugin by installing it as kubectl-spy, reflecting the Kubernetes 1.12 plugin convention.

### Why package nerds care

kubespy is notable because it packages Kubernetes watch/discovery-client behavior as a small observability command. It sits in the same mental drawer as kubectl get -w, stern, and k9s, but it is narrower: it is about making controller transitions readable during rollout and failure analysis.

### Timeline

- 2018: Pulumi announced kubespy with a blog post on watching Pod lifecycle changes.
- 2018: Follow-up Pulumi posts used kubespy trace to explain Services and Deployments.
- 2024: The GitHub release page listed v0.6.3 with ARM64 support.

### Related projects

- Related tools include Pulumi CLI, kubectl, Kubernetes external kubectl plugins, stern-style log tailers, and TUI dashboards such as k9s. kubespy is narrower than those tools because it focuses on object-status evolution rather than log aggregation or full cluster browsing.

### Sources

- <https://formulae.brew.sh/formula/kubespy>
- <https://github.com/pulumi/kubespy>
- <https://github.com/pulumi/kubespy/releases>
- <https://www.pulumi.com/blog/kubespy-and-the-lifecycle-of-a-kubernetes-pod-in-four-images/>
- <https://www.pulumi.com/blog/kubespy-trace-a-real-time-view-into-the-heart-of-a-kubernetes-service/>


## Security Notes

infrastructure mutation or orchestration signal.

- **Geiger risk:** orange / medium
- infrastructure mutation or orchestration signal

## Other Package-Manager Records

- Nix - kubespy: normalized package name match | nixpkgs package indexes: pkgs/by-name/ku/kubespy/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- zypper - kubespy - 0.6.3-1.9: normalized package name match | openSUSE Tumbleweed package metadata: kubespy from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Tools for observing Kubernetes resources in real time, powered by Pulumi | https://github.com/pulumi/kubespy
- MacPorts - kubespy: normalized package name match | MacPorts ports tree: sysutils/kubespy/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - extras/kubespy: normalized package name match | Scoop official bucket manifest trees: bucket/kubespy.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/kubespy.yml](https://github.com/mxcl/pkgdb/blob/main/combined/kubespy.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
