a Python module to calculate blood alcohol levels
JavaScript Python
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A Python module containing a couple of functions to calculate the blood alcohol content of people.

It's at home at GitHub: https://github.com/brutus/boozelib/

boozelib has no dependencies. If you want to run the included test cases you need the nose testing framework though (see below).


The two main functions are:

  • get_bac(age, weight, height, sex, volume, percent)

    Returns the Blood Alcohol Content (raise) for a person (described by the given attributes) after a drink containing volume ml of alcohol with the given percent (vol/vol).

  • get_degradation(age, weight, height, sex, minutes)

    Returns the alcohol degradation (per mill) of a person with the given stats in the given number of minutes.

See the documentation inside the source file (boozelib.py) for more information and other probably helpful stuff. You can browse the full documentation online, there is also a quick overview of all available constants and functions. Or you can get help with pydoc boozelib, if you already got boozelib installed.

If you're interested in the used formulas, see the source and documentation or browse the formulas online (maybe easier to read).


>>> get_bac(32, 96, 186, False, 500, 4.9)
>>> get_bac(32, 48, 162, True, 500, 4.9)
>>> get_degradation(32, 96, 186, False, 60)
>>> get_degradation(32, 48, 162, True, 60)


You can install boozelib with pip or from source.

Install with pip

pip is "a tool for installing and managing Python packages". If you have it installed, simply get boozelib like this:

Install system wide:

sudo pip install boozelib

Install only for the current user:

pip install --user boozelib

Install pip

If you don't have pip installed yet, you can get it with these two commands:

$ sudo curl http://python-distribute.org/distribute_setup.py | python

$ sudo curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

Install from source

You can fetch the latest sourceball from github and unpack it, or just clone the repository: git clone git://github.com/brutus/boozelib.git. If you got the source, change into the directory and use setup.py:

Install system wide:

sudo python setup.py install

Install only for the current user:

python setup.py install --user


There are some doctes in the module, you can run them from the boozelib directory by either running the module by itself python boozelib.py or running python -m doctest -v boozelib.py.

If you want to run the test cases, see that you got nose installed and run nosetests from the boozelib directory (the one containing the module). If you got boozelib already installed, run them like this: nosetest test_boozelib

If something fails, please get in touch.

Install nose

You can install nose with pip sudo pip install nose or propably also trough your OS package management, eg: sudo apt-get install python-nose or the like.

Thanks and Contributions

  • Big hugs to Mathilda for hanging around and helping me figuring out all that math and biology stuff.

If you find any bugs, issues or anything, please use the issue tracker on GitHub.