windmill icon indicating copy to clipboard operation
windmill copied to clipboard

feature: support typing.Optional for Python script parameters

Open enote-kane opened this issue 2 weeks ago • 0 comments

Since Windmill already supports typing.List to recognize arrays, it totally makes sense to support typing.Optional for recognizing optional script parameters.

Example script:

from typing import Optional

def main(required: str, opt: Optional[str]):
    print("OK")

Desired generated schema:

summary: ''
description: ''
lock: '!inline f/transform/test.script.lock'
kind: script
schema:
  $schema: 'https://json-schema.org/draft/2020-12/schema'
  type: object
  properties:
    opt:
      type: string
      description: ''
      default: null
    required:
      type: string
      description: ''
      default: null
      originalType: string
  required:
    - required

enote-kane avatar Jun 22 '24 05:06 enote-kane