The fanbase command: browse, install and update grammars from the Fanbase registry.
The registry itself lives in the fanbase
repository; this package is the client. You never need the whole registry: a spec is
fetched when you ask for it, and fetched again only when the registry has a newer one.
pip install fanbaseFandango depends on fanbase, so pip install fandango-fuzzer installs it too.
fandango -F NAME is fandango -f FILE, for a spec from the registry. The spec is fetched
into Fandango's standard library location if it is missing or out of date, and then used:
fandango fuzz -F png -n 10 # the default PNG spec; writes png-inputs/fandango-0000.png ...
fandango fuzz -F png-apng -n 10 -d apngs # a named variant, into a directory of your choice
fandango fuzz -F png -f mypng.fan -n 10 # your own rules on top of the Fanbase specSince the format is known, the file name extension is set for you, and with neither -o
nor -d the files go to a fresh directory (png-inputs, then png-inputs-2, ...). Every
other fandango fuzz option works as usual. See the Fandango documentation for details.
fanbase list # the formats in the registry
fanbase list png # the specs of one format
fanbase show png-apng # one spec's metadata
fanbase install png-apng # copy it where Fandango's include() finds it| You want to | Commands | Read |
|---|---|---|
| find, install and update specs | list, search, show, install, update, uninstall, outdated, diff, cite |
Using specs |
| run with exactly the specs you used before | lock, install --locked |
Repeating a run |
| write a spec and contribute it | new, fork, rebase, deps, check, changes, publish |
Writing specs |
| see how well a spec's files do against real parsers | evaluate, targets, quality |
Evaluating a spec |
| keep what a parser does on a bad file private | incidents open, send, list, show, track, tracked, verify |
The private record |
| use another registry, or run your own | registry, pin, unpin, reindex |
Registries |
| sign a registry, put it on a site, give a spec a DOI | sign, verify, site, doi |
Signing, browsing and citing |
fanbase --help lists every command, and fanbase COMMAND --help its options.
fanbase-cli is archived on Zenodo. The DOI 10.5281/zenodo.23259520 stands for the software as a whole and always leads to the latest version; each release has a DOI of its own, on that page.
@software{fanbase_cli,
author = {Zamudio Amaya, Jos{\'e} Antonio},
title = {fanbase-cli: the command-line client for the Fanbase registry of Fandango input specifications},
doi = {10.5281/zenodo.23259520},
url = {https://doi.org/10.5281/zenodo.23259520},
license = {Apache-2.0}
}The registry with the specs, fanbase, is archived separately.
Apache-2.0, see LICENSE.