Skip to content

ComfyScript v0.6.0: Simpler to use

Choose a tag to compare

@Chaoses-Ib Chaoses-Ib released this 19 Nov 22:36
· 15 commits to main since this release

Note

ComfyScript is a Python frontend and library for ComfyUI. See README for details and examples.

New features

  • Python 3.14 support

    (Solara UI doesn't support Python 3.14 yet: widgetti/solara#1108)

  • Runtime

    • ComfyUI v3 schema support (#113,#85)

    • Add util module with some utlity functions (#29,#47,#76)

      • get_int, get_float, get_str and get_images
      • concat_images
      • save_image and save_image_cwd
      • save_image_and_get_paths and load_image_from_paths

      For example:

      latent = KSampler(...)
      image = VAEDecode(latent, vae)
      images = util.get_images(image)
      # `images` is of type `list[PIL.Image.Image]`
    • Add node module with nodes and get properties (#17, #30, #59)

      See util module for examples.

    • Virtual mode

      • Workflow only queues unqueued outputs (#29)
      • Support progress callbacks (#36,#102)
      • Wake result() when set new output (#108)
    • Change StrEnum stub type to StrEnum | str (#71, @dwgrth)

    • Using loaded comfyui if inside comfyui (#104)

    • Share comfyui package context vars by default

Docs

Changes

  • cli extra (optional dependencies) is now enabled by default

    click is ~100KB. You can still disable this if you like.

Fixes

  • Runtime
    • main.server is no longer the server instance (#86)
    • ComfyUI LogInterceptor breaks Jupyter Notebook
    • redirect __main__.__file__ to ComfyUI/main.py (#89)
    • Node/output type namespace confusion (#22)
    • Virtual mode
      • Node output may be None
      • Extra bool inputs (#22, #80)
      • Output types may be lists (#9,#106)
    • Real mode
      • Unpack result for non-output nodes (#85)
      • Support kwds only valid for prompt (#85)
      • replace invalid chars in type stubs with (#87)
      • Bool enum conversions (#91)
      • new node with original class (#112)
    • comfyui package breaks cli_args
    • comfyui package LogInterceptor breaks Jupyter Notebook too
    • comfyui package receive_all_progress_notifications is readonly now (#65)
  • Transpiler
    • Avoid move same input multiple times (#55)
    • Prompt ignore hidden inputs (#85)
  • Nodes
    • Update ComfyUI_Ib_CustomNodes to fix PILToImage and PILToMask (#83)