Dev bilayers#17
Open
TorecLuik wants to merge 15 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several improvements and fixes across both the backend (Python/OMERO) and frontend (React) parts of the project. The main focus is on more robust workflow parameter handling, improved GitHub descriptor parsing and caching, enhanced model card UX (including container image detection), and dependency updates for better reproducibility and compatibility.
Backend improvements:
Workflow parameter handling and metadata fetching:
pull_descriptor_from_githubwith the more generalgeneric_descriptor_from_githubthroughout the backend, ensuring consistent descriptor parsing for all workflow types. [1] [2] [3]prepare_workflow_parametersto coerce numeric parameters to the correct Python types based on the descriptor's declared type, improving robustness for numeric input handling. The logic now directly checks the declared type and converts accordingly, handling string representations of numbers (e.g., "1.0" to 1). [1] [2]Dependency management:
biomerodependency to use a specific GitHub branch (dev-bilayers) for both the Docker install andsetup.py, ensuring consistent and up-to-date code across environments. [1] [2]Frontend improvements:
GitHub descriptor parsing and caching:
apiService.js, reducing redundant network requests and supporting both JSON and YAML descriptor formats. This enables extraction of both the workflow name and container image reference from a variety of descriptor layouts.fetchContainerImagefunction to retrieve the container image reference for a given GitHub repo URL, with fallback logic for different descriptor formats.Model card UX enhancements:
ModelCardcomponent to automatically fetch and display the container image (with Docker icon) for versioned GitHub URLs, both on mount and when the repo field loses focus. Provides user feedback and guidance for unversioned or invalid URLs. [1] [2] [3] [4] [5]ModelCardandConfigSectioncomponents, making it clearer when action is needed. [1] [2] [3] [4]File tree and thumbnail loading:
loadThumbnails, preventing UI flicker. [1] [2]Other updates:
Key backend changes:
Workflow metadata and parameter handling:
generic_descriptor_from_githubfor fetching workflow descriptors, enabling broader format support and consistent metadata access. [1] [2] [3]prepare_workflow_parameters, ensuring correct types are used for workflow execution. [1] [2]Dependency management:
biomerodependency to a specific GitHub branch in both Docker andsetup.pyfor reproducibility. [1] [2]Key frontend changes:
Descriptor parsing and caching:
apiService.js, supporting both name and container image extraction.fetchContainerImageutility for use in model components.Model card and config UI:
ModelCardto display container image info and provide clearer guidance for unversioned or invalid GitHub URLs. [1] [2] [3] [4] [5]ConfigSection. [1] [2]File tree performance:
Miscellaneous: