Skip to content

plant.yaml

plant.yaml is the root of a plant repository: cheme finds the repository by looking for it from the current directory upwards. It names the plant, the oldest cheme-as-code it works with, the current stage and the list of stages, the title-block data and the sheets (P&IDs, and the generated BFD and PFD by kind).

The template writes this file ({{plant_name}} and {{cheme_minor}} are filled in by cheme init):

src/chemeascode/templates/project/plant.yaml
# The root of this plant repository. Schema: `cheme schema plant`.
schema: cheme/plant/v1
name: "{{plant_name}}"
# The oldest cheme-as-code this repository works with; an older one stops with an upgrade hint.
requires: cheme-as-code>={{cheme_minor}}
description: ""
units: SI
stage: concept
stages:
  - {id: concept, title: Concept and feasibility}
  - {id: basic, title: Basic engineering}
  - {id: detail, title: Detail engineering}
# Where the plant's issues are tracked (optional): actions, engineering holds, technical
# queries and design changes as GitHub issues with the engineering labels of cheme-as-code's
# docs/framework/issues.md; `cheme issues` lists them, the gates of kind issues use them.
# issues: {repository: your-org/your-plant, label: "process:your-plant",
#          forms: {action: 1-action-item.yml, hold: 2-engineering-hold.yml}}
# Title-block data for `cheme sheet new` (optional):
# project: {number: "24-017", client: "", site: "", revision: A}
# P&ID sheets, DEXPI 2.0.1 XML. Empty: every pid/*.xml. A sheet not drawn yet is
# `status: planned` (no file needed); `cheme sheet new P-01` starts it.
sheets: []
#  - {id: P-01, file: pid/P-01.xml, title: Feed and reaction, status: planned}
# The block and process flow diagrams are generated from process/flowsheet.yaml by
# `cheme process build` (skill `process-design`); declare them by kind:
#  - {id: BFD, kind: bfd, file: process/BFD.xml, title: Block flow diagram}
#  - {id: PFD, kind: pfd, file: process/PFD.xml, title: Process flow diagram}
# A generated sheet names its generator (script and the frame it starts from, a commit or a
# file); it is then rebuilt with `cheme regen P-02`, never edited by hand:
#  - {id: P-02, file: pid/P-02.xml, title: Utilities,
#     generator: {script: scripts/draft_P-02.py, frame: 1a2b3c4}}
The fields, their types and defaults are in the schema reference (cheme schema plant). How sheets are checked against plant.yaml (planned sheets, title-block sheet numbers, generated sheets) is part of P&IDs and DEXPI and Editing and generating sheets.