Brew Perfect Coffee Right from Your Terminal
Project description
Overview
MyCoffee is a command-line tool for coffee enthusiasts who love brewing with precision. It helps you calculate the perfect coffee-to-water ratio for various brewing methods, ensuring you brew your ideal cup every time-right from your terminal.
| PyPI Counter | |
| Github Stars |
| Branch | main | dev |
| CI |
| Code Quality |
Installation
Source Code
- Download Version 2.0 or Latest Source
pip install .
PyPI
- Check Python Packaging User Guide
pip install mycoffee==2.0
Usage
ℹ️ You can use mycoffee or python -m mycoffee to run this program
Version
> mycoffee --version
2.0
Info
> mycoffee --info
__ __ ____ __ __
| \/ | _ _ / ___| ___ / _| / _| ___ ___
| |\/| || | | || | / _ \ | |_ | |_ / _ \ / _ \
| | | || |_| || |___ | (_) || _|| _|| __/| __/
|_| |_| \__, | \____| \___/ |_| |_| \___| \___|
|___/
__ __ _ ___
\ \ / / _ / | / _ \
\ \ / / (_)| | | (_) |
\ V / _ | | _ \__, |
\_/ (_)|_|(_) /_/
MyCoffee is a command-line tool for coffee enthusiasts who love brewing with precision.
It helps you calculate the perfect coffee-to-water ratio for various brewing methods,
ensuring you brew your ideal cup every time-right from your terminal.
Repo : https://github.com/sepandhaghighi/mycoffee
Method
> mycoffee --method=v60
__ __ _ _ ___ _____ ____ ____ ____ ____
( \/ )( \/ ) / __)( _ )( ___)( ___)( ___)( ___)
) ( \ / ( (__ )(_)( )__) )__) )__) )__)
(_/\/\_) (__) \___)(_____)(__) (__) (____)(____)
Mode: Water --> Coffee
Method: `v60`
Cups: 1
Coffee:
- Cup: 15 g
- Total: 15 g
Water:
- Cup: 250 g
- Total: 250 g
Ratio: 3/50 (0.06)
Strength: Medium
Grind: 550 um (Medium-Fine)
Temperature: 91 C
Message: V60 method
- Methods List
mycoffee --methods-list
Mode
Water to Coffee
> mycoffee --method=v60 --mode="water-to-coffee" --water=300
__ __ _ _ ___ _____ ____ ____ ____ ____
( \/ )( \/ ) / __)( _ )( ___)( ___)( ___)( ___)
) ( \ / ( (__ )(_)( )__) )__) )__) )__)
(_/\/\_) (__) \___)(_____)(__) (__) (____)(____)
Mode: Water --> Coffee
Method: `v60`
Cups: 1
Coffee:
- Cup: 18 g
- Total: 18 g
Water:
- Cup: 300 g
- Total: 300 g
Ratio: 3/50 (0.06)
Strength: Medium
Grind: 550 um (Medium-Fine)
Temperature: 91 C
Message: V60 method
Coffee to Water
> mycoffee --method=v60 --mode="coffee-to-water" --coffee=12
__ __ _ _ ___ _____ ____ ____ ____ ____
( \/ )( \/ ) / __)( _ )( ___)( ___)( ___)( ___)
) ( \ / ( (__ )(_)( )__) )__) )__) )__)
(_/\/\_) (__) \___)(_____)(__) (__) (____)(____)
Mode: Coffee --> Water
Method: `v60`
Cups: 1
Coffee:
- Cup: 12 g
- Total: 12 g
Water:
- Cup: 200 g
- Total: 200 g
Ratio: 3/50 (0.06)
Strength: Medium
Grind: 550 um (Medium-Fine)
Temperature: 91 C
Message: V60 method
Ratio
> mycoffee --method=v60 --mode="ratio" --coffee=18 --water=300
__ __ _ _ ___ _____ ____ ____ ____ ____
( \/ )( \/ ) / __)( _ )( ___)( ___)( ___)( ___)
) ( \ / ( (__ )(_)( )__) )__) )__) )__)
(_/\/\_) (__) \___)(_____)(__) (__) (____)(____)
Mode: Water & Coffee --> Ratio
Method: `v60`
Cups: 1
Coffee:
- Cup: 18 g
- Total: 18 g
Water:
- Cup: 300 g
- Total: 300 g
Ratio: 3/50 (0.06)
Strength: Medium
Grind: 550 um (Medium-Fine)
Temperature: 91 C
Message: V60 method
Customize
ℹ️ You can run mycoffee --coffee-units-list to view the supported coffee units
ℹ️ You can run mycoffee --water-units-list to view the supported water units
> mycoffee --method=chemex --water=20 --cups=3 --coffee-ratio=2 --water-ratio=37 --coffee-unit="t oz" --water-unit="fl oz" --grind=750 --temperature=88
__ __ _ _ ___ _____ ____ ____ ____ ____
( \/ )( \/ ) / __)( _ )( ___)( ___)( ___)( ___)
) ( \ / ( (__ )(_)( )__) )__) )__) )__)
(_/\/\_) (__) \___)(_____)(__) (__) (____)(____)
Mode: Water --> Coffee
Method: `chemex`
Cups: 3
Coffee:
- Cup: 1.028 t oz
- Total: 3.084 t oz
Water:
- Cup: 20 fl oz
- Total: 60 fl oz
Ratio: 2/37 (0.054)
Strength: Medium
Grind: 750 um (Medium)
Temperature: 88 C
Message: Chemex method
Save
ℹ️ File format valid choices: [text, json, yaml]
ℹ️ The default file format is text
> mycoffee --method=chemex --water=20 --cups=3 --coffee-ratio=2 --water-ratio=37 --save-path="profile1.txt" --save-format="text"
Parameters
| Parameter | Description | Type | Default |
|---|---|---|---|
--mode |
Specifies the conversion mode | String | water-to-coffee |
--method |
Specifies the coffee brewing method | String | custom |
--water |
Sets the amount of water in each cup | Positive float | 240 |
--coffee |
Sets the amount of coffee in each cup | Positive float | 14.118 |
--cups |
Indicates the number of cups | Positive integer | 1 |
--grind |
Grind size (um) | Positive integer | 700 |
--temperature |
Brewing temperature | Float | 90 |
--coffee-ratio |
Coefficient for the coffee component in the ratio | Positive float | 1 |
--water-ratio |
Coefficient for the water component in the ratio | Positive float | 17 |
--message |
Extra information about the brewing method | String | Custom brewing method |
--digits |
Number of digits up to which the result is rounded | Integer | 3 |
--coffee-unit |
Coffee unit | String | g |
--water-unit |
Water unit | String | g |
--temperature-unit |
Temperature unit | String | C |
--save-path |
File path to save the output | String | -- |
--save-format |
Format to save the output | String | text |
Issues & Bug Reports
Just fill an issue and describe it. We'll check it ASAP!
- Please complete the issue template
References
1- Coffee to water ratio calculator
2- V60 Brew Guide
3- How to Brew Coffee with a Chemex
4- Using French press for perfect coffee
5- How to Brew the Perfect Cup of Siphon Coffee
6- Using Espresso Brew Ratios
7- My Best Coffee Recipes of 2022
8- Auto Drip Brewing Guide
9- Guide To Cold Brew
10- Cold Brew Concentrate Recipe
11- How to Make Coffee in a Moka Pot
12- How to Make Turkish Coffee at Home
13- How to Cup Coffee
14- Tetsu Kasuya AeroPress Recipe
15- All about the intervals
16- Clever Dripper; Square Mile Coffee
17- AeroPress Product User Manuals
18- RapidTables - Weight Converter
19- Whole bean to ground coffee calculator
20- Weight to Volume Converter for Recipes
21- How Much Coffee per Cup?
22- Weight Calculator
23- Volume Conversion Calculator - Inch Calculator
24- Metric Conversion Charts and Calculators
25- Coffee grind size chart
26- The best temperature to brew coffee
27- How to Brew Coffee with a Syphon
28- Guide To Home Coffee Makers
29- Can you brew coffee with warm water?
30- How to Brew Coffee Using a Cezve
31- Coffee cupping
32- The Latest Method to Brew Coffee with Your Clever Dripper
33- How to Make Vietnamese Coffee with Traditional Phin Drip Filter
Show Your Support
Star This Repo
Give a ⭐️ if this project helped you!
Donate to Our Project
Bitcoin
1KtNLEEeUbTEK9PdN6Ya3ZAKXaqoKUuxCyEthereum
0xcD4Db18B6664A9662123D4307B074aE968535388Litecoin
Ldnz5gMcEeV8BAdsyf8FstWDC6uyYR6pgZDoge
DDUnKpFQbBqLpFVZ9DfuVysBdr249HxVDhTron
TCZxzPZLcJHr2qR3uPUB1tXB6L3FDSSAx7Ripple
rN7ZuRG7HDGHR5nof8nu5LrsbmSB61V1qqBinance Coin
bnb1zglwcf0ac3d0s2f6ck5kgwvcru4tlctt4p5qefTether
0xcD4Db18B6664A9662123D4307B074aE968535388Dash
Xd3Yn2qZJ7VE8nbKw2fS98aLxR5M6WUU3sStellar
GALPOLPISRHIYHLQER2TLJRGUSZH52RYDK6C3HIU4PSMNAV65Q36EGNLZilliqa
zil1knmz8zj88cf0exr2ry7nav9elehxfcgqu3c5e5Coffeete
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased
2.0 - 2025-08-27
Added
YAMLformatratiomode
Changed
- Test system modified
README.mdupdatedcalc_coffeefunction renamed tocalculate_coffeecalc_waterfunction renamed tocalculate_waterrunfunction renamed torun_program
1.9 - 2025-06-21
Added
- 2 new methods
- Clever dripper
- Phin filter
--coffeeargument--modeargument
Changed
- Test system modified
README.mdupdatedMETHODS.mdupdated
1.8 - 2025-05-02
Changed
get_resultfunction modifiedfilter_paramsfunction modifiedmycoffee_infofunction modifiedcoffeeparameter splitted tocoffee[cup]andcoffee[total]waterparameter splitted towater[cup]andwater[total]check_ratio_limitsfunction parameters updatedcheck_temperature_limitsfunction parameters updatedcheck_grind_limitsfunction parameters updatedcalc_coffeefunction parameters updated- Test system modified
- Warning messages updated
Python 3.6support dropped
1.7 - 2025-03-26
Added
ratioparameterstrengthparameter
Changed
- Python typing features added to all modules
- Test system modified
README.mdupdated
1.6 - 2025-03-12
Added
--save-pathargument--save-formatargument
Changed
- Warning functions modified
- Result functions modified
- Input case sensitivity bug fixed
- Temperature bug fixed
- Test system modified
README.mdupdated
1.5 - 2025-02-26
Added
--infoargument--ignore-warningsargument--temperature-unitargument--temperature-units-listargument
Changed
- Test system modified
README.mdupdated
1.4 - 2025-02-15
Added
--temperatureargument- Temperature upper limit
- Temperature lower limit
Changed
--infoargument renamed to--message- Warning messages updated
README.mdupdatedMETHODS.mdupdated
1.3 - 2025-01-31
Added
get_grind_typefunctionvalidate_positive_intfunctionvalidate_positive_floatfunction
Changed
README.mdupdatedcheck_ratio_limitsfunction bug fixed- String templates modified
- Test system modified
1.2 - 2025-01-13
Added
- 2 new water units
- Troy Pounds (
t lb) - Pennyweight (
dwt)
- Troy Pounds (
- 2 new coffee units
- Troy Pounds (
t lb) - Pennyweight (
dwt)
- Troy Pounds (
--grindargument- Grind upper limit
- Grind lower limit
check_grind_limitsfunction
Changed
README.mdupdatedMETHODS.mdupdated
1.1 - 2025-01-02
Added
- 5 new water units
- Troy Ounce (
t oz) - Grain (
gr) - Carats (
ct) - Cubic Centimeters (
cc) - Centiliters (
cl)
- Troy Ounce (
- 3 new coffee units
- Troy Ounce (
t oz) - Grain (
gr) - Carats (
ct)
- Troy Ounce (
Changed
README.mdupdated
1.0 - 2024-12-17
Added
- 3 new water units
- Pint (
pt) - Quart (
qt) - Fluid Ounce (
fl oz)
- Pint (
Changed
README.mdupdated
0.9 - 2024-12-06
Added
- 4 new water units
- Tablespoon (
tbsp) - Teaspoon (
tsp) - Dessertspoon (
dsp) - Cup (
cup)
- Tablespoon (
0.8 - 2024-11-29
Added
- 1 new coffee unit
- Cup (
cup)
- Cup (
- 6 new water units
- Milliliter (
ml) - Liter (
l) - Ounce (
oz) - Pound (
lb) - Milligram (
mg) - Kilogram (
kg)
- Milliliter (
convert_waterfunctionshow_water_units_listfunction--water-unitargument
Changed
- Test system modified
README.mdupdated
0.7 - 2024-11-21
Added
- 4 new coffee units
- Coffee beans (
cb) - Tablespoon (
tbsp) - Teaspoon (
tsp) - Dessertspoon (
dsp)
- Coffee beans (
convert_coffeefunction
Changed
- GitHub actions are limited to the
devandmainbranches
0.6 - 2024-10-18
Added
show_coffee_units_listfunction--coffee-unitargument
Changed
- Test system modified
- Cups bug fixed
calc_coffeefunction updatedREADME.mdupdatedPython 3.13added totest.yml
0.5 - 2024-10-08
Added
- Ratio upper limit
- Ratio lower limit
check_ratio_limitsfunction
Changed
- Test system modified
print_messagefunction renamed toprint_result
0.4 - 2024-10-01
Added
- 4 new methods
- AeroPress standard
- AeroPress concentrate
- AeroPress inverted
- Steep-and-release
--digitsargument
Changed
README.mdupdated- Test system modified
filter_paramsfunction updated
0.3 - 2024-09-24
Added
- Logo
- 4 new methods
- Ristretto
- Lungo
- Turkish
- Cupping
0.2 - 2024-09-17
Added
- 5 new methods
- Pour-over
- Auto drip
- Cold brew
- Cold brew concentrate
- Moka pot
is_intfunctionfilter_paramsfunction
Changed
README.mdupdated--coffee-ratiotype changed frominttofloat--water-ratiotype changed frominttofloatcoffee_calcfunction renamed tocalc_coffeeprint_messagefunction updated- Test system modified
0.1 - 2024-09-02
Added
- 6 new methods
- V60
- Espresso
- Chemex
- French-press
- Siphon
- Custom
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mycoffee-2.0.tar.gz.
File metadata
- Download URL: mycoffee-2.0.tar.gz
- Upload date:
- Size: 25.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df005c82de28fe34e448c531c7ffca2a165d7d96c08205b12c984dd7cd2066e3
|
|
| MD5 |
f670ecf375fb30ebcff3dc940375b58c
|
|
| BLAKE2b-256 |
ee03cbf4feb040cc98465d6b4e9d7e2c14a0afc79915cba9445e7733a67ce178
|
File details
Details for the file mycoffee-2.0-py3-none-any.whl.
File metadata
- Download URL: mycoffee-2.0-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c8b00738265164f679d43d907fe52380a40dfd86e9f2afacc34e217b341599b
|
|
| MD5 |
3a7a7b6b542307d0c65627adc13fa140
|
|
| BLAKE2b-256 |
49138808902d53122e18d34275f3b23907383325b7b3a295c85d094ea0bf2fd4
|