╔╗ ╦═╗╔═╗╦ ╦ ╔╦╗╔═╗╔═╗╦ ╔═╗
╠╩╗╠╦╝║╣ ║║║───║ ║ ║║ ║║ ╚═╗
╚═╝╩╚═╚═╝╚╩╝ ╩ ╚═╝╚═╝╩═╝╚═╝
A command line utility that offers a set of calculators for home brewers.
NOTE: All values and calculations are provided as guidelines only. Brew-tools should not be used for professional brewing. No warranty or guarantee of accuracy is provided on the information provided by this calculator.
Need to do a quick calculation during your brew day? Don't fancy digging through a GUI application, or a web based tool? Prefer to do simple things in a terminal?
Then brew-tools is for you.
Currently brew-tools includes:
- ABV calculator
- Keg priming calculator
- Priming sugar calculator
- Quick infusion calculator
- Adjust gravity with dme calculator
- Apparent and Real attenuation calculator
- Final gravity from a given attenuation percentage
- Gravity adjustment by boil off/dilution calculator
- New gravity after volume adjustment
- Strike water temp calculator
- Strike water temperature
- Simple unit converter
More to come
See the changelog for updates in each version
Brew-tools is available from PyPI
pip install brew-tools
You can also clone/download this repository and install it using pip
cd <brew-tools-dir>
pip install .
When first starting Brew tools you will be asked for your preferred unit type, metric or imperial.
This is then stored in a config file and used as the default unit. This can be temporarily
changed with the --unit
option.
Brew tools has built in help
Usage: brew_tools [OPTIONS] COMMAND [ARGS]...
Brew-Tools is a small commandline utility that offers quick access to a
set of calculators and tools to help homebrewers create their brews.
All values and calculations are provided as guidelines only. Brew-tools
should not be used for professional brewing. No warranty or guarantee of
accuracy is provided on the information provided by this calculator.
Options:
--version Show the version and exit.
--unit [metric|imperial] Ignore config and use a different unit.
--help Show this message and exit.
Commands:
abv Calculates the ABV from the original and final gravity...
adjust-gravity Calculate the amount of liquid to boil off/dilute with to...
adjust-volume Calculate the new gravity after a change in wort volume...
attenuation Calculates the apparent and real attenuation from the...
convert Convert a value between given measurements.
dme Given the current volume of the mash, work out how much...
fg-from-att Given a starting gravity and a desired attenuation level,...
infuse Given the current mash temperature, work out how much...
kegpsi Calculates the regulator pressure required to achieve...
prime
and also for its commands
brew-tools infuse --help
Usage: brew-tools infuse [OPTIONS]
Options:
-temp FLOAT Current temperature of mash
-target FLOAT Target temperature of mash
-ratio FLOAT Grist/water ratio
-grain FLOAT Weight of grain in mash
-water FLOAT Temp of infusion water
--help Show this message and exit.
If the inputs are not passed via the command line arguments, brew tools will prompt the user for input.
For more information see the documentation
If you want to help develop brew tools you should install it into a virtual environment. The current version of brew-tools uses uv to manage virtual environments and such.
In order to start, install uv and change into the brew-tools directory. From there you can run
uv sync
which will create a virtual environment and install the dependencies as well as install
brew_tools
to the environment.
To run brew_tools
in the development environment run
uv run brew_tools
Which will launch brew_tools
. Simply add arguments to the end of the line.
To run the tests you use
uv run pytest tests
In addition to the tests it's advisable to run a linter of the source as Github actions will also check for linting and formatting errors.
uv run ruff format --check src tests
or if you want to format the files automatically
uv run ruff format src tests
For linting use
uv run ruff check src tests
Thanks to
- /u/DAMNIT_REZNO - for inspiring me to start this project
- SlayterDev - DME addition calculator
- Szczyp - Add input for grain temp and fix missing input function
Brew Tools is released under the MIT license.
See LICENSE.txt
for more details