saucier
Structured procedure extraction from culinary sources.
Reads a cookbook and returns a catalogue. Each preparation carries its names, the language of each name, the mother it derives from, and the source line the claim came from. No model runs. Every output is traceable to the text.
Try it
No GPU, no API key, no database, no network. The source text is committed.
$ git clone https://github.com/Alberto-Codes/saucier
$ cd saucier && uv sync
$ uv run saucier parse
source escoffier-1907
mothers bechamel, espagnole, hollandaise, tomato, veloute
sauces 124
derived 29 linked to a mother
unresolved 95 state no base in their prose
The five mothers were not supplied. Escoffier names them in his own text, and the parser reads them out of it.
$ uv run saucier tree espagnole
BROWN SAUCE OR ESPAGNOLE [espagnole]
├── LENTEN ESPAGNOLE (fr)
├── GENEVOISE SAUCE (en)
├── ORDINARY POIVRADE SAUCE (en)
└── POIVRADE SAUCE FOR VENISON (en)
The interesting number is 95
Three quarters of these preparations never state what they are built on. Escoffier wrote for a reader who already knew, so he did not write it down. That gap is the point: it is the measured bar that anything cleverer has to beat. See why there is no model in this yet.
The catalogue holds 124 entries, not every sauce in the book. An entry gets in when its own heading says "sauce", or when it names a mother inside a chapter Escoffier titles as sauces. Both tests read the source. Neither guesses.
Documentation
- Tutorial — clone it and print a family tree
- How-to — point it at a different book
- Reference — commands and data model
- Explanation — why a parser comes first
Licence
MIT for the code. corpus/escoffier-1907.txt is Project Gutenberg ebook
#71395, public domain, redistributed with its licence wrapper intact. No
third-party corpus is shipped in the published package.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file saucier-0.1.0.tar.gz.
File metadata
- Download URL: saucier-0.1.0.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7cbf95f155e84c9da569848825a32d9ab38ff2740cc6eeb4e7a625504af807d
|
|
| MD5 |
e52863fb37169221f44f9908c4e6dd45
|
|
| BLAKE2b-256 |
8e0ca23559d5535515e0d3d9d404d4901ea425a4f1e5db5817ba61370f945cd2
|
Provenance
The following attestation bundles were made for saucier-0.1.0.tar.gz:
Publisher:
publish.yml on Alberto-Codes/saucier
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
saucier-0.1.0.tar.gz -
Subject digest:
c7cbf95f155e84c9da569848825a32d9ab38ff2740cc6eeb4e7a625504af807d - Sigstore transparency entry: 2526491329
- Sigstore integration time:
-
Permalink:
Alberto-Codes/saucier@2077eec1401176d33d05add371c71dbd5ed81798 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Alberto-Codes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2077eec1401176d33d05add371c71dbd5ed81798 -
Trigger Event:
push
-
Statement type:
File details
Details for the file saucier-0.1.0-py3-none-any.whl.
File metadata
- Download URL: saucier-0.1.0-py3-none-any.whl
- Upload date:
- Size: 30.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc2677afd1daed35561da444144b94542f4c58b4be3c7fff00f509fc47a4292a
|
|
| MD5 |
6946082ce03b083d77934341e58c9301
|
|
| BLAKE2b-256 |
fb7959fee21398d7180aeca2f23ddee622d9c2a5d6af1395051519389f1df9fb
|
Provenance
The following attestation bundles were made for saucier-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Alberto-Codes/saucier
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
saucier-0.1.0-py3-none-any.whl -
Subject digest:
dc2677afd1daed35561da444144b94542f4c58b4be3c7fff00f509fc47a4292a - Sigstore transparency entry: 2526491384
- Sigstore integration time:
-
Permalink:
Alberto-Codes/saucier@2077eec1401176d33d05add371c71dbd5ed81798 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Alberto-Codes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2077eec1401176d33d05add371c71dbd5ed81798 -
Trigger Event:
push
-
Statement type: