Beerlang
The open source file specification for brewing software
Install / Use
/learn @BinaryBeard/BeerlangREADME
<center>EVERYTHING BELOW THIS POINT IS A WORK IN PROGRESS</center>
Purpose
Currently, there are no standards for automated and semi-automated beer making software. This industry is filled with proprietary software and few open standards. beerlang is only one solution to this closed industry.
Compliance
An application, program, or service can hold three types of compliance when it comes to following the beerlang specification.
Interpretation
This type of compliance is earned when the application, program, or service can receive a beerlang file as input and completely understand what beerlang is asking the application, program, or service to do.
Composition
This type of compliance is earned when the application, program, or service can create a beerlang file to the beerlang specification.
Both?[NEED NAME]
This type of compliance is earned when the application, program, or service can both Interpret and Compose beerlang files to its specification.
General Specification
|tag|description|
|---|-----------|
|hops|the flowers of the Humulus Iupulus plant that act as a flavoring and stability agen in beer||
Specification Reference
hops specification
Attributes
|attribute|required|type|primitive|description|accepted values|example|
|:--------|:------:|:---|:--------|:----------|:-------------:|:------|
|name|true|string||the human readable name|^[\w,\ ,.]{1,255}$|cascade, mt. hood, saaz|
|type|false|string||the human readable type of use for these hops|bittering, aroma, bittering and aroma|bittering, aroma, bittering and aroma|
|form|false|string||the form of the hops|pellet, plug, leaf|pellet, plug, leaf|
|alpha|true|number|float|the percentage of alpha acid|^(\d*\.\d+)$|0.082 => 8.2%, 0.12 => 12%, 0.045 => 4.5%|
|beta|false|number|float|the percentage of beta acid|^(\d*\.\d+)$|0.082 => 8.2%, 0.12 => 12%, 0.045 => 4.5%|
|quantity|true|number|float|the quantity of required for the recipe|^(\d*\.\d+)$|1.2, 0.8, 5.7
|quantity_unit|true|string||refer to the symbol on the mass table in the Appendix|mass table|kg, g, lb|
|usage|true|string||refer to the name on the hop usage table in the Appendix|boil, dry hop, mash|boil, dry hop, mash|
|duration|true|number|float|the duration of the usage|^(\d*\.\d+)$|60.0, 3600.0, 1.0|
|duration_unit|true|string||refer to the symbol on the duration table in the Appendix|duration table|sec, min, hr|
Appendix
mass table
|symbol|name|default|equivalence|
|------|----|-------|:----------|
|g|gram|true|1.0 g = 1.0g|
|kg|kilogram||1.0 kg = 1000.0 g|
|oz|ounce||1.0 oz = 28.3495 g|
|lb|pound||1.0 lb = 453.592 g|
volume table
|symbol|name|default|equivalence|
|------|----|-------|:----------|
|mL|milliliter|true|1.0 mL = 1.0 mL|
|tsp|teaspoon||1.0 tsp = 4.92892 mL|
|tbsp|tablespoon||1.0 tbsp = 14.7868 mL|
|fl oz|fluid ounce||1.0 fl oz = 29.5735 mL|
|cup|cup||1.0 cup = 240 mL|
|pt|pint||1.0 pt = 473.176 mL|
|qt|quart||1.0 qt = 946.353 mL|
|l|liter||1.0 L = 1000 mL|
|gal|gallon||1.0 gal = 3785.41 mL|
temperature table
|symbol|name|default|equivalence|
|------|----|-------|:----------|
|C|celsius|true|20.0 C = 20.0 C|
|F|fahrenheit||68.0 F = 20.0 C|
|K|kelvin||293.15 K = 20.0 C|
duration table
|symbol|name|default|equivalence|
|------|----|-------|:----------|
|sec|second|true|1.0 sec = 1.0 sec|
|min|minute||1.0 min = 60.0 sec|
|hr|hour||1.0 hr = 3600.0 sec|
|day|day||1.0 day = 86400.0 sec|
|wk|week||1.0 wk = 604800.0 sec|
color table
|symbol|name|default|equivalence|
|------|----|-------|:----------|
|srm|Standard Reference Method|true|25.0 srm = 25.0 srm|
|ebc|European Brewing Convention||49.3 ebc = 25.0 srm|
|L|Lovibond||19.0 L = 25.0 srm|
specific gravity table
|symbol|name|default|
|------|----|-------|
|sg|Specific Gravity|true|
|plato|Plato||
Security Score
Audited on Nov 16, 2022
