Skip to main content

Brew Perfect Coffee Right from Your Terminal

Project description

MyCoffee: Brew Perfect Coffee Right from Your Terminal


built with Python3 GitHub repo size PyPI version

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 CodeFactor codebeat badge

Installation

Source Code

PyPI

Usage

ℹ️ You can use mycoffee or python -m mycoffee to run this program

Version

> mycoffee --version

1.9

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

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

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]

ℹ️ 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

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

1KtNLEEeUbTEK9PdN6Ya3ZAKXaqoKUuxCy

Ethereum

0xcD4Db18B6664A9662123D4307B074aE968535388

Litecoin

Ldnz5gMcEeV8BAdsyf8FstWDC6uyYR6pgZ

Doge

DDUnKpFQbBqLpFVZ9DfuVysBdr249HxVDh

Tron

TCZxzPZLcJHr2qR3uPUB1tXB6L3FDSSAx7

Ripple

rN7ZuRG7HDGHR5nof8nu5LrsbmSB61V1qq

Binance Coin

bnb1zglwcf0ac3d0s2f6ck5kgwvcru4tlctt4p5qef

Tether

0xcD4Db18B6664A9662123D4307B074aE968535388

Dash

Xd3Yn2qZJ7VE8nbKw2fS98aLxR5M6WUU3s

Stellar

GALPOLPISRHIYHLQER2TLJRGUSZH52RYDK6C3HIU4PSMNAV65Q36EGNL

Zilliqa

zil1knmz8zj88cf0exr2ry7nav9elehxfcgqu3c5e5

Coffeete

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

1.9 - 2025-06-21

Added

  • 2 new methods
    1. Clever dripper
    2. Phin filter
  • --coffee argument
  • --mode argument

Changed

  • Test system modified
  • README.md updated
  • METHODS.md updated

1.8 - 2025-05-02

Changed

  • get_result function modified
  • filter_params function modified
  • mycoffee_info function modified
  • coffee parameter splitted to coffee[cup] and coffee[total]
  • water parameter splitted to water[cup] and water[total]
  • check_ratio_limits function parameters updated
  • check_temperature_limits function parameters updated
  • check_grind_limits function parameters updated
  • calc_coffee function parameters updated
  • Test system modified
  • Warning messages updated
  • Python 3.6 support dropped

1.7 - 2025-03-26

Added

  • ratio parameter
  • strength parameter

Changed

  • Python typing features added to all modules
  • Test system modified
  • README.md updated

1.6 - 2025-03-12

Added

  • --save-path argument
  • --save-format argument

Changed

  • Warning functions modified
  • Result functions modified
  • Input case sensitivity bug fixed
  • Temperature bug fixed
  • Test system modified
  • README.md updated

1.5 - 2025-02-26

Added

  • --info argument
  • --ignore-warnings argument
  • --temperature-unit argument
  • --temperature-units-list argument

Changed

  • Test system modified
  • README.md updated

1.4 - 2025-02-15

Added

  • --temperature argument
  • Temperature upper limit
  • Temperature lower limit

Changed

  • --info argument renamed to --message
  • Warning messages updated
  • README.md updated
  • METHODS.md updated

1.3 - 2025-01-31

Added

  • get_grind_type function
  • validate_positive_int function
  • validate_positive_float function

Changed

  • README.md updated
  • check_ratio_limits function bug fixed
  • String templates modified
  • Test system modified

1.2 - 2025-01-13

Added

  • 2 new water units
    1. Troy Pounds (t lb)
    2. Pennyweight (dwt)
  • 2 new coffee units
    1. Troy Pounds (t lb)
    2. Pennyweight (dwt)
  • --grind argument
  • Grind upper limit
  • Grind lower limit
  • check_grind_limits function

Changed

  • README.md updated
  • METHODS.md updated

1.1 - 2025-01-02

Added

  • 5 new water units
    1. Troy Ounce (t oz)
    2. Grain (gr)
    3. Carats (ct)
    4. Cubic Centimeters (cc)
    5. Centiliters (cl)
  • 3 new coffee units
    1. Troy Ounce (t oz)
    2. Grain (gr)
    3. Carats (ct)

Changed

  • README.md updated

1.0 - 2024-12-17

Added

  • 3 new water units
    1. Pint (pt)
    2. Quart (qt)
    3. Fluid Ounce (fl oz)

Changed

  • README.md updated

0.9 - 2024-12-06

Added

  • 4 new water units
    1. Tablespoon (tbsp)
    2. Teaspoon (tsp)
    3. Dessertspoon (dsp)
    4. Cup (cup)

0.8 - 2024-11-29

Added

  • 1 new coffee unit
    1. Cup (cup)
  • 6 new water units
    1. Milliliter (ml)
    2. Liter (l)
    3. Ounce (oz)
    4. Pound (lb)
    5. Milligram (mg)
    6. Kilogram (kg)
  • convert_water function
  • show_water_units_list function
  • --water-unit argument

Changed

  • Test system modified
  • README.md updated

0.7 - 2024-11-21

Added

  • 4 new coffee units
    1. Coffee beans (cb)
    2. Tablespoon (tbsp)
    3. Teaspoon (tsp)
    4. Dessertspoon (dsp)
  • convert_coffee function

Changed

  • GitHub actions are limited to the dev and main branches

0.6 - 2024-10-18

Added

  • show_coffee_units_list function
  • --coffee-unit argument

Changed

  • Test system modified
  • Cups bug fixed
  • calc_coffee function updated
  • README.md updated
  • Python 3.13 added to test.yml

0.5 - 2024-10-08

Added

  • Ratio upper limit
  • Ratio lower limit
  • check_ratio_limits function

Changed

  • Test system modified
  • print_message function renamed to print_result

0.4 - 2024-10-01

Added

  • 4 new methods
    1. AeroPress standard
    2. AeroPress concentrate
    3. AeroPress inverted
    4. Steep-and-release
  • --digits argument

Changed

  • README.md updated
  • Test system modified
  • filter_params function updated

0.3 - 2024-09-24

Added

  • Logo
  • 4 new methods
    1. Ristretto
    2. Lungo
    3. Turkish
    4. Cupping

0.2 - 2024-09-17

Added

  • 5 new methods
    1. Pour-over
    2. Auto drip
    3. Cold brew
    4. Cold brew concentrate
    5. Moka pot
  • is_int function
  • filter_params function

Changed

  • README.md updated
  • --coffee-ratio type changed from int to float
  • --water-ratio type changed from int to float
  • coffee_calc function renamed to calc_coffee
  • print_message function updated
  • Test system modified

0.1 - 2024-09-02

Added

  • 6 new methods
    1. V60
    2. Espresso
    3. Chemex
    4. French-press
    5. Siphon
    6. Custom

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mycoffee-1.9.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mycoffee-1.9-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file mycoffee-1.9.tar.gz.

File metadata

  • Download URL: mycoffee-1.9.tar.gz
  • Upload date:
  • Size: 25.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for mycoffee-1.9.tar.gz
Algorithm Hash digest
SHA256 937c2bb289e168536bdc345c94914a76f76d1b1dfef166f3c3c172aecbf0aa59
MD5 99fbff76a387ac3d147f6105a950dcf5
BLAKE2b-256 67e2dcd3387c9129254ba6fdcbc5dd7bfff5ad82a80f5557e20f494ba2fe2ff4

See more details on using hashes here.

File details

Details for the file mycoffee-1.9-py3-none-any.whl.

File metadata

  • Download URL: mycoffee-1.9-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for mycoffee-1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d1c2d10ba6f5967aff70eb9132496ecb3698b2f7a6cf9a48602c85c275702a17
MD5 e790d4957a4684fa6cd9467cc2531f92
BLAKE2b-256 859d513706157e639aef56317ae7f5455fc163610478e25b8249780b2fab5e9c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page