# Install numbat with Homebrew, apk, apt, MacPorts, Nix, pacman, zypper, scoop

Statically typed programming language for scientific computations. Version 1.23.0 via Homebrew; verified 2026-06-14. Also installable with debian: sudo apt install numbat.

## Install

```sh
sudo av install brew:numbat
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install numbat
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install numbat
```

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

### Linux

- apk (92%):

```sh
sudo apk add numbat
```

  Evidence: Alpine Linux edge package indexes: numbat from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install numbat
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#numbat
```

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

- pacman (92%):

```sh
sudo pacman -S numbat
```

  Evidence: Arch Linux sync databases: numbat from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install numbat
```

  Evidence: openSUSE Tumbleweed package metadata: numbat from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/numbat
```

  Evidence: Scoop official bucket manifest trees: bucket/numbat.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:numbat
- **Package manager:** Homebrew
- **Version:** 1.23.0
- **Source summary:** Statically typed programming language for scientific computations
- **Homepage:** <https://numbat.dev/>
- **Repository:** <https://github.com/sharkdp/numbat>
- **Last updated:** 2026-06-14T14:47:58+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- numbat (alias)

## Install behavior

- Bottle: not available

## Freshness

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

Numbat is David Peter's Rust-based, statically typed language and calculator for scientific computations with first-class physical units. Its public positioning is deliberately narrower than a general computer algebra system: the project emphasizes unit-aware calculations, physical dimensions as types, a large unit/constant standard library, and an interactive terminal workflow.

### Project history

The public release trail visible through GitHub releases starts with v1.6.0 on September 20, 2023, and the author's 2023 'Introducing Numbat' article explains the central design idea: values such as months, years, lengths, speeds, and other quantities carry physical dimensions that the type checker can enforce. The repository is maintained by David Peter and licensed under Apache-2.0 OR MIT.

### Adoption history

Numbat is a niche but visible developer/science CLI rather than an infrastructure dependency. The GitHub project page showed about 2.6k stars and 104 forks during this research, and Homebrew's formula page listed 1,467 installs over 365 days on July 1, 2026. Its availability through Homebrew, crates.io, Linux distributions, Scoop, Nix, MacPorts, and other package managers gives it unusually broad packaging coverage for a specialized calculator language.

### How it is used

Package nerds use Numbat when a unit conversion is too semantic for bc, Python, or a normal calculator: examples from the README include converting speeds, angles, mixed imperial lengths, and time durations; defining ad-hoc units; and relying on the standard library for physical constants and functions. The `NUMBAT_MODULES_PATH` escape hatch and `init.nbt` customization matter because the unit system itself is written in Numbat and can be extended without changing the binary.

### Why package nerds care

The interesting packaging angle is that Numbat behaves like a calculator, a REPL, and a small domain language at once. It is the sort of package people install directly as a command-line tool, not as a transitive dependency, and its prelude/modules packaging is part of the user experience because users may inspect or override unit definitions.

### Timeline

- 2023: David Peter publishes the Numbat type-system introduction.
- 2023-09-20: GitHub release v1.6.0 appears in the public release API.
- 2026-02-08: GitHub release v1.23.0 is published.

### Related projects

- sharkdp/insect
- Qalculate!
- WolframAlpha

### Sources

- <https://api.github.com/repos/sharkdp/numbat/releases?per_page=100>
- <https://crates.io/crates/numbat>
- <https://formulae.brew.sh/formula/numbat>
- <https://github.com/sharkdp/numbat>
- <https://numbat.dev/articles/intro.html>


## Security Notes

generalized runtime or code generation signal.

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

## Other Package-Manager Records

- Debian apt - numbat - 1.11.0-3+b1: normalized package name match | Debian stable package indexes: numbat from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | CLI for numbat, a programming language for scientific computations | https://numbat.dev/
- Nix - numbat: normalized package name match | nixpkgs package indexes: pkgs/by-name/nu/numbat/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - numbat - 1.23.0-r0: normalized package name match | Alpine Linux edge package indexes: numbat from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Statically typed programming language for scientific computations | https://numbat.dev/
- apk - numbat-doc - 1.23.0-r0: normalized package name match | Alpine Linux edge package indexes: numbat-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Statically typed programming language for scientific computations (documentation) | https://numbat.dev/
- pacman - numbat - 1.23.0-2: normalized package name match | Arch Linux sync databases: numbat from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A statically typed programming language for scientific computations with first class support for physical dimensions and units | https://github.com/sharkdp/numbat
- zypper - numbat - 1.14.0-1.7: normalized package name match | openSUSE Tumbleweed package metadata: numbat from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Statically typed programming language for scientific computations | https://github.com/sharkdp/numbat
- MacPorts - numbat: normalized package name match | MacPorts ports tree: math/numbat/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/numbat: normalized package name match | Scoop official bucket manifest trees: bucket/numbat.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Combined YAML source

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