Metadata-Version: 2.4
Name: bwyd
Version: 0.2.1
Summary: The seed crazy idea here is to consider how human cooks behave like robots, following recipes as instructions.
License: MIT
License-File: LICENSE
Keywords: cooking,dsl,knowledge graph,nlp,publishing,recipes,validation
Author: derwen.ai
Author-email: info@derwen.ai
Maintainer: Paco Nathan
Maintainer-email: paco@derwen.ai
Requires-Python: >=3.11,<4.0.0
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing :: Indexing
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Requires-Dist: icecream (>=2.1.4,<3.0.0)
Requires-Dist: inflect (>=7.5.0,<8.0.0)
Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
Requires-Dist: minify-html (>=0.16.4,<0.17.0)
Requires-Dist: pillow (>=11.2.1,<12.0.0)
Requires-Dist: pydantic-graph (>=0.0.36,<0.0.37)
Requires-Dist: pyinstrument (>=5.0.2,<6.0.0)
Requires-Dist: rdflib (>=7.1.4,<8.0.0)
Requires-Dist: requests-cache (>=1.2.1,<2.0.0)
Requires-Dist: spdx-license-list (>=3.26.0,<4.0.0)
Requires-Dist: spdx-tools (>=0.8.3,<0.9.0)
Requires-Dist: textx (>=4.1.0,<5.0.0)
Requires-Dist: universal-pathlib (>=0.2.6,<0.3.0)
Project-URL: Repository, https://github.com/DerwenAI/bwyd
Description-Content-Type: text/markdown

# Bwyd cooking DSL

Have you ever considered, "How does language generate food?"

While not quite that, language does convey passion, desire, learnings
-- all of which translate into preparing food to be shared lovingly.


## Abstract

Goal: _Implement a DSL (domain specific language) to simplify means
for defining reliable recipes rapidly, while leveraging computational
tools to catch errors and inconsistencies, scale portions, calculate
yields, and so on._

The "seed crazy idea" behind the scenes here is to consider how cooks
behave somewhat like robots, following recipes as step-by-step
instructions.
Recipes make cooks "programmable" to some extent.

Conversely, what if detailed cooking instructions could be expressed
in a way that was computable and represented independently of specific
human languages?
In other words, representing the processes of cooking as source code
plus semi-structured data?

To this point also consider: where do the stories which inspire and
the associated human domain expertise get attached into the process of
defining robust recipes?


## Motivations

Clearly the bulk of free recipes online (circa 2025) are intended and
structured as click-bait, and a growing protion of that content simply
does not work in a kitchen.
Now the popular services of 
["Today's AI"](https://pangaro.com/designconversation/2021/08/newmacy-in-2021-pandemics-ai/)
-- which are intended to provide _abstractive summarization_ --
are beginning to show indications of republishing that degraded content.
A positive feedback loop follows, and it won't be pretty.

Consequently this project is an application of contemporary software
engineering -- particularly drawn from _functional programming_ --
into the process of how people in professional kitchens think about
their work.
Think of this project as a domain specific language for authoring and
navigating cookbooks, customized for use with language models, causal
graphs, neurosymbolic reasoning, and other building blocks for AI
applications.

Code in **Bwyd** language represents the "structure" and "art" of cooking,
which can then be parameterized and rendered as text to generate recipes
for a broader audience of home cooks.

A secondary use for **Bwyd** as a DSL is to provide an intermediate
form for leveraging _generative_ approaches to manipulate recipes
while ensuring the quality required by use in professional kitchens.


## Documentation

  * how to install: [INSTALL.md](https://github.com/DerwenAI/bwyd/blob/main/docs/INSTALL.md)
  * project notes: [NOTES.md](https://github.com/DerwenAI/bwyd/blob/main/NOTES.md)

