YAML Template
This template demonstrates a typical Gromet YAML config.
script_name: "Excel Invoice Merger"
script_description: |
  Merge multiple Excel invoice files into a single consolidated report,
  summarising totals and highlighting discrepancies.
python_version: "3.12"
dependencies:
  - pandas==2.2.2
  - openpyxl==3.1.2
inputs:
  - arg: input_file
    title: Upload Excel File
    required: true
    type: file
    extensions: [xlsx, xls]
  - arg: simple_text
    title: Label
    type: text
    placeholder: "Experiment 42"
  - arg: environment
    title: Environment
    type: dropdown
    required: true
    options:
      - value: dev
        label: Development
      - value: staging
        label: Staging
      - value: prod
        label: Production
  - arg: assignee
    title: Assign User
    type: multiselect
    options:
      - value: "u123"
        label: "Alice Lee"
      - value: "u456"
        label: "Bob Zhang"
  - arg: schedule_date
    title: Execution Date
    type: date
    required: true
  - arg: notes
    title: Add Notes
    type: textarea
    placeholder: "Optional context here"
    
  - arg: accept_terms
    title: Save to database
    type: checkbox
Notes on Fields
- script_name/- script_description: For display and documentation purposes.
- python_version: Must be one of the supported versions (3.9 to 3.12).
- dependencies:- Pin versions exactly with - ==for reproducible installs.
- Use - >=or- ~=for flexible version ranges.
- No version means the latest from PyPI will be installed. 
- Only list third-party packages that need to be installed via pip. Do not include built-in Python libraries such as - osor- time. These should still be imported manually in the Python script.- dependencies: - pandas==2.2.2 - openpyxl==3.1.2
- # Add your imports below import pandas import openpyxl import time import os def main(input_file=None): for i in range(10, 0, -1): print(i) time.sleep(1) print("Blastoff! 🚀")
 
 
- inputs:- arg: must exactly match your Python- main()function parameter.
- required: if- true, user must provide this input; if- falseor omitted, input is optional and- Noneif missing.
- file: input passed as local file path string.
- text/- textarea: input passed as a string.
- dropdown: input passed as selected option’s- valuestring.
- multiselect: input passed as a list of selected user IDs (- string[]).
- date: input passed as a string formatted- YYYY-MM-DD.
 
Customise this template according to your script’s needs, and remember to keep arg names aligned with your Python function parameters!
Last updated
