Automic VaultAutomic Vault

brew

Install noweb with Homebrew, apt, MacPorts, Nix

WEB-like literate-programming tool. Version 2.13 via Homebrew; verified 2026-06-14.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install noweb

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install noweb

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

Linux

Debian aptverified · 92%
sudo apt install noweb

Debian stable package indexes · noweb · source: deb.debian.org

Nixverified · 92%
nix profile install nixpkgs#noweb

nixpkgs package indexes · pkgs/by-name/no/noweb/package.nix · source: api.github.com

overview

Package summary

WEB-like literate-programming tool

Commands and aliases

  • cpif
  • htmltoc
  • nodefs
  • noindex
  • noroff
  • noroots
  • notangle
  • nountangle
  • noweave
  • noweb
  • nuweb2noweb
  • sl2h

history

Project history and usage

noweb is Norman Ramsey's language-independent literate-programming tool. It was designed as a simpler, extensible alternative to WEB-style systems: the homepage emphasizes five control sequences, a four-page manual, and back ends for TeX, LaTeX, HTML, and troff.

The project is historically important even though modern package-manager usage is tiny. Ramsey's homepage says noweb has been used for thirty-five years at universities and industrial sites and for tens of thousands of lines of code in languages including awk, C, C++, Haskell, Icon, Modula-3, OCaml, Perl, Promela, R, Turing, and Standard ML.

Project history

The Hacker's Guide is dated September 1992, with revisions in August 1994 and December 1997. Ramsey's 1994 IEEE Software article 'Literate programming simplified' and the October 1997 Linux Journal article introduced the tool and its approach to a broader audience.

noweb's core idea is a pipeline. The Hacker's Guide describes how every tool begins with a noweb source file, transforms it through simple stages, and then emits code through notangle or documentation through noweave. That architecture let users add behavior by inserting pipeline stages rather than recompiling the tool.

The homepage notes that in 2018 Ramsey released version 2.12 and put noweb on GitHub. GitHub releases later list v2_12 in 2023 and v2_13 in 2023; Homebrew packages version 2.13.

Adoption history

noweb's adoption was strongest in academic and research programming circles that valued literate programming across multiple languages. The homepage links a maintained user/project list, example programs, a postcard gallery online since April 1998, and LyX support since March 1999.

Homebrew's formula API reported only 49 install-on-request events in its 365-day analytics window. That does not erase the project's historical footprint; it shows that noweb is mostly legacy, archival, academic, or enthusiast infrastructure in modern macOS package usage.

How it is used

Users write source in noweb chunks, run notangle to extract compilable code, and run noweave to generate human-readable documentation. The tool intentionally avoids language-specific prettyprinting, trading that feature away for language independence and a small syntax.

Package nerds value noweb because it is old, portable, and inspectable. It ships a cluster of Unix-style tools such as notangle, noweave, noindex, noroots, nodefs, and noweb itself, making it a small literate-programming toolkit rather than a single renderer.

Why package nerds care

noweb is a landmark in literate-programming tooling: less famous than WEB/CWEB, but influential because it made literate programming language-neutral and Unix-pipeline friendly. Its modern package presence is low, but its design remains a reference point for simple documentation/code extraction systems.

Timeline

  • 1992-09: Noweb Hacker's Guide dated September 1992.
  • 1994-09: Ramsey's 'Literate programming simplified' published in IEEE Software.
  • 1997-10: Linux Journal article on literate programming using noweb published.
  • 1999-03: LyX support for noweb noted on the noweb homepage.
  • 2018-06-28: homepage states version 2.12 was the supported 2.x version and that the project had been put on GitHub.
  • 2023-08-11: GitHub release v2_13 published.

Related projects

  • WEB
  • CWEB
  • nuweb
  • LyX
  • Pretzel

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 12 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 1 build 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
cpifcliglobal executable
htmltoccliglobal executable
nodefscliglobal executable
noindexcliglobal executable
noroffcliglobal executable
norootscliglobal executable
notanglecliglobal executable
nountanglecliglobal executable
noweavecliglobal executable
nowebcliglobal executable
nuweb2nowebcliglobal executable
sl2hcliglobal 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 version2.13
manager updated2026-06-14
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/nrnrnr/noweb

install metadata

Package metadata

Package keybrew:noweb
Version2.13
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/noweb
Homepagehttps://www.cs.tufts.edu/~nr/noweb/
Repositoryhttps://github.com/nrnrnr/noweb
Upstream docshttps://www.cs.tufts.edu/~nr/noweb
LicenseBSD-2-Clause
Source archivehttps://github.com/nrnrnr/noweb/archive/refs/tags/v2_13.tar.gz
Last updated2026-06-14T14:47:57+02:00
Pulseupdated
Dependenciesicon
Build dependenciesgnu-sed
Bottleavailable (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, monterey, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared
CaveatsTeX support files are installed in the directory: $HOMEBREW_CELLAR/noweb/2.13/tex/generic/noweb You may need to add the directory to TEXINPUTS to run noweb properly.

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namenoweb
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%

noweb 2.13-2

WEB-like literate-programming tool

https://www.cs.tufts.edu/~nr/noweb

sudo apt install noweb
  • Section: devel
  • Architecture: amd64
  • 4 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Noweb
Debian stable package indexes · deb.debian.org · Debian stable package indexes: noweb from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

noweb

nix profile install nixpkgs#noweb
  • normalized package name match
  • Matched by: Noweb
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/no/noweb/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

noweb 2.12-4

WEB-like literate-programming tool

https://www.cs.tufts.edu/~nr/noweb

sudo apt install noweb
  • Section: universe/devel
  • Architecture: amd64
  • 4 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Noweb
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: noweb from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
MacPorts95%

noweb

sudo port install noweb
  • normalized package name match
  • Matched by: Noweb
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/noweb/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