Skip to content
/ grange Public

A modern subset of the range query language

License

Notifications You must be signed in to change notification settings

square/grange

Repository files navigation

Grange

Grange implements a modern subset of the range query language. It is an expressive grammar for selecting information out of arbitrary, self-referential metadata. It was developed for querying information about hosts across datacenters.

%{has(DC;east) & has(TYPE;redis)}:DOWN

See godocs for usage and syntax.

Goals

  • Easily run cross-platform.
  • Error messages when things go wrong.
  • Fast. (Looking at you, clusters.)

Development

This is library, so does not export a main function. Run it via tests.

export RANGE_SPEC_PATH=/tmp/range-spec
git clone https://github.com/square/range-spec.git $RANGE_SPEC_PATH

go get github.com/pointlander/peg

$GOPATH/bin/peg range.peg && go test

About

A modern subset of the range query language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published