The RecipeRadar knowledge graph stores and provides access to recipe and ingredient relationship information
  • Python 88.7%
  • Makefile 11.3%
Find a file
2026-03-17 16:18:41 +00:00
k8s Configure a read-only root filesystem 2023-12-15 12:06:35 +00:00
tests Cleanup: remove ingredient/product-related nutrition (#77) 2025-04-24 13:30:40 +00:00
web Update dependencies 2026-02-02 17:12:53 +00:00
.containerignore Add .containerignore file. 2024-07-12 15:30:47 +01:00
.flake8 Update flake8 acceptable line length to match 'black' default of 88 2022-07-11 13:08:42 +01:00
.gitignore Switch to a pip-based dependency workflow (#61) 2020-12-18 17:19:07 +00:00
LICENSE Trim LICENSE 2020-03-05 15:32:23 +00:00
Makefile Development: disable black cache read/write 2026-03-17 16:18:41 +00:00
README.md Forge migration: update URLs from GitHub to Codeberg 2025-08-21 19:09:49 +01:00
requirements-dev.in Dependencies: remove inter-requirements-file reference 2024-11-21 18:39:25 +00:00
requirements-dev.txt Update gunicorn dependency 2026-03-17 16:13:22 +00:00
requirements.in Update gunicorn dependency 2026-03-17 16:13:22 +00:00
requirements.txt Update gunicorn dependency 2026-03-17 16:13:22 +00:00

RecipeRadar Knowledge Graph

The RecipeRadar knowledge graph stores and provides access to recipe and ingredient relationship information.

This information includes facts such as 'lettuce is-a vegetable' as well as potential ingredient substitutions.

Product Parsing

Ingredient descriptions generally include some combination of a quantity (i.e. 1 kg) and a product (i.e. potatoes). Since they are written as unstructured text in most recipes, parsing products can be a challenge.

The backend service provides the source-of-truth for product metadata, and it makes this available at the /products/hierarchy endpoint.

The knowledge graph loads this data at runtime, and we build an in-process search-engine index that allows us to find candidate ingredient matches, which are then narrowed down to a single best-match per ingredient line.

Install dependencies

Make sure to follow the RecipeRadar infrastructure setup to ensure all cluster dependencies are available in your environment.

Development

To install development tools and run linting and tests locally, execute the following commands:

$ make lint tests

Local Deployment

To deploy the service to the local infrastructure environment, execute the following commands:

$ make
$ make deploy