0.0.9
Pre-release
Pre-release
Changes in version 0.0.9
New Contributors
- @TejasMorbagal made their first contribution in #34
- @b-yogesh made their first contribution in #51
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
cuimanGUI client.
Tooltip texts are taken from the process inputdescriptionmetadata. - Added
cuimandependencypydantic-settingsintroduced in version 0.0.8. (#53) - By using
inputsandoutputskeyword arguments of
procodile.ProcessRegistry.process()it is now possible to also provide
gavicore.models.InputDescriptionandgavicore.models.OutputDescription
that are merged into the input and output descriptions of the process.
Also added helper functionprocodile.additional_parameters(). (#46) - Provided additional options to customize
cuiman:- Use
cuiman.ClientConfigclass as base class and then configure it with a custom
pydantic_settings.SettingsConfigDictinstance. - Override class members in
cuiman.ClientConfigto initialize custom default values,
override model classes, and implement application-specific behaviour. - Create a dedicated CLI instance with customized settings.
- The
show()method of thecuiman.gui.Clientnow supports passing application-
specific parameters, e.g., to filter processes and process inputs.
- Use
- Added a couple of common authentication methods to
cuimanclient API and CLI
configuration (via commandconfigure): 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 withinprocodile. (#50)- Updated
appligatorto generate Airflow DAGs directly from a
WorkflowRegistry, supporting workflows with multiple, explicitly defined
steps. - Added a new
--image-nameoption to theappligatorCLI to control the
Docker image used for generated Airflow tasks. - Introduced an Intermediate Representation (IR) layer that normalizes
workflows fromWorkflowRegistrybefore 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 byget_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_refscrashing on schemas with
additionalProperties: false(e.g., Pydantic models usingextra="forbid").
Other changes
- Refactored panels in
cuiman.gui.panelspackage to follow MVVM
(Model–View–ViewModel) style. - Renamed
gavicore.util.schema.create_json_schemaintocreate_schema_dict. - Removed
gavicore.util.schema.create_schema_instancewith no replacement. - Added "S" option (= security rules enabled by Bandit) to
ruff check
configuration.
Breaking Changes
- Renamed
input_fieldsandoutput_fieldskeyword arguments into
inputsandoutputsofprocodile.ProcessRegistry.process()decorator. - Removed
wraptile.services.local_service.LocalService.process()decorator.
Instead, use theprocess_registryofLocalServicedirectly. - The legacy
@processdecorator is no longer exposed. It has been
superseded by@process_registry.main()and@your_func.step()where
your_funcis the function decorated by@process_registry.main(). All API
refinements including renamed arguments and registry access via
LocalServiceare now implemented within this new workflow orchestration
system.
Full Changelog: v0.0.8...v0.0.9