Python SDK for CoffeeTrove — explore 440K cafes, coffee origins, brewing methods, and specialty coffee data worldwide.
Project description
coffeetrove
Python SDK for CoffeeTrove.com -- explore 440,000+ cafes, coffee origins, brewing methods, beans, and specialty coffee data worldwide.
Install
pip install coffeetrove
For pandas DataFrame support:
pip install coffeetrove[pandas]
Quick Start
import coffeetrove
# Find cafes in any city
paris_cafes = coffeetrove.cafes("Paris", limit=5)
print(paris_cafes[0]["name"])
# Search cafes by name
results = coffeetrove.search_cafes("Blue Bottle", city="Tokyo")
# Coffee origins with flavor profiles
origins = coffeetrove.origins()
ethiopia = [o for o in origins if o["slug"] == "ethiopia"][0]
print(ethiopia["flavor_profile"])
# Brewing methods with step-by-step guides
methods = coffeetrove.methods()
# Coffee drinks with nutritional info
drinks = coffeetrove.drinks()
# Bean varieties
beans = coffeetrove.beans()
# Equipment and gear
gear = coffeetrove.equipment()
Using the Client
For more control, use CoffeeTroveClient directly:
from coffeetrove import CoffeeTroveClient
with CoffeeTroveClient() as client:
# Search cafes with multiple filters
cafes = client.cafes(city="Melbourne", limit=20)
# Get cafes by country
japan_cafes = client.cafes(country="japan", limit=50)
# Count cafes
total = client.count_cafes()
print(f"Total cafes: {total:,}") # Total cafes: 440,000+
# Count by country
france = client.count_cafes(country="france")
print(f"Cafes in France: {france:,}")
# Get all coffee comparisons
comparisons = client.comparisons()
Pandas DataFrames
import coffeetrove
# Cafes as DataFrame
df = coffeetrove.cafes("London", limit=100, as_dataframe=True)
print(df[["name", "city", "score"]].describe())
# Origins as DataFrame
origins_df = coffeetrove.origins(as_dataframe=True)
Data Available
| Data | Count | Description |
|---|---|---|
| Cafes | 440,000+ | Name, address, coordinates, score, hours, chain type |
| Origins | 15+ | Growing regions with altitude, flavor, harvest data |
| Brewing Methods | 15+ | Step-by-step guides with grind, temp, ratio |
| Drinks | 17+ | Ingredients, caffeine, calories |
| Beans | 23+ | Species, origin, flavor notes, processing |
| Equipment | 15+ | Category, price range, difficulty |
| Comparisons | 17+ | Side-by-side drink and method analysis |
Golden Drop Score
Every cafe has a score (0-100) based on data completeness, reviews, and chain type. Independent cafes receive a +10 bonus. Learn more.
Links
- CoffeeTrove.com -- Main site
- Cafe Map -- Interactive map of 440K cafes
- Knowledge Hub -- Brewing guides, origins, drinks
- Brewing Tools -- Ratio calculator, grind guide, timer
- Magazine -- Coffee culture articles
License
MIT
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 coffeetrove-0.1.0.tar.gz.
File metadata
- Download URL: coffeetrove-0.1.0.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a80d4edfb15e21117af6fc2aa4bc5bf179a0bc96c8a36c26aeb1b5ac031d2806
|
|
| MD5 |
0a367fdf36deed77f90a212bfee4e99c
|
|
| BLAKE2b-256 |
10d49ea21c00c9627fba4ee8e689299b62ed00fe83be9df0b7f00fe11228893d
|
File details
Details for the file coffeetrove-0.1.0-py3-none-any.whl.
File metadata
- Download URL: coffeetrove-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d8d1784a655d97ad661762fb2de3cdfbc186714cec70453cbdadece9086101f
|
|
| MD5 |
0c2f2a250e0c6d26e62329a9c71cfdf7
|
|
| BLAKE2b-256 |
77abc307020acac91402d420ea044c022933c1f60eaedd0f9d0fc0daf0fa946f
|