Skip to content

0.0.9

Pre-release
Pre-release

Choose a tag to compare

@forman forman released this 13 Feb 09:14
· 440 commits to main since this release
da93b0b

Changes in version 0.0.9

New Contributors

Enhancements

The following enhancements have been applied to the main panel in cuiman.gui.panels:

  • Added functional "Get Results" button
  • Moved not-yet-functional process request file actions into a custom drop-down-menu.
  • Added preliminary output GUI to the main panel.
    Only shown, if multiple output values are used. The UI is still
    experimental and subject to change. (#36)
  • Added switch "Show advanced inputs".
  • Fixed updating job details display.
  • Added tooltips to GUI widgets that support it in the cuiman GUI client.
    Tooltip texts are taken from the process input description metadata.
  • Added cuiman dependency pydantic-settings introduced in version 0.0.8. (#53)
  • By using inputs and outputs keyword arguments of
    procodile.ProcessRegistry.process() it is now possible to also provide
    gavicore.models.InputDescription and gavicore.models.OutputDescription
    that are merged into the input and output descriptions of the process.
    Also added helper function procodile.additional_parameters(). (#46)
  • Provided additional options to customize cuiman:
    • Use cuiman.ClientConfig class as base class and then configure it with a custom
      pydantic_settings.SettingsConfigDict instance.
    • Override class members in cuiman.ClientConfig to initialize custom default values,
      override model classes, and implement application-specific behaviour.
    • Create a dedicated CLI instance with customized settings.
    • The show() method of the cuiman.gui.Client now supports passing application-
      specific parameters, e.g., to filter processes and process inputs.
  • Added a couple of common authentication methods to cuiman client API and CLI
    configuration (via command configure): basic, login, token, api-key methods are
    now supported.
  • Updated documentation.
  • Workflow Orchestration Support: You can now define Python functions as
    individual processes and link them using explicit dependencies defined using
    steps. This allows for the creation of complex, executable workflows
    directly within procodile. (#50)
  • Updated appligator to generate Airflow DAGs directly from a
    WorkflowRegistry, supporting workflows with multiple, explicitly defined
    steps.
  • Added a new --image-name option to the appligator CLI to control the
    Docker image used for generated Airflow tasks.
  • Introduced an Intermediate Representation (IR) layer that normalizes
    workflows from WorkflowRegistry before DAG generation, enabling easier
    debugging, clearer dependency inspection, and more robust and extensible
    DAG rendering.
  • Enhanced and updated documentation.

Fixes

  • Fixed problem where the GUI client's show_jobs() showed an empty panel
    although jobs are shown by get_jobs(). (#35)
  • No longer showing "No job selected" in the GUI client's main panel.
    If no job given, the job info panel is now hidden.
  • Removed persistent error message in GUI client's job info panel.
  • Fixed gavicore.util.schema.inline_schema_refs crashing on schemas with
    additionalProperties: false (e.g., Pydantic models using extra="forbid").

Other changes

  • Refactored panels in cuiman.gui.panels package to follow MVVM
    (Model–View–ViewModel) style.
  • Renamed gavicore.util.schema.create_json_schema into create_schema_dict.
  • Removed gavicore.util.schema.create_schema_instance with no replacement.
  • Added "S" option (= security rules enabled by Bandit) to ruff check
    configuration.

Breaking Changes

  • Renamed input_fields and output_fields keyword arguments into
    inputs and outputs of procodile.ProcessRegistry.process() decorator.
  • Removed wraptile.services.local_service.LocalService.process() decorator.
    Instead, use the process_registry of LocalService directly.
  • The legacy @process decorator is no longer exposed. It has been
    superseded by @process_registry.main() and @your_func.step() where
    your_func is the function decorated by @process_registry.main(). All API
    refinements including renamed arguments and registry access via
    LocalService are now implemented within this new workflow orchestration
    system.

Full Changelog: v0.0.8...v0.0.9