A CLI tool written in Rust to automate the retrieval of Gregorian Chant notation (GABC) from GregoBase.
- Rust and Cargo (latest stable version recommended)
git clone https://github.com/FabianRadomski/gabc_fetcher.git
cd gabc_fetcher
cargo install --path .By default, the tool picks the first matching Antiphon and prints the GABC to standard output.
gabc_fetcher --query "Da pacem"You can save the output directly to a file using the --output flag or standard piping.
# Option A: Built-in flag
gabc_fetcher --query "Da pacem" --output da_pacem.gabc
# Option B: Piping (Unix philosophy)
gabc_fetcher --query "Da pacem" > da_pacem.gabcIf you want to choose between different manuscripts or versions (e.g., Liber Usualis vs. Antiphonale Monasticum), use the interactive flag.
gabc_fetcher -i --query "Salve Regina"This option allows you to look for a specific chant type. The default type is antiphona
gabc_fetcher --query "Adoro te devote" --type "hymnus"The project includes integration tests that verify the tool against the live GregoBase website.
cargo test- reqwest: HTTP client (configured with
rustlsfor easy cross-platform builds). - scraper: For parsing the GregoBase index pages.
- clap: For command-line argument parsing.
- dialoguer: For the interactive terminal menus.
- tokio: Asynchronous runtime.