# Install yamale with Homebrew, apt, Nix

Schema and validator for YAML. Version 6.1.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:yamale
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install yamale
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install python3-yamale
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#yamale
```

  Evidence: nixpkgs package indexes: yamale from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

## Package facts

- **Package key:** brew:yamale
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/yamale>
- **Version:** 6.1.0
- **Source summary:** Schema and validator for YAML
- **Homepage:** <https://github.com/23andMe/Yamale>
- **Repository:** <https://github.com/23andMe/Yamale>
- **Upstream docs:** <https://github.com/23andMe/Yamale#readme>
- **License:** MIT
- **Source archive:** <https://files.pythonhosted.org/packages/da/64/9e5de0e829920b848dcf5fe3ff64936d83cc7471babd264588b08bca97e0/yamale-6.1.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- yamale (cli)
- yamale (alias)

## Dependencies

- libyaml
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 6.1.0
- Local data: ok
- Upstream repository: https://github.com/23andMe/Yamale
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

Yamale is a Python library and command-line tool for validating YAML files with schemas written in Yamale's own YAML-based schema language. It fills the small but common gap between loose YAML configuration files and heavyweight JSON Schema workflows.

### Project history

23andMe published the Yamale repository in January 2014. The README describes it simply as a schema and validator for YAML, with both CLI and Python API entry points. Its schema format keeps schemas as YAML documents whose leaves are validator expressions such as `str()`, `int()`, includes, recursion, strict-mode controls, and custom validators.

The PyPI history shows public releases beginning in June 2014 and continued maintenance into the 6.x series. Over time the README added Python 3-only requirements, optional ruamel.yaml parsing for YAML 1.2 support, multiprocessing CLI validation, strict-mode controls, and a warning that schemas should come from trusted sources because the schema language is executable enough to be treated as a trust boundary.

### Adoption history

Yamale adoption is mostly practical: teams with YAML configuration, data files, or repository conventions can add a schema file and run a CLI check in tests or continuous integration. It is attractive when a project wants a readable schema next to YAML data without converting the validation problem to JSON Schema.

### How it is used

From the command line, Yamale searches a target path for YAML files and looks nearby or upward for a schema file unless one is specified. From Python, callers build schema and data objects with `yamale.make_schema` and `yamale.make_data`, then call `yamale.validate` and handle validation errors.

Yamale is best suited to project-owned schemas: configuration contracts, fixtures, data drops, and repository policy checks. Its own README cautions against accepting malicious schema definitions from untrusted sources.

### Why package nerds care

For package nerds, Yamale is a tidy example of a domain-specific validator that stayed deliberately smaller than JSON Schema. It shows up as both a CLI package and a Python import, useful for making YAML-heavy projects less ambiguous without buying into a larger schema ecosystem.

### Timeline

- 2014-01: The public GitHub repository was created under 23andMe.
- 2014-06: PyPI records the earliest available Yamale release uploads.
- 2020s: The README documents Python 3.8+, optional ruamel.yaml parsing, CLI multiprocessing, includes, recursion, and strict-mode behavior.
- 2025: PyPI records the 6.x release line.

### Related projects

- Yamale sits near JSON Schema validators, PyKwalify, Cerberus-style Python validators, and YAML linters, but it keeps its own compact schema expression syntax rather than adopting JSON Schema as the schema language.

### Sources

- <https://api.github.com/repos/23andMe/Yamale>
- <https://github.com/23andMe/Yamale#readme>
- <https://pypi.org/pypi/yamale/json>


## Security Notes

narrow executable package without higher-risk signals.

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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** yamale
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - python3-yamale - 6.0.0.1-1: normalized package name match | Debian stable package indexes: python3-yamale from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | schema and validator for YAML | https://github.com/23andMe/Yamale
- Nix - yamale: normalized package name match | nixpkgs package indexes: yamale from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [chart-testing](https://www.automicvault.com/pkg/brew/chart-testing/) - Popular package that depends on this formula.
- [action-validator](https://www.automicvault.com/pkg/brew/action-validator/) - Shares av.db curated category or tags: cli, developer-tools, validation, yaml.
- [check-jsonschema](https://www.automicvault.com/pkg/brew/check-jsonschema/) - Shares av.db curated category or tags: cli, developer-tools, python, validation.
- [epubcheck](https://www.automicvault.com/pkg/brew/epubcheck/) - Shares av.db curated category or tags: cli, developer-tools, validation.
- [config-file-validator](https://www.automicvault.com/pkg/brew/config-file-validator/) - Shares av.db curated category or tags: cli, developer-tools, validation, yaml.
- [jenkins-job-builder](https://www.automicvault.com/pkg/brew/jenkins-job-builder/) - Shares av.db curated category or tags: cli, developer-tools, python, yaml.
- [kubeconform](https://www.automicvault.com/pkg/brew/kubeconform/) - Shares av.db curated category or tags: cli, developer-tools, validation.
- [rnv](https://www.automicvault.com/pkg/brew/rnv/) - Shares av.db curated category or tags: cli, developer-tools, validation.
- [vnu](https://www.automicvault.com/pkg/brew/vnu/) - Shares av.db curated category or tags: cli, developer-tools, validation.
- [yamllint](https://www.automicvault.com/pkg/brew/yamllint/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, libyaml, python.

## Combined YAML source

View the package source record on GitHub. [combined/yamale.yml](https://github.com/automic-vault/db/blob/main/combined/yamale.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
