A simple BeerXML parser for Python
Parses all recipes within a BeerXML file and returns object containing all ingredients, style information and metadata. OG, FG, ABV and IBU are calculated from the ingredient list. (your milage may vary)
pip install pybeerxml
from pybeerxml import Parser
path_to_beerxml_file = "/tmp/SimcoeIPA.beerxml"
parser = Parser()
recipes = parser.parse(path_to_beerxml_file)
for recipe in recipes:
# some general recipe properties
print recipe.name
print recipe.brewer
# calculated properties
print recipe.og
print recipe.fg
print recipe.ibu
print recipe.abv
# iterate over the ingredients
for hop in recipe.hops:
print hop.name
for fermentable in recipe.fermentables:
print fermentable.name
for yeast in recipe.yeasts:
print yeast.name
Unit test can be run with PyTest:
py.test tests
MIT