Automic VaultAutomic Vault

brew

Install cram with Homebrew, apt, MacPorts

Functional testing framework for command-line applications. Version 0.7 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install cram

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install cram

MacPorts ports tree · devel/cram/Portfile · source: api.github.com

Linux

Debian aptverified · 92%
sudo apt install python3-cram

Debian stable package indexes · python3-cram · source: deb.debian.org

overview

Package summary

Functional testing framework for command-line applications

Commands and aliases

  • cram

history

Project history and usage

Cram is a functional testing framework for command-line applications, built around test files that look like annotated interactive shell sessions.

Project history

Cram's official site describes tests as snippets of interactive shell sessions: commands are run, and their actual output is compared with expected output stored in `.t` files.

Adoption history

The project's NEWS file shows a compact release history from 0.1 in 2010 through 0.7 in 2016. Over that period it gained interactive update support, regex and glob matching, temporary-directory isolation, Python 3 support, `.cramrc`, shell selection, and xUnit XML output.

How it is used

Developers use Cram for black-box CLI tests where shell commands and expected output are easier to review than imperative test code. It prints unified diffs for failures, can write `.err` files, and can interactively merge observed output back into tests.

Why package nerds care

Cram has lasting package-manager appeal because it tests command-line behavior at the packaging boundary. A formula or distro maintainer can exercise installed commands exactly as users run them, without importing the application as a library.

Timeline

  • 2010: Version 0.1 was released.
  • 2010: Versions 0.3 and 0.4 added environment isolation, interactive updates, regex and glob matching.
  • 2013: Version 0.6 added `.cramrc`, shell selection, and Arch Linux package metadata.
  • 2016: Version 0.7 added debug mode, shell options, and xUnit XML output.

Related projects

  • Cram is conceptually close to shell transcript testing and Mercurial-style `.t` tests, but is distributed as its own Python command-line test runner.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.
  • Installs with 1 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
cramcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.7
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://bitheap.org/cram

  • infoNo package-manager update timestamp was available.low confidence
  • infoRelease/tag comparison is only available for GitHub repositories.https://bitheap.org/cramnone confidence

install metadata

Package metadata

Package keybrew:cram
Version0.7
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/cram
Homepagehttps://bitheap.org/cram
Repositoryhttps://github.com/aiiie/cram
Upstream docshttps://bitheap.org/cram
LicenseGPL-2.0-or-later
Source archivehttps://files.pythonhosted.org/packages/38/85/5a8a3397b2ccb2ffa3ba871f76a4d72c16531e43d0e58fc89a0f2983adbd/cram-0.7.tar.gz
Dependenciespython@3.14
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namecram
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

python3-cram 0.7-6

functional testing framework for command line applications - Python 3.x

https://bitheap.org/cram/

sudo apt install python3-cram
  • Section: python
  • Architecture: all
  • Source Package: cram
  • 1 dependencies
  • normalized package name match
  • Matched by: Cram
Debian stable package indexes · deb.debian.org · Debian stable package indexes: python3-cram from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Ubuntu apt95%

python3-cram 0.7-5

functional testing framework for command line applications - Python 3.x

https://bitheap.org/cram/

sudo apt install python3-cram
  • Section: universe/python
  • Architecture: all
  • Source Package: cram
  • 1 dependencies
  • normalized package name match
  • Matched by: Cram
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: python3-cram from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
MacPorts95%

cram

sudo port install cram
  • normalized package name match
  • Matched by: Cram
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/cram/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment