Initial formulation application
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
name: Build & Push Astro Site Image
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: 'Build & Push Image'
|
||||
env:
|
||||
REGISTRY_USERNAME: nicholas
|
||||
IMAGE_REGISTRY: git.uuard.com
|
||||
IMAGE_NAME: nicholas/recipe-book
|
||||
IMAGE_TAG: ${{ github.sha }}
|
||||
runs-on: shared-ci
|
||||
steps:
|
||||
- name: ⬇️ Checkout repo
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: ⚙️ Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '22'
|
||||
cache: npm
|
||||
|
||||
- name: ✅ Validate recipe data
|
||||
run: |
|
||||
python3 -m pip install --user -r requirements-dev.txt
|
||||
scripts/validate-content
|
||||
|
||||
- name: 🏗️ Build Astro site
|
||||
run: |
|
||||
npm ci
|
||||
npm run build
|
||||
|
||||
- name: 🔐 Gitea Registry Login
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.IMAGE_REGISTRY }}
|
||||
username: ${{ env.REGISTRY_USERNAME }}
|
||||
password: ${{ secrets.CD_CD_BUILD_PUSH }}
|
||||
|
||||
- name: 🐋 Build Docker image
|
||||
run: docker build -t $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_TAG .
|
||||
|
||||
- name: 🚀 Push Docker image
|
||||
run: docker push $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_TAG
|
||||
|
||||
- name: 🧹 Prune images
|
||||
if: always()
|
||||
run: docker image prune -f
|
||||
|
||||
deploy:
|
||||
needs: build
|
||||
runs-on: recipe-book-deploy
|
||||
env:
|
||||
IMAGE_TAG: ${{ github.sha }}
|
||||
steps:
|
||||
- name: ⬇️ Checkout repo
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install kubectl
|
||||
env:
|
||||
KUBECTL_VERSION: v1.36.2
|
||||
run: |
|
||||
set -euo pipefail
|
||||
curl -fsSLO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl"
|
||||
curl -fsSLO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl.sha256"
|
||||
printf '%s %s\n' "$(cat kubectl.sha256)" kubectl | sha256sum -c
|
||||
mkdir -p "$HOME/.local/bin"
|
||||
install -m 0755 kubectl "$HOME/.local/bin/kubectl"
|
||||
printf '%s\n' "$HOME/.local/bin" >> "$GITHUB_PATH"
|
||||
|
||||
- name: Configure Kubernetes access
|
||||
env:
|
||||
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
mkdir -p ~/.kube
|
||||
printf '%s' "$KUBE_CONFIG" | base64 -d > ~/.kube/config
|
||||
chmod 600 ~/.kube/config
|
||||
kubectl auth can-i update deployments --namespace nicholas
|
||||
|
||||
- name: Deploy recipe-book
|
||||
run: |
|
||||
set -euo pipefail
|
||||
sed -E -i "s#newTag: [0-9a-f]+#newTag: ${IMAGE_TAG}#" k8s/kustomization.yaml
|
||||
grep -q "newTag: ${IMAGE_TAG}$" k8s/kustomization.yaml
|
||||
kubectl apply --kustomize k8s
|
||||
if ! kubectl rollout status deployment/recipe-book \
|
||||
--namespace nicholas --timeout=180s; then
|
||||
kubectl rollout undo deployment/recipe-book --namespace nicholas
|
||||
kubectl rollout status deployment/recipe-book \
|
||||
--namespace nicholas --timeout=180s
|
||||
exit 1
|
||||
fi
|
||||
@@ -0,0 +1,63 @@
|
||||
name: Sync Knowledge
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- .gitea/workflows/sync-knowledge.yml
|
||||
- container/schemas/**
|
||||
- culinary/**
|
||||
- scripts/corpus-export
|
||||
- scripts/validate-content
|
||||
- requirements-dev.txt
|
||||
|
||||
env:
|
||||
OIKB_VERSION: 0.4.0
|
||||
|
||||
jobs:
|
||||
sync:
|
||||
runs-on: recipe-book-deploy
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Check configuration
|
||||
env:
|
||||
OPEN_WEBUI_URL: ${{ vars.OPEN_WEBUI_URL }}
|
||||
OPEN_WEBUI_API_KEY: ${{ secrets.KNOWLEDGE_SYNC_OPEN_WEBUI_API_KEY }}
|
||||
GOURMAND_KB_ID: ${{ vars.GOURMAND_KB_ID }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
: "${OPEN_WEBUI_URL:?Missing Actions variable OPEN_WEBUI_URL}"
|
||||
: "${OPEN_WEBUI_API_KEY:?Missing Actions secret KNOWLEDGE_SYNC_OPEN_WEBUI_API_KEY}"
|
||||
: "${GOURMAND_KB_ID:?Missing Actions variable GOURMAND_KB_ID}"
|
||||
command -v python3 >/dev/null ||
|
||||
{ echo "python3 is required on the Actions runner" >&2; exit 1; }
|
||||
|
||||
- name: Export recipe corpus
|
||||
run: |
|
||||
python3 -m pip install --user -r requirements-dev.txt
|
||||
scripts/validate-content
|
||||
scripts/corpus-export
|
||||
|
||||
- name: Install official Open WebUI sync client
|
||||
run: |
|
||||
set -euo pipefail
|
||||
python3 -m venv .venv-oikb
|
||||
. .venv-oikb/bin/activate
|
||||
pip install "oikb==$OIKB_VERSION"
|
||||
|
||||
- name: Sync knowledge base
|
||||
env:
|
||||
OPEN_WEBUI_URL: ${{ vars.OPEN_WEBUI_URL }}
|
||||
OPEN_WEBUI_API_KEY: ${{ secrets.KNOWLEDGE_SYNC_OPEN_WEBUI_API_KEY }}
|
||||
GOURMAND_KB_ID: ${{ vars.GOURMAND_KB_ID }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
. .venv-oikb/bin/activate
|
||||
oikb sync generated/open-webui/recipes \
|
||||
--kb-id "$GOURMAND_KB_ID" \
|
||||
--concurrency 2
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
# Node and Astro
|
||||
/node_modules/
|
||||
/dist/
|
||||
/.astro/
|
||||
/.env
|
||||
/.env.*
|
||||
!.env.example
|
||||
|
||||
# All reproducible exports and migration artifacts
|
||||
/generated/
|
||||
|
||||
# Python
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
/.venv/
|
||||
/venv/
|
||||
|
||||
# Editors and operating systems
|
||||
/.vscode/
|
||||
/.idea/
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
*.swp
|
||||
*~
|
||||
|
||||
# Logs and test output
|
||||
*.log
|
||||
/coverage/
|
||||
|
||||
# Local UI reference captures
|
||||
/ui-reference*.html
|
||||
/ui-reference*_files/
|
||||
/ui-reference*.png
|
||||
|
||||
# Local application databases and SQLite sidecars
|
||||
/var/*.sqlite
|
||||
/var/*.sqlite-shm
|
||||
/var/*.sqlite-wal
|
||||
@@ -0,0 +1,7 @@
|
||||
FROM nginx:alpine
|
||||
|
||||
RUN rm -rf /usr/share/nginx/html/*
|
||||
|
||||
COPY dist /usr/share/nginx/html/
|
||||
|
||||
EXPOSE 80
|
||||
@@ -0,0 +1,91 @@
|
||||
# advanced-food-making
|
||||
|
||||
A recipe collection
|
||||
|
||||
Canonical version 2 culinary data lives in `culinary/` and is defined by the
|
||||
vendor-neutral schemas in `container/schemas/v2/`. Two independent Astro applications
|
||||
consume the shared data and libraries;
|
||||
see [the culinary data model](docs/culinary-data-model.md) for entity boundaries,
|
||||
density and unit semantics, and USDA provenance.
|
||||
|
||||
## Knowledge Sync
|
||||
|
||||
The Gitea Actions workflow at
|
||||
`.gitea/workflows/sync-knowledge.yml` exports the recipes as clean
|
||||
Markdown and synchronizes them to the Gourmand Open WebUI knowledge base. It
|
||||
runs when recipe content, ingredient data, or the corpus exporter changes on
|
||||
`master`, and it can also be started manually.
|
||||
|
||||
Configure these Actions variables in this repository:
|
||||
|
||||
```text
|
||||
OPEN_WEBUI_URL
|
||||
GOURMAND_KB_ID
|
||||
```
|
||||
|
||||
Configure this Actions secret:
|
||||
|
||||
```text
|
||||
KNOWLEDGE_SYNC_OPEN_WEBUI_API_KEY
|
||||
```
|
||||
|
||||
The existing knowledge-sync account and API key may be reused if the account
|
||||
has permission to manage files in the Gourmand knowledge base.
|
||||
|
||||
To inspect the generated corpus locally, run:
|
||||
|
||||
```bash
|
||||
scripts/corpus-export
|
||||
```
|
||||
|
||||
Validate canonical entities, schema conformance, and cross-references before
|
||||
building or committing changes:
|
||||
|
||||
```bash
|
||||
python3 -m pip install --user -r requirements-dev.txt
|
||||
scripts/validate-content
|
||||
```
|
||||
|
||||
To review purchasing products extracted from the sibling `ledger` receipt
|
||||
archive, run `scripts/receipt-products propose` and open
|
||||
`/tools/purchasing-review/`. Export the decisions and apply them with:
|
||||
|
||||
```bash
|
||||
scripts/receipt-products apply ~/Downloads/purchasing-decisions.json
|
||||
scripts/validate-content
|
||||
```
|
||||
|
||||
Build both applications:
|
||||
|
||||
```bash
|
||||
npm ci
|
||||
npm run db:reset # initial setup only; do not use over an edited database
|
||||
npm run build
|
||||
```
|
||||
|
||||
The frontend requires Node.js 22.12 or newer. The public cooking site is a fully
|
||||
static build in `dist/site`; the SQLite-backed management application is a Node
|
||||
server build in `dist/app`. They share components and culinary calculation code,
|
||||
but neither artifact contains the other application's routes. The site build
|
||||
generates a read-only projection from SQLite before Astro renders its pages.
|
||||
|
||||
Run them independently during development:
|
||||
|
||||
```bash
|
||||
npm run dev:site # http://localhost:4321
|
||||
npm run dev:app # http://localhost:4322/app/
|
||||
```
|
||||
|
||||
The generated files are written to `generated/open-webui/recipes/` and are not
|
||||
committed.
|
||||
|
||||
Search USDA FoodData Central and import a candidate mapping with:
|
||||
|
||||
```bash
|
||||
USDA_FDC_API_KEY=... scripts/usda-fdc search "all-purpose flour"
|
||||
USDA_FDC_API_KEY=... scripts/usda-fdc import flour_all_purpose 790018
|
||||
```
|
||||
|
||||
Add `--reviewed` only after confirming that the USDA description matches the
|
||||
canonical ingredient. An official USDA JSON download can be supplied with
|
||||
`--dataset` instead. Never commit the API key.
|
||||
@@ -0,0 +1,13 @@
|
||||
import { defineConfig } from "astro/config";
|
||||
import preact from "@astrojs/preact";
|
||||
import node from "@astrojs/node";
|
||||
|
||||
export default defineConfig({
|
||||
output: "server",
|
||||
srcDir: "./src/application",
|
||||
publicDir: "./public",
|
||||
outDir: "./dist/app",
|
||||
adapter: node({ mode: "standalone" }),
|
||||
integrations: [preact()],
|
||||
vite: { server: { fs: { allow: ["."] } } },
|
||||
});
|
||||
@@ -0,0 +1,14 @@
|
||||
import { defineConfig } from "astro/config";
|
||||
import preact from "@astrojs/preact";
|
||||
|
||||
export default defineConfig({
|
||||
site: "https://recipes.uuard.com",
|
||||
output: "static",
|
||||
srcDir: "./src/site",
|
||||
publicDir: "./public",
|
||||
outDir: "./dist/site",
|
||||
integrations: [preact()],
|
||||
vite: {
|
||||
server: { fs: { allow: ["."] } },
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"decisions": {
|
||||
"walmart:10452376": "cheddar_cheese",
|
||||
"walmart:19400150": "parmesan_cheese",
|
||||
"walmart:10448316": "salt",
|
||||
"walmart:12512024": "lemon_juice",
|
||||
"walmart:426222521": "butter_flavored_shortening",
|
||||
"walmart:10450340": "heavy_cream",
|
||||
"walmart:10315395": "rice",
|
||||
"walmart:705601418": "onion_powder",
|
||||
"walmart:676979470": "garlic_powder",
|
||||
"walmart:13424766": "chipotle_pepper_adobo",
|
||||
"walmart:36120978": "mayonnaise",
|
||||
"walmart:10315545": "mustard_dijon",
|
||||
"walmart:15716793": "white_chocolate",
|
||||
"walmart:43236036": "butter",
|
||||
"walmart:44001602": "ground_beef_73_27_raw",
|
||||
"walmart:55014398": "garlic",
|
||||
"walmart:12166183": "bbq_sauce_hickory_smoke",
|
||||
"walmart:10315054": "butter",
|
||||
"walmart:10403017": "flour_all_purpose",
|
||||
"walmart:664106906": "cornstarch",
|
||||
"walmart:288194636": "semisweet_chocolate_chips",
|
||||
"walmart:10315278": "corn_syrup_light",
|
||||
"walmart:10315012": "light_brown_sugar",
|
||||
"walmart:10415512": "tomato_puree",
|
||||
"walmart:41592222": "cream_cheese",
|
||||
"walmart:10452385": "sharp_cheddar_cheese",
|
||||
"walmart:10415230": "tomato_crushed_in_juice",
|
||||
"walmart:10415519": "tomato_paste",
|
||||
"walmart:10450119": "milk",
|
||||
"walmart:34186943": "cheddar_cheese",
|
||||
"walmart:10535480": "vinegar_balsamic",
|
||||
"walmart:10315088": "bread_crumbs",
|
||||
"walmart:111156738": "italian_sausage",
|
||||
"walmart:15136790": "ground_beef_73_27_raw",
|
||||
"walmart:10295081": "tomato_paste",
|
||||
"walmart:10295176": "tomato_paste",
|
||||
"walmart:10315402": "parmesan_cheese",
|
||||
"walmart:10452370": "cheddar_cheese",
|
||||
"sams_club:0980250647": "sugar"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/allergen.schema.json",
|
||||
"title": "Allergen",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "id", "name", "jurisdictions"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"aliases": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
|
||||
"jurisdictions": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/collection.schema.json",
|
||||
"title": "Menu or recipe collection",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "id", "type", "name", "entries"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"type": { "type": "string", "enum": ["menu", "collection"] },
|
||||
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"description": { "type": "string" },
|
||||
"entries": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["recipe_id", "order"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"recipe_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"recipe_revision": { "$ref": "common.schema.json#/$defs/revision" },
|
||||
"order": { "type": "integer", "minimum": 1 },
|
||||
"servings": { "$ref": "common.schema.json#/$defs/positiveDecimal" },
|
||||
"section": { "type": "string" },
|
||||
"notes": { "type": "string" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/common.schema.json",
|
||||
"title": "Recipe Book common types",
|
||||
"$defs": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-z0-9]+(?:_[a-z0-9]+)*$"
|
||||
},
|
||||
"nonEmptyString": { "type": "string", "minLength": 1 },
|
||||
"schemaVersion": { "const": 2 },
|
||||
"revision": { "type": "integer", "minimum": 1 },
|
||||
"date": { "type": "string", "format": "date" },
|
||||
"dateTime": { "type": "string", "format": "date-time" },
|
||||
"decimal": { "type": "number", "minimum": 0 },
|
||||
"positiveDecimal": { "type": "number", "exclusiveMinimum": 0 },
|
||||
"localizedText": {
|
||||
"type": "object",
|
||||
"required": ["text"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"text": { "$ref": "#/$defs/nonEmptyString" },
|
||||
"language": { "type": "string", "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$" }
|
||||
}
|
||||
},
|
||||
"amount": {
|
||||
"type": "object",
|
||||
"required": ["quantity", "unit_id"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"quantity": { "$ref": "#/$defs/decimal" },
|
||||
"unit_id": { "$ref": "#/$defs/id" },
|
||||
"quantity_max": { "$ref": "#/$defs/decimal" },
|
||||
"display": { "$ref": "#/$defs/nonEmptyString" }
|
||||
}
|
||||
},
|
||||
"sourceReference": {
|
||||
"type": "object",
|
||||
"required": ["source_type", "reviewed"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"source_type": {
|
||||
"type": "string",
|
||||
"enum": ["usda_fdc", "manufacturer", "supplier", "publication", "laboratory", "observation", "manual", "calculated"]
|
||||
},
|
||||
"external_id": { "$ref": "#/$defs/nonEmptyString" },
|
||||
"url": { "type": "string", "format": "uri" },
|
||||
"title": { "$ref": "#/$defs/nonEmptyString" },
|
||||
"publisher": { "$ref": "#/$defs/nonEmptyString" },
|
||||
"retrieved_at": { "$ref": "#/$defs/date" },
|
||||
"effective_at": { "$ref": "#/$defs/date" },
|
||||
"reviewed": { "type": "boolean" },
|
||||
"reviewed_at": { "$ref": "#/$defs/date" },
|
||||
"notes": { "type": "string" }
|
||||
},
|
||||
"allOf": [
|
||||
{
|
||||
"if": { "properties": { "source_type": { "const": "usda_fdc" } }, "required": ["source_type"] },
|
||||
"then": {
|
||||
"required": ["external_id", "title", "retrieved_at"],
|
||||
"properties": { "external_id": { "pattern": "^[1-9][0-9]*$" } }
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"media": {
|
||||
"type": "object",
|
||||
"required": ["type", "uri"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["image", "video", "audio", "document"] },
|
||||
"uri": { "$ref": "#/$defs/nonEmptyString" },
|
||||
"alt": { "type": "string" },
|
||||
"caption": { "type": "string" },
|
||||
"credit": { "type": "string" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/derived-recipe.schema.json",
|
||||
"title": "Disposable derived recipe values",
|
||||
"description": "Calculated output. This document is never canonical culinary or purchasing input.",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "recipe_id", "recipe_revision", "calculation_version", "calculated_at", "input_fingerprint"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
|
||||
"recipe_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"recipe_revision": { "$ref": "common.schema.json#/$defs/revision" },
|
||||
"calculation_version": { "type": "integer", "minimum": 1 },
|
||||
"calculated_at": { "$ref": "common.schema.json#/$defs/dateTime" },
|
||||
"input_fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
||||
"cost": {
|
||||
"type": "object",
|
||||
"required": ["currency", "batch"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"currency": { "type": "string", "pattern": "^[A-Z]{3}$" },
|
||||
"batch": { "$ref": "common.schema.json#/$defs/decimal" },
|
||||
"per_serving": { "$ref": "common.schema.json#/$defs/decimal" },
|
||||
"per_100g": { "$ref": "common.schema.json#/$defs/decimal" }
|
||||
}
|
||||
},
|
||||
"nutrition": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"batch": { "type": "object", "additionalProperties": { "type": "number" } },
|
||||
"per_serving": { "type": "object", "additionalProperties": { "type": "number" } },
|
||||
"per_100g": { "type": "object", "additionalProperties": { "type": "number" } }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"allergens": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["allergen_id", "presence"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"allergen_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"presence": { "type": "string", "enum": ["contains", "may_contain", "unknown"] }
|
||||
}
|
||||
}
|
||||
},
|
||||
"completeness": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"nutrition_weight_fraction": { "type": "number", "minimum": 0, "maximum": 1 },
|
||||
"cost_weight_fraction": { "type": "number", "minimum": 0, "maximum": 1 }
|
||||
}
|
||||
},
|
||||
"warnings": { "type": "array", "items": { "type": "string" } }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/equipment.schema.json",
|
||||
"title": "Equipment type",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "id", "name"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"category": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"notes": { "type": "string" }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/ingredient.schema.json",
|
||||
"title": "Canonical ingredient",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "id", "name", "status", "categories"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"description": { "type": "string" },
|
||||
"status": { "type": "string", "enum": ["active", "deprecated", "archived"] },
|
||||
"categories": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
|
||||
"tags": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/nonEmptyString" }, "uniqueItems": true },
|
||||
"aliases": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["name"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"language": { "type": "string" },
|
||||
"region": { "type": "string" },
|
||||
"kind": { "type": "string", "enum": ["common", "alternate_spelling", "trade", "search", "merged"] }
|
||||
}
|
||||
}
|
||||
},
|
||||
"default_purchase_item_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"density_measurements": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["id", "mass", "volume", "source"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"mass": { "$ref": "common.schema.json#/$defs/amount" },
|
||||
"volume": { "$ref": "common.schema.json#/$defs/amount" },
|
||||
"temperature_c": { "type": "number" },
|
||||
"state": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"source": { "$ref": "common.schema.json#/$defs/sourceReference" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"measure_conversions": {
|
||||
"description": "Ingredient-specific measures such as a packed cup or one clove; these are not universal unit conversions.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["id", "from", "to", "source"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"from": { "$ref": "common.schema.json#/$defs/amount" },
|
||||
"to": { "$ref": "common.schema.json#/$defs/amount" },
|
||||
"state": { "type": "string" },
|
||||
"source": { "$ref": "common.schema.json#/$defs/sourceReference" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"prep_actions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["action_id", "yield_factor"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"action_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"yield_factor": { "description": "Prepared output divided by raw input; may exceed 1 when hydration or cooking adds mass.", "type": "number", "exclusiveMinimum": 0 },
|
||||
"notes": { "type": "string" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"nutrition_mapping_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
|
||||
"allergen_mapping_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
|
||||
"notes": { "type": "array", "items": { "type": "string" } },
|
||||
"extensions": { "type": "object", "additionalProperties": true }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/prep-action.schema.json",
|
||||
"title": "Preparation action",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "id", "name", "action_type"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"action_type": { "type": "string", "enum": ["trim", "peel", "cut", "grind", "drain", "cook", "cool", "other"] },
|
||||
"default_yield_factor": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 },
|
||||
"notes": { "type": "string" }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/purchase-item.schema.json",
|
||||
"title": "Purchasing item and price observations",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "id", "ingredient_id", "name", "package", "prices", "status"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"ingredient_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"brand": { "type": "string" },
|
||||
"supplier_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"supplier_sku": { "type": "string" },
|
||||
"gtin_upc": { "type": "string" },
|
||||
"status": { "type": "string", "enum": ["active", "discontinued", "unavailable"] },
|
||||
"package": {
|
||||
"type": "object",
|
||||
"required": ["quantity", "unit_id"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"quantity": { "$ref": "common.schema.json#/$defs/positiveDecimal" },
|
||||
"unit_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"units_per_case": { "type": "integer", "minimum": 1 },
|
||||
"usable_yield_factor": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 }
|
||||
}
|
||||
},
|
||||
"prices": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["amount", "currency", "effective_at", "source"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"amount": { "$ref": "common.schema.json#/$defs/decimal" },
|
||||
"currency": { "type": "string", "pattern": "^[A-Z]{3}$" },
|
||||
"effective_at": { "$ref": "common.schema.json#/$defs/date" },
|
||||
"expires_at": { "$ref": "common.schema.json#/$defs/date" },
|
||||
"source": { "$ref": "common.schema.json#/$defs/sourceReference" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"nutrition_mapping_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
|
||||
"allergen_mapping_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/recipe.schema.json",
|
||||
"title": "Canonical recipe",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "id", "revision", "status", "title", "yield", "components", "steps", "categories", "tags"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"revision": { "$ref": "common.schema.json#/$defs/revision" },
|
||||
"status": { "type": "string", "enum": ["draft", "testing", "active", "retired", "archived"] },
|
||||
"title": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"summary": { "type": "string" },
|
||||
"categories": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/nonEmptyString" }, "uniqueItems": true },
|
||||
"tags": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/nonEmptyString" }, "uniqueItems": true },
|
||||
"yield": {
|
||||
"type": "object",
|
||||
"required": ["amount"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"amount": { "$ref": "common.schema.json#/$defs/amount" },
|
||||
"servings": { "$ref": "common.schema.json#/$defs/positiveDecimal" },
|
||||
"serving_size": { "$ref": "common.schema.json#/$defs/amount" },
|
||||
"description": { "type": "string" },
|
||||
"yield_factor": { "type": "number", "exclusiveMinimum": 0 },
|
||||
"basis": { "type": "string", "enum": ["measured", "estimated", "theoretical"] }
|
||||
}
|
||||
},
|
||||
"scaling": {
|
||||
"type": "object",
|
||||
"required": ["mode"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"mode": { "type": "string", "enum": ["amount", "percentage", "hybrid"] },
|
||||
"basis_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"basis_amount": { "$ref": "common.schema.json#/$defs/amount" }
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["id", "name", "items"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"yield": { "$ref": "common.schema.json#/$defs/amount" },
|
||||
"items": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": { "$ref": "#/$defs/componentItem" }
|
||||
},
|
||||
"notes": { "type": "array", "items": { "type": "string" } }
|
||||
}
|
||||
}
|
||||
},
|
||||
"steps": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["id", "order", "instruction"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"order": { "type": "integer", "minimum": 1 },
|
||||
"instruction": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"component_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
|
||||
"item_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
|
||||
"equipment_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
|
||||
"duration": { "$ref": "common.schema.json#/$defs/amount" },
|
||||
"temperature": { "$ref": "common.schema.json#/$defs/amount" },
|
||||
"critical_control_point": { "type": "boolean" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"equipment_ids": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/id" }, "uniqueItems": true },
|
||||
"shelf_life": {
|
||||
"type": "object",
|
||||
"required": ["duration"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"duration": { "$ref": "common.schema.json#/$defs/amount" },
|
||||
"storage_condition": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"notes": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"media": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/media" } },
|
||||
"notes": { "type": "array", "items": { "type": "string" } },
|
||||
"extensions": { "type": "object", "additionalProperties": true }
|
||||
},
|
||||
"$defs": {
|
||||
"componentItem": {
|
||||
"type": "object",
|
||||
"required": ["id", "reference", "amount"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"reference": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["ingredient_id"],
|
||||
"additionalProperties": false,
|
||||
"properties": { "ingredient_id": { "$ref": "common.schema.json#/$defs/id" } }
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"required": ["recipe_id"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"recipe_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"revision": { "$ref": "common.schema.json#/$defs/revision" },
|
||||
"component_id": { "$ref": "common.schema.json#/$defs/id" }
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"amount": { "$ref": "common.schema.json#/$defs/amount" },
|
||||
"percentage": { "type": "number", "minimum": 0 },
|
||||
"basis_member": { "type": "boolean" },
|
||||
"prep": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["action_id"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"action_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"yield_factor": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 },
|
||||
"notes": { "type": "string" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"optional": { "type": "boolean", "default": false },
|
||||
"notes": { "type": "string" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/source-mapping.schema.json",
|
||||
"title": "Nutrition or allergen source mapping",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "id", "subject", "mapping_type", "source", "status"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"subject": {
|
||||
"type": "object",
|
||||
"required": ["type", "id"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"type": { "type": "string", "enum": ["ingredient", "purchase_item", "recipe"] },
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" }
|
||||
}
|
||||
},
|
||||
"mapping_type": { "type": "string", "enum": ["nutrition", "allergen"] },
|
||||
"status": { "type": "string", "enum": ["candidate", "reviewed", "rejected", "superseded"] },
|
||||
"source": { "$ref": "common.schema.json#/$defs/sourceReference" },
|
||||
"usda": {
|
||||
"type": "object",
|
||||
"required": ["fdc_id", "data_type", "description"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"fdc_id": { "type": "integer", "minimum": 1 },
|
||||
"data_type": { "type": "string", "enum": ["Foundation", "SR Legacy", "FNDDS", "Branded", "Experimental"] },
|
||||
"description": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"brand_owner": { "type": "string" },
|
||||
"gtin_upc": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"nutrition_per_100g": {
|
||||
"type": "object",
|
||||
"additionalProperties": { "type": ["number", "null"], "minimum": 0 },
|
||||
"propertyNames": { "pattern": "^[a-z][a-z0-9_]*_(?:g|mg|mcg|kcal|kj)$" }
|
||||
},
|
||||
"allergens": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["allergen_id", "presence"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"allergen_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"presence": { "type": "string", "enum": ["contains", "may_contain", "free_from", "unknown"] }
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"allOf": [
|
||||
{
|
||||
"if": { "properties": { "source": { "properties": { "source_type": { "const": "usda_fdc" } } } } },
|
||||
"then": { "required": ["usda"] }
|
||||
},
|
||||
{
|
||||
"if": { "properties": { "mapping_type": { "const": "nutrition" } } },
|
||||
"then": { "required": ["nutrition_per_100g"] },
|
||||
"else": { "required": ["allergens"] }
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/supplier.schema.json",
|
||||
"title": "Supplier",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "id", "name", "status"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"status": { "type": "string", "enum": ["active", "inactive"] },
|
||||
"website": { "type": "string", "format": "uri" },
|
||||
"notes": { "type": "array", "items": { "type": "string" } }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://recipes.uuard.com/schemas/v2/unit.schema.json",
|
||||
"title": "Normalized unit",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "id", "name", "symbol", "dimension", "system"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
|
||||
"id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"name": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"symbol": { "$ref": "common.schema.json#/$defs/nonEmptyString" },
|
||||
"aliases": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/nonEmptyString" }, "uniqueItems": true },
|
||||
"dimension": { "type": "string", "enum": ["mass", "volume", "count", "temperature", "time", "length"] },
|
||||
"system": { "type": "string", "enum": ["metric", "us_customary", "imperial", "universal"] },
|
||||
"base_conversion": {
|
||||
"type": "object",
|
||||
"required": ["base_unit_id", "factor"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"base_unit_id": { "$ref": "common.schema.json#/$defs/id" },
|
||||
"factor": { "$ref": "common.schema.json#/$defs/positiveDecimal" },
|
||||
"offset": { "type": "number", "default": 0 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
# Canonical culinary data
|
||||
|
||||
This directory contains portable, presentation-neutral schema-version 2 data.
|
||||
Astro reads these records at build time, but its pages and components are not
|
||||
canonical culinary storage.
|
||||
|
||||
The records in this directory are the sole canonical culinary source. Do not
|
||||
create an ingredient for a prepared component when it can be represented as a
|
||||
recipe reference.
|
||||
|
||||
Directories correspond to entity types and, later, relational tables. Objects
|
||||
that are edited as one aggregate (recipe components, lines, and steps) remain
|
||||
embedded in a recipe document. Independently reusable facts use stable IDs and
|
||||
normalized references.
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: blender
|
||||
name: Blender
|
||||
category: powered
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: food_processor
|
||||
name: Food processor
|
||||
category: powered
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: griddle
|
||||
name: Griddle
|
||||
category: cooking
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: kitchen_scale
|
||||
name: Kitchen scale
|
||||
category: measuring
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: mixing_bowl
|
||||
name: Mixing bowl
|
||||
category: preparation
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: oven
|
||||
name: Oven
|
||||
category: cooking
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: saucepan
|
||||
name: Saucepan
|
||||
category: cooking
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: sheet_pan
|
||||
name: Sheet pan
|
||||
category: bakeware
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: skillet
|
||||
name: Skillet
|
||||
category: cooking
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: stand_mixer
|
||||
name: Stand mixer
|
||||
category: powered
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: stockpot
|
||||
name: Stockpot
|
||||
category: cooking
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: thermometer
|
||||
name: Thermometer
|
||||
category: measuring
|
||||
@@ -0,0 +1,4 @@
|
||||
schema_version: 2
|
||||
id: whisk
|
||||
name: Whisk
|
||||
category: utensil
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: agar
|
||||
name: Seaweed, agar, dried
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: agar
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_agar_170090
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,47 @@
|
||||
schema_version: 2
|
||||
id: allspice
|
||||
name: Spices, allspice, ground
|
||||
status: active
|
||||
categories:
|
||||
- flavoring
|
||||
aliases:
|
||||
- name: allspice
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_allspice_171315
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_171315_88417
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 1.9
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171315'
|
||||
url: https://fdc.nal.usda.gov/food-details/171315/measures
|
||||
title: Spices, allspice, ground
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88417.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_171315_88418
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 6.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171315'
|
||||
url: https://fdc.nal.usda.gov/food-details/171315/measures
|
||||
title: Spices, allspice, ground
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88418.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,9 @@
|
||||
schema_version: 2
|
||||
id: almond_extract
|
||||
name: almond extract
|
||||
status: active
|
||||
categories:
|
||||
- flavoring
|
||||
aliases: []
|
||||
nutrition_mapping_ids: []
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,30 @@
|
||||
schema_version: 2
|
||||
id: apricot_jam
|
||||
name: Jams and preserves, apricot
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: apricot jam
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_apricot_jam_170645
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_170645_87021
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 20.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170645'
|
||||
url: https://fdc.nal.usda.gov/food-details/170645/measures
|
||||
title: Jams and preserves, apricot
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 87021.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,9 @@
|
||||
schema_version: 2
|
||||
id: ascorbic_acid
|
||||
name: ascorbic acid
|
||||
status: active
|
||||
categories:
|
||||
- acid
|
||||
aliases: []
|
||||
nutrition_mapping_ids: []
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: avocado
|
||||
name: Avocado, Hass, peeled, raw
|
||||
status: active
|
||||
categories:
|
||||
- produce
|
||||
aliases:
|
||||
- name: avocado
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_avocado_2710824
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,14 @@
|
||||
schema_version: 2
|
||||
id: bacon
|
||||
name: Pork, cured, bacon, unprepared
|
||||
status: active
|
||||
categories:
|
||||
- meat
|
||||
aliases:
|
||||
- name: regular salted pork bacon
|
||||
kind: common
|
||||
- name: bacon, pork, cured, raw
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_bacon_168277
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,30 @@
|
||||
schema_version: 2
|
||||
id: baking_powder
|
||||
name: Leavening agents, baking powder, double-acting, sodium aluminum sulfate
|
||||
status: active
|
||||
categories:
|
||||
- leavening
|
||||
aliases:
|
||||
- name: baking powder
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_baking_powder_172803
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_172803_91438
|
||||
from:
|
||||
quantity: 0.5
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 2.3
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '172803'
|
||||
url: https://fdc.nal.usda.gov/food-details/172803/measures
|
||||
title: Leavening agents, baking powder, double-acting, sodium aluminum sulfate
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 91438.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,30 @@
|
||||
schema_version: 2
|
||||
id: baking_soda
|
||||
name: Leavening agents, baking soda
|
||||
status: active
|
||||
categories:
|
||||
- leavening
|
||||
aliases:
|
||||
- name: baking soda
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_baking_soda_175040
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_175040_95485
|
||||
from:
|
||||
quantity: 0.5
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 2.3
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '175040'
|
||||
url: https://fdc.nal.usda.gov/food-details/175040/measures
|
||||
title: Leavening agents, baking soda
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 95485.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: banana
|
||||
name: Bananas, ripe and slightly ripe, raw
|
||||
status: active
|
||||
categories:
|
||||
- other
|
||||
aliases:
|
||||
- name: banana
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_banana_1105314
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: barley_malt_powder
|
||||
name: BARLEY MALT POWDER
|
||||
status: active
|
||||
categories:
|
||||
- baking
|
||||
aliases:
|
||||
- name: malted barley powder
|
||||
kind: common
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_barley_malt_powder_2027592
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,47 @@
|
||||
schema_version: 2
|
||||
id: barley_malt_syrup
|
||||
name: Syrups, malt
|
||||
status: active
|
||||
categories:
|
||||
- sweetener
|
||||
aliases:
|
||||
- name: barley malt syrup
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_barley_malt_syrup_169660
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_169660_85302
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 21.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169660'
|
||||
url: https://fdc.nal.usda.gov/food-details/169660/measures
|
||||
title: Syrups, malt
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85302.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_169660_85301
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 332.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169660'
|
||||
url: https://fdc.nal.usda.gov/food-details/169660/measures
|
||||
title: Syrups, malt
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85301.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,49 @@
|
||||
schema_version: 2
|
||||
id: basil
|
||||
name: Spices, basil, dried
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: basil
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_basil_171317
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_171317_88422
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 2.1
|
||||
unit_id: gram
|
||||
state: leaves
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171317'
|
||||
url: https://fdc.nal.usda.gov/food-details/171317/measures
|
||||
title: Spices, basil, dried
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88422.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_171317_88421
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 0.7
|
||||
unit_id: gram
|
||||
state: leaves
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171317'
|
||||
url: https://fdc.nal.usda.gov/food-details/171317/measures
|
||||
title: Spices, basil, dried
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88421.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,14 @@
|
||||
schema_version: 2
|
||||
id: bbq_sauce_hickory_smoke
|
||||
name: SWEET BABY RAY'S, HICKORY & BROWN SUGAR BARBECUE SAUCE
|
||||
status: active
|
||||
categories:
|
||||
- sauce
|
||||
aliases:
|
||||
- name: Sweet Baby Ray's Hickory and Brown Sugar BBQ sauce
|
||||
kind: common
|
||||
- name: Sweet Baby Ray's Hickory & Brown Sugar Barbecue Sauce
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_bbq_sauce_hickory_smoke_2020420
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,14 @@
|
||||
schema_version: 2
|
||||
id: beef_base
|
||||
name: BEEF BASE, BEEF
|
||||
status: active
|
||||
categories:
|
||||
- seasoning
|
||||
aliases:
|
||||
- name: Member's Mark beef soup base
|
||||
kind: common
|
||||
- name: Member's Mark Beef Base
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_beef_base_2422131
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,30 @@
|
||||
schema_version: 2
|
||||
id: beer
|
||||
name: Alcoholic beverage, beer, regular, all
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: beer
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_beer_168746
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_168746_83686
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: fluid_ounce_us
|
||||
to:
|
||||
quantity: 29.7
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '168746'
|
||||
url: https://fdc.nal.usda.gov/food-details/168746/measures
|
||||
title: Alcoholic beverage, beer, regular, all
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 83686.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,49 @@
|
||||
schema_version: 2
|
||||
id: black_pepper_ground
|
||||
name: Spices, pepper, black
|
||||
status: active
|
||||
categories:
|
||||
- spice
|
||||
aliases:
|
||||
- name: black pepper, ground
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_black_pepper_ground_170931
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_170931_87561
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 6.9
|
||||
unit_id: gram
|
||||
state: ground
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170931'
|
||||
url: https://fdc.nal.usda.gov/food-details/170931/measures
|
||||
title: Spices, pepper, black
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 87561.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_170931_87560
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 2.3
|
||||
unit_id: gram
|
||||
state: ground
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170931'
|
||||
url: https://fdc.nal.usda.gov/food-details/170931/measures
|
||||
title: Spices, pepper, black
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 87560.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,14 @@
|
||||
schema_version: 2
|
||||
id: blueberry
|
||||
name: Blueberries, raw
|
||||
status: active
|
||||
categories:
|
||||
- fruit
|
||||
aliases:
|
||||
- name: blueberry
|
||||
kind: common
|
||||
- name: blueberries
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_blueberry_2346411
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,30 @@
|
||||
schema_version: 2
|
||||
id: bread_crumbs
|
||||
name: Bread, crumbs, dry, grated, plain
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: bread crumbs
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_bread_crumbs_174928
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_174928_95194
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 108.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '174928'
|
||||
url: https://fdc.nal.usda.gov/food-details/174928/measures
|
||||
title: Bread, crumbs, dry, grated, plain
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 95194.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,51 @@
|
||||
schema_version: 2
|
||||
id: brown_sugar
|
||||
name: Sugars, brown
|
||||
status: active
|
||||
categories:
|
||||
- sweetener
|
||||
aliases:
|
||||
- name: brown sugar
|
||||
kind: search
|
||||
- name: light brown sugar
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_brown_sugar_168833
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_168833_83855
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 220.0
|
||||
unit_id: gram
|
||||
state: packed
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '168833'
|
||||
url: https://fdc.nal.usda.gov/food-details/168833/measures
|
||||
title: Sugars, brown
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 83855.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_168833_83857
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 4.6
|
||||
unit_id: gram
|
||||
state: packed
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '168833'
|
||||
url: https://fdc.nal.usda.gov/food-details/168833/measures
|
||||
title: Sugars, brown
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 83857.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,14 @@
|
||||
schema_version: 2
|
||||
id: butter
|
||||
name: Butter, stick, unsalted
|
||||
status: active
|
||||
categories:
|
||||
- fat
|
||||
aliases:
|
||||
- name: unsalted butter
|
||||
kind: common
|
||||
- name: butter, unsalted
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_butter_789828
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,9 @@
|
||||
schema_version: 2
|
||||
id: butter_extract
|
||||
name: butter extract
|
||||
status: active
|
||||
categories:
|
||||
- flavoring
|
||||
aliases: []
|
||||
nutrition_mapping_ids: []
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,14 @@
|
||||
schema_version: 2
|
||||
id: butter_flavored_shortening
|
||||
name: Crisco Shortening, All Vegetable, Butter Flavor
|
||||
status: active
|
||||
categories:
|
||||
- fat
|
||||
aliases:
|
||||
- name: Crisco butter-flavor shortening
|
||||
kind: common
|
||||
- name: Crisco Butter Flavor All-Vegetable Shortening
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_butter_flavored_shortening_2756254
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,14 @@
|
||||
schema_version: 2
|
||||
id: buttermilk
|
||||
name: Buttermilk, low fat
|
||||
status: active
|
||||
categories:
|
||||
- liquid
|
||||
aliases:
|
||||
- name: low-fat buttermilk
|
||||
kind: common
|
||||
- name: buttermilk, low-fat
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_buttermilk_2259792
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,47 @@
|
||||
schema_version: 2
|
||||
id: buttermilk_powder
|
||||
name: Milk, buttermilk, dried
|
||||
status: active
|
||||
categories:
|
||||
- liquid
|
||||
aliases:
|
||||
- name: buttermilk powder
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_buttermilk_powder_171274
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_171274_88339
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 120.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171274'
|
||||
url: https://fdc.nal.usda.gov/food-details/171274/measures
|
||||
title: Milk, buttermilk, dried
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88339.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_171274_88340
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 6.5
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171274'
|
||||
url: https://fdc.nal.usda.gov/food-details/171274/measures
|
||||
title: Milk, buttermilk, dried
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88340.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,32 @@
|
||||
schema_version: 2
|
||||
id: canola_oil
|
||||
name: Oil, canola
|
||||
status: active
|
||||
categories:
|
||||
- oil
|
||||
aliases:
|
||||
- name: rapeseed oil, low erucic acid
|
||||
kind: common
|
||||
- name: canola oil
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_canola_oil_748278
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_748278_192340
|
||||
from:
|
||||
quantity: 100.0
|
||||
unit_id: milliliter
|
||||
to:
|
||||
quantity: 90.9
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '748278'
|
||||
url: https://fdc.nal.usda.gov/food-details/748278/measures
|
||||
title: Oil, canola
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 192340.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,49 @@
|
||||
schema_version: 2
|
||||
id: cardamom
|
||||
name: Spices, cardamom
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: cardamom
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_cardamom_170919
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_170919_87536
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 2.0
|
||||
unit_id: gram
|
||||
state: ground
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170919'
|
||||
url: https://fdc.nal.usda.gov/food-details/170919/measures
|
||||
title: Spices, cardamom
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 87536.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_170919_87537
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 5.8
|
||||
unit_id: gram
|
||||
state: ground
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170919'
|
||||
url: https://fdc.nal.usda.gov/food-details/170919/measures
|
||||
title: Spices, cardamom
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 87537.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: carrot
|
||||
name: Carrots, mature, raw
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: carrot
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_carrot_2258586
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,47 @@
|
||||
schema_version: 2
|
||||
id: cayenne
|
||||
name: Spices, pepper, red or cayenne
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: cayenne
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_cayenne_170932
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_170932_87565
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 5.3
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170932'
|
||||
url: https://fdc.nal.usda.gov/food-details/170932/measures
|
||||
title: Spices, pepper, red or cayenne
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 87565.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_170932_87564
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 1.8
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170932'
|
||||
url: https://fdc.nal.usda.gov/food-details/170932/measures
|
||||
title: Spices, pepper, red or cayenne
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 87564.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: cheddar_cheese
|
||||
name: Cheese, cheddar
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: cheddar cheese
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_cheddar_cheese_328637
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,14 @@
|
||||
schema_version: 2
|
||||
id: chicken_base
|
||||
name: CHICKEN BASE
|
||||
status: active
|
||||
categories:
|
||||
- seasoning
|
||||
aliases:
|
||||
- name: Member's Mark chicken soup base
|
||||
kind: common
|
||||
- name: Member's Mark Chicken Base
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_chicken_base_1948045
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,14 @@
|
||||
schema_version: 2
|
||||
id: chicken_breast
|
||||
name: Chicken, breast, boneless, skinless, raw
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: boneless skinless chicken breast
|
||||
kind: common
|
||||
- name: chicken breast, boneless skinless, raw
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_chicken_breast_2646170
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,9 @@
|
||||
schema_version: 2
|
||||
id: chili_crisp
|
||||
name: chili crisp, generic
|
||||
status: active
|
||||
categories:
|
||||
- condiment
|
||||
aliases: []
|
||||
nutrition_mapping_ids: []
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,47 @@
|
||||
schema_version: 2
|
||||
id: chili_powder
|
||||
name: Spices, chili powder
|
||||
status: active
|
||||
categories:
|
||||
- spice
|
||||
aliases:
|
||||
- name: chili powder
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_chili_powder_171319
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_171319_88428
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 8.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171319'
|
||||
url: https://fdc.nal.usda.gov/food-details/171319/measures
|
||||
title: Spices, chili powder
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88428.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_171319_88427
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 2.7
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171319'
|
||||
url: https://fdc.nal.usda.gov/food-details/171319/measures
|
||||
title: Spices, chili powder
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88427.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,14 @@
|
||||
schema_version: 2
|
||||
id: chipotle_pepper_adobo
|
||||
name: CHIPOTLES PEPPERS IN ADOBO SAUCE, CHIPOTLES PEPPERS IN ADOBO
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: canned chipotles in adobo
|
||||
kind: common
|
||||
- name: "La Coste\xF1a chipotle peppers in adobo sauce"
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_chipotle_pepper_adobo_2420526
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,30 @@
|
||||
schema_version: 2
|
||||
id: chipotle_pepper_sauce_tobasco
|
||||
name: Sauce, ready-to-serve, pepper, TABASCO
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: chipotle pepper sauce, tobasco
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_chipotle_pepper_sauce_tobasco_174528
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_174528_94522
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 4.7
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '174528'
|
||||
url: https://fdc.nal.usda.gov/food-details/174528/measures
|
||||
title: Sauce, ready-to-serve, pepper, TABASCO
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 94522.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: chipotle_powder
|
||||
name: GROUND CHIPOTLE CHILE
|
||||
status: active
|
||||
categories:
|
||||
- spice
|
||||
aliases:
|
||||
- name: chipotle powder
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_chipotle_powder_2545016
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,36 @@
|
||||
schema_version: 2
|
||||
id: cilantro
|
||||
name: Coriander (cilantro) leaves, raw
|
||||
status: active
|
||||
categories:
|
||||
- produce
|
||||
aliases:
|
||||
- name: cilantro
|
||||
kind: common
|
||||
- name: fresh coriander leaves
|
||||
kind: common
|
||||
- name: cilantro, fresh
|
||||
kind: search
|
||||
- name: cilantro, chopped
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_cilantro_169997
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_169997_85844
|
||||
from:
|
||||
quantity: 0.25
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 4.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169997'
|
||||
url: https://fdc.nal.usda.gov/food-details/169997/measures
|
||||
title: Coriander (cilantro) leaves, raw
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85844.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,47 @@
|
||||
schema_version: 2
|
||||
id: cinnamon
|
||||
name: Spices, cinnamon, ground
|
||||
status: active
|
||||
categories:
|
||||
- flavoring
|
||||
aliases:
|
||||
- name: cinnamon
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_cinnamon_171320
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_171320_88429
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 2.6
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171320'
|
||||
url: https://fdc.nal.usda.gov/food-details/171320/measures
|
||||
title: Spices, cinnamon, ground
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88429.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_171320_88430
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 7.8
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171320'
|
||||
url: https://fdc.nal.usda.gov/food-details/171320/measures
|
||||
title: Spices, cinnamon, ground
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88430.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,9 @@
|
||||
schema_version: 2
|
||||
id: citric_acid
|
||||
name: citric acid
|
||||
status: active
|
||||
categories:
|
||||
- other
|
||||
aliases: []
|
||||
nutrition_mapping_ids: []
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,49 @@
|
||||
schema_version: 2
|
||||
id: cloves
|
||||
name: Spices, cloves, ground
|
||||
status: active
|
||||
categories:
|
||||
- other
|
||||
aliases:
|
||||
- name: clove
|
||||
kind: common
|
||||
- name: cloves
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_cloves_171321
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_171321_88431
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 2.1
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171321'
|
||||
url: https://fdc.nal.usda.gov/food-details/171321/measures
|
||||
title: Spices, cloves, ground
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88431.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_171321_88432
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 6.5
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171321'
|
||||
url: https://fdc.nal.usda.gov/food-details/171321/measures
|
||||
title: Spices, cloves, ground
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88432.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,47 @@
|
||||
schema_version: 2
|
||||
id: cocoa_powder
|
||||
name: Cocoa, dry powder, unsweetened
|
||||
status: active
|
||||
categories:
|
||||
- other
|
||||
aliases:
|
||||
- name: cocoa powder
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_cocoa_powder_169593
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_169593_85187
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 5.4
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169593'
|
||||
url: https://fdc.nal.usda.gov/food-details/169593/measures
|
||||
title: Cocoa, dry powder, unsweetened
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85187.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_169593_85186
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 86.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169593'
|
||||
url: https://fdc.nal.usda.gov/food-details/169593/measures
|
||||
title: Cocoa, dry powder, unsweetened
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85186.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,49 @@
|
||||
schema_version: 2
|
||||
id: coconut_milk
|
||||
name: Nuts, coconut milk, canned (liquid expressed from grated meat and water)
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: canned coconut milk
|
||||
kind: common
|
||||
- name: coconut milk, canned
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_coconut_milk_170173
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_170173_86171
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 226.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170173'
|
||||
url: https://fdc.nal.usda.gov/food-details/170173/measures
|
||||
title: Nuts, coconut milk, canned (liquid expressed from grated meat and water)
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 86171.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_170173_86172
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 15.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170173'
|
||||
url: https://fdc.nal.usda.gov/food-details/170173/measures
|
||||
title: Nuts, coconut milk, canned (liquid expressed from grated meat and water)
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 86172.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,66 @@
|
||||
schema_version: 2
|
||||
id: confectioners_sugar
|
||||
name: Sugars, powdered
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: confectioners' sugar
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_confectioners_sugar_169656
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_169656_85291
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 100.0
|
||||
unit_id: gram
|
||||
state: sifted
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169656'
|
||||
url: https://fdc.nal.usda.gov/food-details/169656/measures
|
||||
title: Sugars, powdered
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85291.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_169656_85293
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 2.5
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169656'
|
||||
url: https://fdc.nal.usda.gov/food-details/169656/measures
|
||||
title: Sugars, powdered
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85293.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_169656_85292
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 8.0
|
||||
unit_id: gram
|
||||
state: unsifted
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169656'
|
||||
url: https://fdc.nal.usda.gov/food-details/169656/measures
|
||||
title: Sugars, powdered
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85292.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,49 @@
|
||||
schema_version: 2
|
||||
id: cooked_pinto_beans_drained
|
||||
name: Beans, pinto, mature seeds, cooked, boiled, without salt
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: home-cooked pinto beans
|
||||
kind: common
|
||||
- name: pinto beans, cooked from dry, drained
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_cooked_pinto_beans_drained_175200
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_175200_95833
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 10.6
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '175200'
|
||||
url: https://fdc.nal.usda.gov/food-details/175200/measures
|
||||
title: Beans, pinto, mature seeds, cooked, boiled, without salt
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 95833.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_175200_95832
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 171.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '175200'
|
||||
url: https://fdc.nal.usda.gov/food-details/175200/measures
|
||||
title: Beans, pinto, mature seeds, cooked, boiled, without salt
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 95832.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,47 @@
|
||||
schema_version: 2
|
||||
id: coriander
|
||||
name: Spices, coriander seed
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: coriander
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_coriander_170922
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_170922_87543
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 5.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170922'
|
||||
url: https://fdc.nal.usda.gov/food-details/170922/measures
|
||||
title: Spices, coriander seed
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 87543.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_170922_87542
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 1.8
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170922'
|
||||
url: https://fdc.nal.usda.gov/food-details/170922/measures
|
||||
title: Spices, coriander seed
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 87542.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,47 @@
|
||||
schema_version: 2
|
||||
id: corn_syrup_light
|
||||
name: Syrups, corn, light
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: corn syrup, light
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_corn_syrup_light_168837
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_168837_83865
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 22.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '168837'
|
||||
url: https://fdc.nal.usda.gov/food-details/168837/measures
|
||||
title: Syrups, corn, light
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 83865.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_168837_83864
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 341.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '168837'
|
||||
url: https://fdc.nal.usda.gov/food-details/168837/measures
|
||||
title: Syrups, corn, light
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 83864.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,30 @@
|
||||
schema_version: 2
|
||||
id: cornstarch
|
||||
name: Cornstarch
|
||||
status: active
|
||||
categories:
|
||||
- starch
|
||||
aliases:
|
||||
- name: corn starch
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_cornstarch_169698
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_169698_85370
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 128.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169698'
|
||||
url: https://fdc.nal.usda.gov/food-details/169698/measures
|
||||
title: Cornstarch
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85370.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: cream_cheese
|
||||
name: Cream cheese, full fat, block
|
||||
status: active
|
||||
categories:
|
||||
- liquid
|
||||
aliases:
|
||||
- name: cream cheese
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_cream_cheese_2346385
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,49 @@
|
||||
schema_version: 2
|
||||
id: cumin
|
||||
name: Spices, cumin seed
|
||||
status: active
|
||||
categories:
|
||||
- spice
|
||||
aliases:
|
||||
- name: cumin
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_cumin_170923
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_170923_87544
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 2.1
|
||||
unit_id: gram
|
||||
state: whole
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170923'
|
||||
url: https://fdc.nal.usda.gov/food-details/170923/measures
|
||||
title: Spices, cumin seed
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 87544.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_170923_87545
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 6.0
|
||||
unit_id: gram
|
||||
state: whole
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '170923'
|
||||
url: https://fdc.nal.usda.gov/food-details/170923/measures
|
||||
title: Spices, cumin seed
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 87545.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,14 @@
|
||||
schema_version: 2
|
||||
id: dark_chocolate
|
||||
name: Chocolate, dark, 70-85% cacao solids
|
||||
status: active
|
||||
categories:
|
||||
- inclusion
|
||||
aliases:
|
||||
- name: "70\u201385% dark chocolate"
|
||||
kind: common
|
||||
- name: "dark chocolate, 70\u201385% cacao"
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_dark_chocolate_170273
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,47 @@
|
||||
schema_version: 2
|
||||
id: dark_cocoa_powder
|
||||
name: Cocoa, dry powder, unsweetened, processed with alkali
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: dark cocoa powder
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_dark_cocoa_powder_169594
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_169594_85189
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 5.4
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169594'
|
||||
url: https://fdc.nal.usda.gov/food-details/169594/measures
|
||||
title: Cocoa, dry powder, unsweetened, processed with alkali
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85189.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_169594_85188
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 86.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169594'
|
||||
url: https://fdc.nal.usda.gov/food-details/169594/measures
|
||||
title: Cocoa, dry powder, unsweetened, processed with alkali
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85188.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: dextrose
|
||||
name: DEXTROSE PURE AND NATURAL SWEETENER, DEXTROSE
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: dextrose
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_dextrose_1991846
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,31 @@
|
||||
schema_version: 2
|
||||
id: dill
|
||||
name: Dill weed, fresh
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: dill
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_dill_172233
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_172233_90129
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 8.9
|
||||
unit_id: gram
|
||||
state: sprigs
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '172233'
|
||||
url: https://fdc.nal.usda.gov/food-details/172233/measures
|
||||
title: Dill weed, fresh
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 90129.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,34 @@
|
||||
schema_version: 2
|
||||
id: dried_chilis
|
||||
name: Peppers, hot chile, sun-dried
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: dried Chinese red chiles
|
||||
kind: common
|
||||
- name: dried hot red chiles
|
||||
kind: search
|
||||
- name: Tien Tsin chile peppers, dried whole
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_dried_chilis_168570
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_168570_83346
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 37.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '168570'
|
||||
url: https://fdc.nal.usda.gov/food-details/168570/measures
|
||||
title: Peppers, hot chile, sun-dried
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 83346.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,30 @@
|
||||
schema_version: 2
|
||||
id: egg_whites
|
||||
name: Egg, white, raw, fresh
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: egg whites
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_egg_whites_172183
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_172183_90044
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 243.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '172183'
|
||||
url: https://fdc.nal.usda.gov/food-details/172183/measures
|
||||
title: Egg, white, raw, fresh
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 90044.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,31 @@
|
||||
schema_version: 2
|
||||
id: egg_whole
|
||||
name: Egg, whole, raw, fresh
|
||||
status: active
|
||||
categories:
|
||||
- egg
|
||||
aliases:
|
||||
- name: egg, whole
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_egg_whole_171287
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_171287_88377
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 243.0
|
||||
unit_id: gram
|
||||
state: (4.86 large eggs)
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171287'
|
||||
url: https://fdc.nal.usda.gov/food-details/171287/measures
|
||||
title: Egg, whole, raw, fresh
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88377.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,30 @@
|
||||
schema_version: 2
|
||||
id: egg_yolk
|
||||
name: Egg, yolk, raw, fresh
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: egg yolk
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_egg_yolk_172184
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_172184_90046
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 243.0
|
||||
unit_id: gram
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '172184'
|
||||
url: https://fdc.nal.usda.gov/food-details/172184/measures
|
||||
title: Egg, yolk, raw, fresh
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 90046.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: espresso_powder
|
||||
name: ESPRESSO INSTANT POWDER, ESPRESSO
|
||||
status: active
|
||||
categories:
|
||||
- other
|
||||
aliases:
|
||||
- name: espresso powder
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_espresso_powder_2059824
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,49 @@
|
||||
schema_version: 2
|
||||
id: fennel_seed
|
||||
name: Spices, fennel seed
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: fennel seed
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_fennel_seed_171323
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_171323_88436
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: tablespoon_us
|
||||
to:
|
||||
quantity: 5.8
|
||||
unit_id: gram
|
||||
state: whole
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171323'
|
||||
url: https://fdc.nal.usda.gov/food-details/171323/measures
|
||||
title: Spices, fennel seed
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88436.
|
||||
reviewed_at: '2026-08-12'
|
||||
- id: usda_171323_88435
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: teaspoon_us
|
||||
to:
|
||||
quantity: 2.0
|
||||
unit_id: gram
|
||||
state: whole
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '171323'
|
||||
url: https://fdc.nal.usda.gov/food-details/171323/measures
|
||||
title: Spices, fennel seed
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 88435.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,17 @@
|
||||
schema_version: 2
|
||||
id: flour_all_purpose
|
||||
name: Flour, wheat, all-purpose, unenriched, unbleached
|
||||
status: active
|
||||
categories:
|
||||
- flour
|
||||
aliases:
|
||||
- name: plain flour
|
||||
region: GB
|
||||
kind: common
|
||||
- name: all-purpose flour
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_flour_all_purpose_790018
|
||||
allergen_mapping_ids: []
|
||||
notes:
|
||||
- USDA nutrition mapping and ingredient-specific volume measures remain to be reviewed.
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: flour_bread
|
||||
name: Flour, bread, white, enriched, unbleached
|
||||
status: active
|
||||
categories:
|
||||
- flour
|
||||
aliases:
|
||||
- name: bread flour
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_flour_bread_790146
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,31 @@
|
||||
schema_version: 2
|
||||
id: flour_cake
|
||||
name: Wheat flour, white, cake, enriched
|
||||
status: active
|
||||
categories:
|
||||
- flour
|
||||
aliases:
|
||||
- name: cake flour
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_flour_cake_169723
|
||||
allergen_mapping_ids: []
|
||||
measure_conversions:
|
||||
- id: usda_169723_85397
|
||||
from:
|
||||
quantity: 1.0
|
||||
unit_id: cup_us
|
||||
to:
|
||||
quantity: 137.0
|
||||
unit_id: gram
|
||||
state: unsifted, dipped
|
||||
source:
|
||||
source_type: usda_fdc
|
||||
external_id: '169723'
|
||||
url: https://fdc.nal.usda.gov/food-details/169723/measures
|
||||
title: Wheat flour, white, cake, enriched
|
||||
publisher: USDA Agricultural Research Service
|
||||
retrieved_at: '2026-08-12'
|
||||
reviewed: true
|
||||
notes: FoodData Central portion ID 85397.
|
||||
reviewed_at: '2026-08-12'
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: flour_corn
|
||||
name: Corn flour, masa harina, white or yellow, dry, raw
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: corn flour
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_flour_corn_2710835
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: flour_pastry
|
||||
name: Flour, pastry, unenriched, unbleached
|
||||
status: active
|
||||
categories:
|
||||
- unknown
|
||||
aliases:
|
||||
- name: pastry flour
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_flour_pastry_1104913
|
||||
allergen_mapping_ids: []
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 2
|
||||
id: flour_whole_wheat
|
||||
name: Flour, whole wheat, unenriched
|
||||
status: active
|
||||
categories:
|
||||
- flour
|
||||
aliases:
|
||||
- name: whole wheat flour
|
||||
kind: search
|
||||
nutrition_mapping_ids:
|
||||
- usda_fdc_flour_whole_wheat_790085
|
||||
allergen_mapping_ids: []
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user