# Install noweb with Homebrew, apt, MacPorts, Nix

WEB-like literate-programming tool. Version 2.13 via Homebrew; verified 2026-06-14. Also installable with debian: sudo apt install noweb.

## Install

```sh
sudo av install brew:noweb
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install noweb
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install noweb
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install noweb
```

  Evidence: Debian stable package indexes: noweb from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#noweb
```

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

## Package facts

- **Package key:** brew:noweb
- **Package manager:** Homebrew
- **Version:** 2.13
- **Source summary:** WEB-like literate-programming tool
- **Homepage:** <https://www.cs.tufts.edu/~nr/noweb/>
- **Repository:** <https://github.com/nrnrnr/noweb>
- **Last updated:** 2026-06-14T14:47:57+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- cpif (alias)
- htmltoc (alias)
- nodefs (alias)
- noindex (alias)
- noroff (alias)
- noroots (alias)
- notangle (alias)
- nountangle (alias)
- noweave (alias)
- noweb (alias)
- nuweb2noweb (alias)
- sl2h (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.13
## 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

### Sources

- <https://api.github.com/repos/nrnrnr/noweb>
- <https://api.github.com/repos/nrnrnr/noweb/releases?per_page=10>
- <https://formulae.brew.sh/api/formula/noweb.json>
- <https://github.com/nrnrnr/noweb>
- <https://www.cs.tufts.edu/~nr/noweb/>
- <https://www.cs.tufts.edu/~nr/noweb/guide.html>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Debian apt - noweb - 2.13-2: normalized package name match | Debian stable package indexes: noweb from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | WEB-like literate-programming tool | https://www.cs.tufts.edu/~nr/noweb
- Nix - noweb: normalized package name match | nixpkgs package indexes: pkgs/by-name/no/noweb/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - noweb - 2.12-4: normalized package name match | Ubuntu 24.04 LTS package indexes: noweb from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | WEB-like literate-programming tool | https://www.cs.tufts.edu/~nr/noweb
- MacPorts - noweb: normalized package name match | MacPorts ports tree: devel/noweb/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/noweb.yml](https://github.com/mxcl/pkgdb/blob/main/combined/noweb.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
