# Install melody with Homebrew, Nix, zypper

Language that compiles to regular expressions. Version 0.20.0 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#melody.

## Install

```sh
sudo av install brew:melody
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install melody
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#melody
```

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

- zypper (92%):

```sh
sudo zypper install playmymusic
```

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

## Package facts

- **Package key:** brew:melody
- **Package manager:** Homebrew
- **Version:** 0.20.0
- **Source summary:** Language that compiles to regular expressions
- **Homepage:** <https://yoav-lavi.github.io/melody/book>
- **Repository:** <https://github.com/yoav-lavi/melody>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- melody (alias)

## Install behavior

- Bottle: not available

## Freshness

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

Melody is a small language that compiles to ECMAScript regular expressions. Its README says the goal is to make regular expressions more readable and maintainable, with a CLI, compiler crate, WebAssembly bindings, playground, book, editor extensions, and package integrations.

### Project history

The project is organized as a Rust workspace with crates for the compiler, CLI, and WASM bindings. The README shows Melody source examples compiling into ordinary regular expressions, along with syntax for quantifiers, symbols, literals, groups, assertions, variables, comments, and file extensions .mdy and .melody.

Melody evolved rapidly during 2022, as reflected in the changelog: early releases added the REPL, raw sequences, lookahead/lookbehind assertions, cleaner CLI output, a Pest grammar and AST, lazy quantifiers, negative symbols, variables, shell completions, Deno support, stdin support, CLI testing, file-based testing, and unicode-category support.

The project reached v0.20.0 in November 2024, when the changelog notes an MSRV bump to Rust 1.74.0 and removal of the unmaintained atty dependency.

### Adoption history

Melody is a niche developer tool rather than a large infrastructure package, but it has visible interest for a DSL project: the GitHub repository shows thousands of stars, a crates.io-published CLI/compiler path, a browser playground, documentation book, Homebrew installation, Nix packaging, and community-maintained Arch packaging.

Its adoption is tied to developers who want regex readability without abandoning regular expressions as the runtime artifact. That gives package managers a compact CLI and compiler tool whose output remains portable JavaScript-compatible regex.

### How it is used

Users can install melody_cli with cargo, install from source, download macOS binaries from GitHub releases, or use Homebrew. The CLI reads a file or stdin, writes compiled regex to stdout or an output file, can test against strings or files, generates shell completions, and offers a REPL.

The book and README document syntax that maps readable constructs such as some of <word>, <start>, capture blocks, and either blocks to regular-expression primitives.

### Why package nerds care

Melody is significant as a packaged regex DSL: it is not a runtime service, but a compiler that turns readable source into a ubiquitous target. That makes it easy to package and easy to evaluate, while still touching language tooling, WASM, editor extensions, and JavaScript ecosystem integrations.

### Timeline

- 2022-02: Early releases added REPL, assertions, AST parsing, and CLI behavior changes.
- 2022-04: v0.14.0 through v0.18.0 added stdin, shell completions, Deno support, CLI testing, file testing, and unicode categories.
- 2023-07-16: v0.19.0 set the MSRV to Rust 1.65.0 and improved WASM/Deno behavior.
- 2024-11-24: v0.20.0 set the MSRV to Rust 1.74.0 and removed atty.

### Related projects

- melody_compiler: the compiler crate.
- melody_cli: the command-line wrapper around the compiler.
- melody_wasm: the WebAssembly bindings.
- ECMAScript regular expressions: the target regex dialect.

### Sources

- <https://github.com/yoav-lavi/melody>
- <https://github.com/yoav-lavi/melody/releases>
- <https://raw.githubusercontent.com/yoav-lavi/melody/main/CHANGELOG.md>
- <https://yoav-lavi.github.io/melody/book/>
- source_facts.package-manager-url


## 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 - melody: normalized package name match | nixpkgs package indexes: pkgs/by-name/me/melody/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- zypper - playmymusic - 2.2.1-1.8: normalized package name match | openSUSE Tumbleweed package metadata: playmymusic from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | A music player for local files and remote streams | https://github.com/artemanufrij/playmymusic


## Combined YAML source

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