# Install cpi with Homebrew, MacPorts

Tiny c++ interpreter. Version 2.2.4 via Homebrew; verified 2026-06-21. Also installable with macports: sudo port install cpi.

## Install

```sh
sudo av install brew:cpi
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install cpi
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install cpi
```

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

## Package facts

- **Package key:** brew:cpi
- **Package manager:** Homebrew
- **Version:** 2.2.4
- **Source summary:** Tiny c++ interpreter
- **Homepage:** <https://treefrogframework.github.io/cpi/>
- **Repository:** <https://github.com/treefrogframework/cpi>
- **Last updated:** 2026-06-21T15:37:37Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- cpi (alias)

## Install behavior

- Bottle: not available

## Freshness

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

cpi is a small C++ interpreter-style command-line tool from the TreeFrog Framework organization. Its upstream description and README present it as a tiny interpreter for C++20 or C++23 rather than as a separate language implementation.

### Project history

The public GitHub repository was created in December 2012. The README documents a design that uses an installed C++ compiler internally, with Qt 6 and a C++ compiler as build/runtime requirements, so the package sits between a REPL, a script runner, and a thin compile-and-run wrapper.

### Adoption history

Package-manager adoption appears niche: the supplied package facts list Homebrew and MacPorts. That is consistent with cpi's role as a developer convenience tool rather than a core language runtime.

### How it is used

The README shows interactive mode, execution of saved C++ source files, per-file compile options, pkg-config integration, and Qt examples. For package users, the important behavior is that cpi depends on the host compiler toolchain rather than shipping an independent C++ execution engine.

### Why package nerds care

cpi is interesting to packagers because it exposes C++ as something close to a scripting workflow while still needing normal C++ and Qt build dependencies. Its documented per-user INI file also means an otherwise small CLI has a real configuration surface.

### Timeline

- 2012: Public GitHub repository created.
- 2025: README examples document cpi 2.2.0 and C++20/C++23 usage.
- 2026: Upstream tags include 2.2.x releases and test-release tags.

### Related projects

- TreeFrog Framework is the upstream GitHub organization for cpi.
- Qt and GCC, LLVM, or MSVC are documented build/runtime requirements.

### Sources

- <https://api.github.com/repos/treefrogframework/cpi>
- <https://github.com/treefrogframework/cpi#readme>
- <https://raw.githubusercontent.com/treefrogframework/cpi/master/README.md>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal

## Other Package-Manager Records

- MacPorts - cpi: normalized package name match | MacPorts ports tree: lang/cpi/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/cpi.yml](https://github.com/mxcl/pkgdb/blob/main/combined/cpi.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
