braubuddy icon indicating copy to clipboard operation
braubuddy copied to clipboard

A temperature management framework written in Python.

|logo| Braubuddy

|travis| |downloads| |versions|

Braubuddy is a temperature management framework written in Python.

Conceived as a means of monitoring and controlling the fermentation temperature of beer, Braubuddy can be used in any situation where visibility and/or control of temperature is critical:

  • Keep tropical fish swimming happily in water that's 26°C
  • Brew a perfect lager by fermenting at a constant 9°C
  • Maximise employee productivity with an optimum office ambient air temp of 21.5°C

Complete documentation is available at braubuddy.org <http://braubuddy.org>_.

Features

Web Interface ^^^^^^^^^^^^^

Braubuddy's web interface facilitates temperature monitoring from any device with a web browser.

|web_interface|

API ^^^

Time-series temperature, heating and cooling metrics may be consumed programatically using the Braubuddy API.

Outputs ^^^^^^^

Braubuddy outputs allow metric values to be recorded in a variety of formats or published directly to external services including Graphite, Librato, Dweet and Twitter.

Extensible ^^^^^^^^^^

The various Braubuddy components are designed to be extended. Consult CONTRIBUTE.RST if you'd like to request or contribute support for a particular component.

Getting Started

Hardware ^^^^^^^^

To monitor temperature using Braubuddy you will need a supported thermometer <http://braubuddy.org/components.html#thermometer>_.

To control temperature you will also need a supported environmental controller <http://braubuddy.org/components.html#envcontroller>_.

Install ^^^^^^^

Braubuddy is best enjoyed from within a Python virtualenv <http://virtualenv.readthedocs.org/en/latest/>_:

::

virtualenv ~/braubuddy
source ~/braubuddy/bin/activate

Production


Install the latest production release from `PyPI <https://pypi.python.org/>`:

::

    pip install braubuddy

Development

Install the latest development release from Github <https://github.com/amorphic/braubuddy>_:

::

git clone https://github.com/amorphic/braubuddy.git
pip install -e ./braubuddy

Start ^^^^^

Start braubuddy with a single command:

::

braubuddy

Configure ^^^^^^^^^

If not already present, a default configuration file is deployed to ~/.config/braubuddy/.

For system-wide configuration, copy this config file to /etc/xdg/braubuddy/.

The example config file use default targets and automatically attempts to find a compatible thermometer and environmental controller. Follow the docs <http://braubuddy.org/configure.html>_ to customise your configuration.

.. |travis| image:: https://travis-ci.org/amorphic/braubuddy.svg?branch=master :alt: Braubuddy CI :target: https://travis-ci.org/amorphic/braubuddy

.. |downloads| image:: https://pypip.in/download/braubuddy/badge.svg :alt: Downloads :target: https://pypi.python.org/pypi/braubuddy/

.. |versions| image:: https://pypip.in/py_versions/braubuddy/badge.svg :alt: Supported Python versions :target: https://pypi.python.org/pypi/braubuddy/

.. |logo| image:: images/logo/bb_logo_24x24.png :alt: Braubuddy web application :target: https://braubuddy.org

.. |web_interface| image:: /images/screenshots/1.png :alt: Braubuddy web application :target: https://braubuddy.org