Skip to content

mmalcek/bafi

Repository files navigation

Go CodeQL Go Report Card License Mentioned in Awesome Go GitHub tag (latest by date)

Universal JSON, BSON, YAML, CSV, XML, mt940 translator to ANY format using templates

Key features

  • Various input formats (json, bson, yaml, csv, xml, mt940)
  • Flexible output formatting using text templates
  • Support for Lua custom functions which allows very flexible data manipulation
  • stdin/stdout support which allows get data from source -> translate -> delivery to destination. This allows easily translate data between different web services like REST to SOAP, SOAP to REST, REST to CSV, ...
  • Merge multiple input files in various formats into single output file formated using template
  • Support chatGPT queries to analyze or format data (experimental)

usage:

bafi.exe -i testdata.xml -t template.tmpl -o output.txt

or

curl.exe -s https://api.predic8.de/shop/customers/ | bafi.exe -f json -t "?{{toXML .}}"

or

curl -s https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml | ./bafi -f xml -gk myChatGPTToken -gq "What's the current CZK rate?"

More examples and description in documentation

If you like this app you can buy me a coffe ;)

Buy Me a Coffee at ko-fi.com