# Install starlark-rust with Homebrew, Nix

Rust implementation of the Starlark language. Version 0.14.0 via Homebrew; verified 2026-06-01. Also installable with nix: nix profile install nixpkgs#starlark-rust.

## Install

```sh
sudo av install brew:starlark-rust
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install starlark-rust
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#starlark-rust
```

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

## Package facts

- **Package key:** brew:starlark-rust
- **Package manager:** Homebrew
- **Version:** 0.14.0
- **Source summary:** Rust implementation of the Starlark language
- **Homepage:** <https://github.com/facebook/starlark-rust>
- **Repository:** <https://github.com/facebook/starlark-rust>
- **Last updated:** 2026-06-01T14:43:06Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- starlark (alias)

## Install behavior

- Bottle: not available

## Freshness

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

Starlark in Rust is Meta's Rust implementation of the Starlark configuration language, with a command-line binary that can run a REPL, evaluator, linter, and IDE-related tooling for standard Starlark.

### Project history

The README states that facebook/starlark-rust is the canonical repository and that the project was started by Damien Martin-Guillerez. It also notes that version 0.4.0 changed ownership from Google to Meta.

The project exists in the ecosystem of Starlark implementations used by build systems. The README names Bazel, Buck, and Buck2 as Starlark users and says Buck2 depends on this library.

### Adoption history

The input package facts show the project packaged for Homebrew and Nix, making the `starlark` binary available outside Rust's Cargo ecosystem.

Adoption is mostly developer-infrastructure adoption rather than end-user CLI adoption: most consumers embed the Rust library into build and configuration systems, while the packaged binary is useful for experiments, linting, and basic standard-Starlark evaluation.

### How it is used

The README describes six components, including parser, evaluator, derive macros, map structures, LSP support, and `starlark_bin`, the binary exposed through the command line.

The README cautions that most Starlark embeddings add domain-specific functions and data types, so the packaged binary is most useful as a vanilla Starlark test bed or linter rather than a drop-in evaluator for every Starlark file from a large build system.

### Why package nerds care

Package maintainers care about starlark-rust because Starlark is configuration language infrastructure. A standalone packaged interpreter/linter gives developers a way to test and inspect Starlark without installing a full build system.

The project is also notable because it bridges Rust packaging, language tooling, and build-system internals: the CLI is small enough to package, while the library is significant because Buck2 depends on it.

### Timeline

- 2021: Public GitHub issue #1 discussed compatibility with the Starlark specification.
- v0.4.0: README says ownership changed from Google to Meta.
- 2026: GitHub repository page lists version 0.14 as the latest release.

### Related projects

- Related projects include the Java and Go Starlark implementations, Bazel, Buck, and Buck2.
- The README says the Rust implementation mostly follows the Starlark standard while documenting known compatibility differences.

### Sources

- <https://github.com/facebook/starlark-rust#readme>
- <https://github.com/facebook/starlark-rust/issues/1>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

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

## Other Package-Manager Records

- Nix - starlark-rust: normalized package name match | nixpkgs package indexes: pkgs/by-name/st/starlark-rust/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Nix - starlark: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/st/starlark/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Combined YAML source

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