Automic VaultAutomic Vault

brew

Install or-tools with Homebrew, Nix

Google's Operations Research tools. Version 9.15 via Homebrew; verified 2026-06-29.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install or-tools

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#or-tools

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

overview

Package summary

Google's Operations Research tools

Commands and aliases

  • fzn-cp-sat
  • sat_runner
  • solve
  • vector_bin_packing

history

Project history and usage

Google OR-Tools is an open source suite for combinatorial optimization. It packages solvers and modeling APIs for vehicle routing, scheduling, assignment, packing, flows, linear and integer programming, and constraint programming.

Project history

Google Research describes OR-Tools as being in development since 2008, with core algorithms implemented in C++ and user access through Python, Java, C#, Go, and later Julia wrappers. The public project presents itself as Google's software suite for combinatorial optimization, written in C++ with bindings for Python, C#, and Java.

The suite accumulated several solver families rather than staying a single optimizer. The repository README lists CP and CP-SAT constraint programming solvers, Glop and PDLP linear programming solvers, wrappers around commercial and open source mixed-integer solvers, bin packing and knapsack algorithms, traveling-salesman and vehicle-routing algorithms, and graph algorithms.

The modern center of gravity is CP-SAT, Google's SAT-based constraint programming solver. The Google Developers site highlights CP-SAT as award winning, and the OR-Tools landing page says OR-Tools won gold in the international MiniZinc constraint programming competition every year since 2013.

Adoption history

OR-Tools is distributed across language ecosystems rather than only through OS packages. The GitHub README displays package badges for PyPI, NuGet, and Maven Central, while the documentation teaches use from C++, Python, C#, and Java. Homebrew and Nix package it for command-line and native-library users.

The release notes show a mature, actively maintained systems package: platform support for Python, Linux distributions, .NET, Java, CMake, Bazel, and dependencies such as SCIP, Protobuf, Abseil, and SWIG changes across releases. That churn is part of its adoption story because optimization users expect native performance and language-specific installation paths.

How it is used

Developers model an optimization problem in a supported language, choose an OR-Tools solver or wrapper, and solve tasks such as fleet routing, workforce scheduling, assignment, bin packing, minimum-cost flow, or mixed-integer linear optimization. The official landing page frames the workflow as: model in a programming language, then solve with open source solvers such as SCIP, GLPK, GLOP, and CP-SAT or commercial solvers such as CPLEX, Gurobi, and FICO Xpress.

The Homebrew package exposes tools such as `fzn-cp-sat`, `sat_runner`, `solve`, and `vector_bin_packing`, but most adoption happens through libraries and examples. That split makes OR-Tools an unusual package: command-line binaries are visible in OS package metadata, while the real user surface is language APIs and solver libraries.

Why package nerds care

OR-Tools is a heavyweight package-management case study. It bundles advanced native C++ solvers, language bindings, optional integrations with commercial solvers, and fast-moving mathematical code, then has to land in Python wheels, Maven, NuGet, source builds, and OS packages without losing performance or ABI sanity.

For package nerds, it also explains why optimization libraries resist simple packaging: users want high-level modeling APIs, but the runtime depends on native code, solver backends, protobuf models, and platform-specific build systems.

Timeline

  • 2008: Google Research describes OR-Tools as being in development since this year.
  • 2013: The OR-Tools site says the project began winning annual gold results in the international constraint programming competition.
  • 2021-04: OR-Tools v9.0 release notes record Maven Central availability for Java packages.
  • 2022-03: OR-Tools v9.3 introduces experimental PDLP and MathOpt components.
  • 2025: Google Research publishes a tutorial paper describing OR-Tools' solvers and Julia access through JuMP and MathOptInterface.

Related projects

  • OR-Tools relates to CP-SAT, Glop, PDLP, SCIP, GLPK, CPLEX, Gurobi, FICO Xpress, MiniZinc, JuMP, MathOptInterface, Protobuf, Bazel, CMake, and the broader operations-research and mathematical-optimization ecosystem.

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 6 platform targets.
  • Installs with 14 runtime dependencies.
  • Build metadata lists 2 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
fzn-cp-satcliglobal executable
sat_runnercliglobal executable
solvecliglobal executable
vector_bin_packingcliglobal 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 version9.15
manager updated2026-06-29
local dataok
upstreamcurrent
latest detectedv9.15

https://github.com/google/or-tools

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:or-tools
Version9.15
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/or-tools
Homepagehttps://developers.google.com/optimization/
Repositoryhttps://github.com/google/or-tools
Upstream docshttps://developers.google.com/optimization
LicenseApache-2.0
Source archivehttps://github.com/google/or-tools/archive/refs/tags/v9.15.tar.gz
Last updated2026-06-29T14:11:35Z
Pulseupdated
Dependenciesabseil, cbc, cgl, clp, coinutils, eigen, gmp, highs, mpfr, openblas, osi, protobuf, re2, scip
Build dependenciescmake, pkgconf
Uses from macOSbzip2
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameor-tools
Version Scheme0
Revision9
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • 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.

Nix95%

or-tools

nix profile install nixpkgs#or-tools
  • normalized package name match
  • Matched by: Or Tools
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/or/or-tools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/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