Skip to content

Fermentable

pybeerxml.fermentable.Fermentable

Bases: BeerXmlModel

A fermentable ingredient — grain, extract, sugar, or adjunct.

The BeerXML YIELD field is stored in the yield_ attribute (yield is a Python keyword). The old _yield attribute remains available as a compatibility alias.

Attributes:

Name Type Description
name str | None

Ingredient name.

amount float | None

Weight in kilograms.

color float | None

Colour contribution in degrees Lovibond (°L).

type str | None

Ingredient type (e.g. "Grain", "Extract", "Sugar").

origin str | None

Country of origin.

supplier str | None

Supplier or maltster name.

notes str | None

Free-text notes.

coarse_fine_diff LenientFloat

Difference between coarse and fine grind yield (%).

moisture LenientFloat

Moisture content (%).

diastatic_power LenientFloat

Diastatic power in degrees Lintner.

protein LenientFloat

Protein content (%).

max_in_batch LenientFloat

Maximum recommended percentage of the grain bill.

ibu_gal_per_lb LenientFloat

IBU contribution per gallon per pound (for adjuncts).

yield_ float | None

The BeerXML YIELD field (dry yield percentage).

add_after_boil bool | None

Whether this fermentable is added after the boil.

recommend_mash bool | None

Whether mashing is recommended for this fermentable.

addition property

When this fermentable is added during the brewing process.

Returns one of "mash", "steep", or "boil", determined by matching the ingredient name against known patterns. Explicit keywords in the name ("mash", "steep", "boil") take precedence over pattern matching. Unknown ingredients default to "mash".

ppg property

Points per pound per gallon, derived from the BeerXML YIELD field.

Returns None when YIELD is not set.

gu(liters=1.0)

Gravity units contributed at 100 % efficiency for the given volume.

Parameters:

Name Type Description Default
liters float

Batch volume in litres.

1.0

Returns:

Type Description
float | None

Gravity units as a float, or None if amount or yield

float | None

is not set.