CocktailBerry is a Python and Qt based app for a cocktail machine on the Raspberry Pi. It enables you to build your own, fully customized machine, while still be able to use the identical software on each machine. Detailed information, installation steps and SetUp can be found at the Official Documentation.
Supercharge your next party to a whole new level! 🐍 + 🍸 = 🥳
This app is used to control a cocktail machine and easily prepare cocktails over a nice-looking user interface. It also offers the option to create and manage your recipes and ingredients over the interface and calculates the possible cocktails to prepare over given ingredients. Track and display cocktail data for different teams to even further increase the fun. Let's get started!
Like this project? Give it a star on GitHub! ⭐
CocktailBerry can do:
In addition, there is the possibility to use and set up a second device as a dashboard:
Here are some simple steps to get CocktailBerry running. You need to have Python 3.9 or newer and git installed.
On the RPi, you can try the new all in one installer script. One command should install everything:
wget -O - https://raw.githubusercontent.com/AndreWohnsland/CocktailBerry/master/scripts/all_in_one.sh | bash
Otherwise, run:
cd ~
git clone https://github.com/AndreWohnsland/CocktailBerry.git
cd CocktailBerry
pip install -r requirements.txt
# you can get help with python runme.py --help
python runme.py
This will start the CocktailBerry program. You may want to run the provided installer script for the RPi instead of pip. See Installation for more information.
sh scripts/setup.sh
Now you can Set Up your CocktailBerry and tweak the settings to your liking.
The interface was programmed with PyQt5 for the users to easily interact with CocktailBerry and enter new ingredients/recipes. There are different views for the tasks.
The Maker GUI:
The Ingredient GUI:
The Recipe GUI:
The Bottle GUI:
If you want to support this project, feel free to fork it and create your own pull request. If you run into any issues, feel free to open a ticket / issue. If you think there is a super important feature missing, open a feature request. It may be implemented in the future.
To get started, have a quick look into the Guidelines for contributing. Here is a general list of features or refactoring things, I may do in the future. With your help, these things come even faster! If your idea is not on the list, feel free to open a feature request, I may consider it!
easy
: Translate all dialogs / UI to your native languagemedium
: Help to move to v2 with API based control and a separate UIeasy-hard
: Implement a cool addon and make it verifiedThis project uses Rye to manage all its dependencies. To get started, you need to install Rye and then install the dependencies.
rye sync --no-lock
This will install all dependencies and you can start developing. Then just run
rye run python runme.py