# Install ly with Homebrew, apk, dnf, Nix, pacman

Parse, manipulate or create documents in LilyPond format. Version 0.9.10 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#ly.

## Install

```sh
sudo av install brew:ly
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ly
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add ly
```

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

- dnf (92%):

```sh
sudo dnf install ly
```

  Evidence: Fedora Rawhide package metadata: ly from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#ly
```

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

- pacman (92%):

```sh
sudo pacman -S ly
```

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

## Package facts

- **Package key:** brew:ly
- **Package manager:** Homebrew
- **Version:** 0.9.10
- **Source summary:** Parse, manipulate or create documents in LilyPond format
- **Homepage:** <https://github.com/frescobaldi/python-ly>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- ly (alias)
- ly-server (alias)

## Install behavior

- Bottle: not available

## Freshness

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

python-ly is a Python library and command-line tool for parsing, manipulating, formatting, and creating documents in LilyPond notation format. The packaged executable is named `ly`.

### Project history

The project is written by the Frescobaldi developers, with Wilbert Berendsen named as the main author, and is used extensively by the Frescobaldi music-notation editor. Its Git history starts in December 2010 with tokenizer and highlighter work, while the public tag history includes v0.7 in January 2015 and later v0.9.x releases.

The documentation was built with Sphinx and published on Read the Docs. It describes both the `ly` command and the `ly` Python module, which includes lexers, document/token structures, pitch and indentation helpers, LilyPond data extraction, and related tooling for music-notation processing.

### Adoption history

python-ly has adoption through its role in Frescobaldi and through packaging as the `ly` CLI in multiple package managers. The batch metadata lists Alpine, Homebrew, Fedora/DNF, Nix, and Arch packages, giving it a broader footprint than a one-project helper library would normally have.

### How it is used

The README documents `ly` for reformatting or reindenting LilyPond files, transposing music, translating pitch names, converting LilyPond to syntax-colored HTML, and experimentally converting LilyPond to MusicXML. A representative use is `ly "indent; transpose c d" -o output.ly file.ly`.

### Why package nerds care

For package nerds, `ly` is a good example of a domain-specific CLI that ships from a Python library but matters in desktop publishing and music-engraving workflows. It connects command-line pipelines, Python APIs, Frescobaldi, and GNU LilyPond's plain-text score format.

### Timeline

- 2010: Public Git history begins with tokenizer/highlighter work.
- 2015: Sphinx documentation is initialized and early v0.7-v0.9 tags are published.
- 2020: v0.9.6 and v0.9.7 are tagged after a long-running 0.9 series.
- 2026: v0.9.10 appears in the official tag history.

### Related projects

- Frescobaldi uses python-ly extensively.
- GNU LilyPond is the plain-text music typesetter whose document format python-ly parses and manipulates.

### Sources

- <https://github.com/frescobaldi/python-ly>
- <https://python-ly.readthedocs.io/>
- <https://raw.githubusercontent.com/frescobaldi/python-ly/master/README.rst>
- <https://raw.githubusercontent.com/frescobaldi/python-ly/master/doc/index.rst>
- source_facts.package-manager


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Other Package-Manager Records

- Nix - ly: normalized package name match | nixpkgs package indexes: pkgs/by-name/ly/ly/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - ly - 1.4.1-r1: normalized package name match | Alpine Linux edge package indexes: ly from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Lightweight TUI (ncurses-like) display manager | https://codeberg.org/fairyglade/ly
- apk - ly-doc - 1.4.1-r1: normalized package name match | Alpine Linux edge package indexes: ly-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Lightweight TUI (ncurses-like) display manager (documentation) | https://codeberg.org/fairyglade/ly
- apk - ly-lang - 1.4.1-r1: normalized package name match | Alpine Linux edge package indexes: ly-lang from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Languages for package ly | https://codeberg.org/fairyglade/ly
- apk - ly-openrc - 1.4.1-r1: normalized package name match | Alpine Linux edge package indexes: ly-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Lightweight TUI (ncurses-like) display manager (OpenRC init scripts) | https://codeberg.org/fairyglade/ly
- dnf - ly - 1.4.0-3.fc45: normalized package name match | Fedora Rawhide package metadata: ly from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Lightweight TUI display manager | https://codeberg.org/fairyglade/ly
- pacman - ly - 1.4.1-1: normalized package name match | Arch Linux sync databases: ly from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | TUI display manager | https://codeberg.org/fairyglade/ly


## Combined YAML source

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