Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Quickstart

cargo install gaebboss-cli
pip install gaebboss

Look at a tender:

gaebboss info tender.X83
gaebboss items tender.X83
gaebboss text tender.X83 --oz 01.02.0010 --markdown

Price it:

gaebboss items tender.X83 --tsv | cut -f1 > prices.csv   # then add ",<unit price>" per line
cat > bidder.toml <<'EOT'
name1 = "Bau GmbH"
street = "Weg 1"
pcode = "12345"
city = "Berlin"
vat_percent = "19"
EOT
gaebboss bid tender.X83 --prices prices.csv --bidder bidder.toml -o bid.X84
gaebboss validate bid.X84 --tender tender.X83

The same in Python:

from decimal import Decimal
import gaebboss

tender = gaebboss.Document("tender.X83")
for item in tender.items():
    print(item.oz, item.quantity, item.unit, item.short_text)

bid = gaebboss.Bid.from_tender(tender, {"name1": "Bau GmbH", "street": "Weg 1", "pcode": "12345", "city": "Berlin"})
for item in tender.items():
    bid.price(item.id, Decimal("12.50"))
bid.vat_percent(Decimal("19"))
open("bid.X84", "wb").write(bid.finish().write())

And in Rust:

#![allow(unused)]
fn main() {
use gaebboss_core::Document;

let doc = Document::open(std::path::Path::new("tender.X83"))?;
for item in doc.items() {
    println!("{} {:?} {}", item.oz, item.quantity(), item.short_text());
}
}