Parse recipe ingredients into structured data (name, quantity, units, preparation notes)
Project description
Ingredient Parser (Zestful Client)
Overview
Parse recipe ingredient strings into structured data.
Examples
Parse a single ingredient
import json
import parse_ingredient
ingredient = parse_ingredient.parse('2 1/2 tablespoons finely chopped parsley')
print(json.dumps(ingredient.as_dict()))
{
"quantity": 2.5,
"unit": "tablespoon",
"product": "parsley",
"productSizeModifier": null,
"preparationNotes": "finely chopped",
"usdaInfo": {
"category": "Vegetables and Vegetable Products",
"description": "Parsley, fresh",
"fdcId": "170416",
"matchMethod": "exact"
},
"confidence": 0.9858154,
}
Parse multiple ingredients
import json
import parse_ingredient
ingredients = parse_ingredient.parse_multiple([
'½ tsp brown sugar',
'3 large Granny Smith apples'
)
print(json.dumps(ingredients.as_dict()))
[
{
"ingredientRaw": "½ tsp brown sugar",
"ingredientParsed": {
"preparationNotes": "finely chopped",
"product": "brown sugar",
"productSizeModifier": null,
"quantity": 0.5,
"unit": "teaspoon",
"usdaInfo": {
"category": "Sweets",
"description": "Sugars, brown",
"fdcId": "168833",
"matchMethod": "exact"
},
"confidence": 0.9857134,
},
"error": null,
},
{
"ingredientRaw": "3 large Granny Smith apples",
"ingredientParsed": {
"preparationNotes": null,
"product": "Granny Smith apples",
"productSizeModifier": "large",
"quantity": 3.0,
"unit": null,
"usdaInfo": {
"category": "Fruits and Fruit Juices",
"description": "Apples, raw, granny smith, with skin (Includes foods for USDA's Food Distribution Program)",
"fdcId": "168203",
"matchMethod": "exact"
},
"confidence": 0.9741028,
},
"error": null,
}
]
Parse ingredients using RapidAPI
If you have a RapidAPI subscription to Zestful, you can use your API key as follows:
import json
import parse_ingredient
# Replace this with your key from RapidAPI
# https://rapidapi.com/zestfuldata/api/recipe-and-ingredient-analysis
RAPID_API_KEY = 'your-rapid-api-key'
client = parse_ingredient.client(rapid_api_key=RAPID_API_KEY)
ingredient = client.parse_ingredient('2 1/2 tablespoons finely chopped parsley')
print(json.dumps(ingredient.as_dict()))
Use private Zestful server
If you have a private Zestful ingredient parsing server as part of an Enterprise plan, you can use the library as follows:
import json
import parse_ingredient
ENDPOINT_URL = 'https://zestful.yourdomain.com'
client = parse_ingredient.client(endpoint_url=ENDPOINT_URL)
ingredient = client.parse_ingredient('2 1/2 tablespoons finely chopped parsley')
print(json.dumps(ingredient.as_dict()))
Installation
From pip
pip install zestful-parse-ingredient
From source
git clone https://github.com/mtlynch/zestful-client.git
cd zestful-client
pip install .
Full documentation
For full documentation of each result field, see the official Zestful API documentation.
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
Built Distribution
Close
Hashes for zestful-parse-ingredient-0.0.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4195b12abbb294e30bcec68d41a1c8d50cd6c1a57cb98e3ee7220e67e5032e06 |
|
MD5 | 8b91fcb682538a67bfd26b1e5332792d |
|
BLAKE2b-256 | 20dc9924e35e61027ab1dbf8e235ef7ec6baaa667faefec0c19caadd989ff509 |
Close
Hashes for zestful_parse_ingredient-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db81783d3bae90e455b059927babe96be323b71ab51a105db51a8d18d19d41b6 |
|
MD5 | dda92c374e8e9efbc0adaf8ee7a20099 |
|
BLAKE2b-256 | 11970ce3130dbc66678ed5a6106eb20ffd75b6895596b886dc5aa53a7130e634 |