macOS
brew install noweblocal Homebrew formula metadata
sudo port install nowebMacPorts ports tree · devel/noweb/Portfile · source: api.github.com
brew
WEB-like literate-programming tool. Version 2.13 via Homebrew; verified 2026-06-14.
install
brew install noweblocal Homebrew formula metadata
sudo port install nowebMacPorts ports tree · devel/noweb/Portfile · source: api.github.com
sudo apt install nowebDebian stable package indexes · noweb · source: deb.debian.org
nix profile install nixpkgs#nowebnixpkgs package indexes · pkgs/by-name/no/noweb/package.nix · source: api.github.com
overview
WEB-like literate-programming tool
history
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.
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.
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.
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.
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.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
cpif | cli | global executable | |
htmltoc | cli | global executable | |
nodefs | cli | global executable | |
noindex | cli | global executable | |
noroff | cli | global executable | |
noroots | cli | global executable | |
notangle | cli | global executable | |
nountangle | cli | global executable | |
noweave | cli | global executable | |
noweb | cli | global executable | |
nuweb2noweb | cli | global executable | |
sl2h | cli | global executable |
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.
https://github.com/nrnrnr/noweb
install metadata
| Package key | brew:noweb |
|---|---|
| Version | 2.13 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/noweb |
| Homepage | https://www.cs.tufts.edu/~nr/noweb/ |
| Repository | https://github.com/nrnrnr/noweb |
| Upstream docs | https://www.cs.tufts.edu/~nr/noweb |
| License | BSD-2-Clause |
| Source archive | https://github.com/nrnrnr/noweb/archive/refs/tags/v2_13.tar.gz |
| Last updated | 2026-06-14T14:47:57+02:00 |
| Pulse | updated |
| Dependencies | icon |
| Build dependencies | gnu-sed |
| Bottle | available (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-install | not defined |
| Service | none declared |
| Caveats | TeX 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 | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | noweb |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
noweb 2.13-2
WEB-like literate-programming tool
https://www.cs.tufts.edu/~nr/noweb
sudo apt install nowebnoweb
nix profile install nixpkgs#nowebnoweb 2.12-4
WEB-like literate-programming tool
https://www.cs.tufts.edu/~nr/noweb
sudo apt install nowebnoweb
sudo port install nowebsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.