Update Extensions for KNIME Analytics Platform 5.5 - Changes

Dear Community Developers:

The official release for KNIME Analytics Platform 5.5 is planned for July 2nd 2025.

Assuming that your extension is working with KNIME Analytics Platform 5.4, for Java-based extensions there is not much to do except:

However, if you maintain a Python-based extension: we changed how these extensions are bundled and managed. See further below for details.

If your extension is not working with KNIME Analytics Platform 5.4, please take a look at this forum thread , it explains the necessary steps to make your extension compatible.

Any further questions regarding extension development for 5.5 or help required? Please ask in this forum thread or send us an email!

Best regards
Steffen


Changes on Python-based extensions

What’s changing? We transition from conda-lock, pip and micromamba to pixi, pixi-pack and uv.

:brain: Why the Change?

We aim to provide a more stable and consistent cross-platform experience for users of Python extensions, while also simplifying development and packaging for extension developers.

Benefits:

  • Platform Consistency: Uniform behavior across Windows, macOS, and Linux.
  • Improved Dependency Management: Simultaneous resolution of conda and pip dependencies (no more separate solvers).
  • Simplified Tooling: Fewer moving parts with just pixi and pixi-pack.
  • Better Packaging: Smaller, cleaner, more robust bundles.
  • Enhanced Developer Experience: Fewer bugs related to environment resolution or mismatched dependencies.
  • No more long path issues on Windows during installation: the change should also mitigate the risk of long path issues on windows, an issue which could happen if the folder of the environment was too nested.

:computer: What Developers Need to Know

If you’re maintaining a Python extension:

  • :hammer_and_wrench: Bundling now uses pixi and pixi-pack.
  • :jigsaw: Dependency resolution now happens for both pip and conda packages at the same time, and any conflicts between them will result in errors that must be resolved.
  • :package: Pip source packages are no longer supported. Please use conda packages or pip wheels.
  • :page_facing_up: Existing env.yml files are still supported, but migrating to the new pixi.toml format is strongly recommended.

:busts_in_silhouette: What Users Will Notice

For end-users installing Python extensions:

  • :desktop_computer: Consistent Behavior Across OSes: No surprises on Windows vs macOS vs Linux.
  • :hammer_and_wrench: Improved Stability: Fewer installation failures due to conflicting dependencies.
  • :package: Better Error Messages: Clearer and more actionable when something goes wrong. No more create_env.err and create_env.out! Error logs are now as expected in knime.log.
  • :chart_with_downwards_trend: Smaller Extension Size: More efficient bundling reduces the disk footprint due to a shared cache, and soon a shared base environment.

:rocket: How to Migrate Your Extension

To start using the new system:

  1. Check the official template for creating Python extensions:
    knime-python-extension-template
    and follow the README for basic instructions on development and bundling.

  2. Learn about pixi:
    pixi Documentation

  3. Convert your env.yml to pixi.toml:

pixi init -i env.yml

Then, manually review and add required fields like:

  • platforms
  • build commands and environment
  • dependencies
  1. Customize pixi.toml:
    Add or update dependencies using:
pixi add <package-name>
  1. After the release of KNIME Analytics Platform 5.5 on July 2nd 2025: additional details will be available here:
    KNIME Python Extension Docs

:pushpin: Final Notes

  • The new tools bring us closer to a unified, modern Python extension ecosystem within KNIME Analytics Platform.
  • We encourage all developers to explore the new tooling and consider updating their extensions to take advantage of the improvements.
  • It is still possible to use environment.yml, but we might disable that possibility in the future.
2 Likes

Will this change affect workflows that use the Python Script node? Outside the context of Extensions.

Dear Richard @rrousselot,

No, usage of the Python Script node is not affected.

Best regards
Steffen