Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(wes): add support for the GA4GH WES API #48

Open
1 of 4 tasks
pavelnikonorov opened this issue Oct 31, 2024 · 4 comments
Open
1 of 4 tasks

feat(wes): add support for the GA4GH WES API #48

pavelnikonorov opened this issue Oct 31, 2024 · 4 comments

Comments

@pavelnikonorov
Copy link
Collaborator

pavelnikonorov commented Oct 31, 2024

Description:

Enhance the GA4GH SDK and associated CLI by adding support for the GA4GH Workflow Execution Service (WES) API. This feature would enable users to interact with WES-compliant services, both programmatically (through the SDK) and via command-line commands (through the CLI).

We are targeting v1.1.0 of the WES specification. Please refer to the corresponding documentation and OpenAPI specification document.

Associated issues:

This issue is a meta issue requiring the following individual issues to be addressed.


Documentation Requirements:

Update CLI and SDK documentation with usage examples and configuration details for WES.

Testing Requirements:

Add integration tests for CLI commands and unit tests for SDK methods to confirm functionality and error handling.

Developer Notes:

Please get familiar with the SDK ServiceInfo and TES client implementations. Similarly, new client implementations including the WES client should leverage the Configuration struct (Rust term similar to C++ classes) and the Transport struct. This ensures consistent handling of configurations and communication across the SDK, maintaining architectural integrity and simplifying future maintenance and feature expansion.

To run code with additional debug output messages provided by debug!("[...]") macro:

RUST_LOG=debug cargo build 

To test the CLI commands:

RUST_LOG=debug cargo run [your-cli-command-parameter]

If your implementation requires additional modules (or crates in Rust terminology) add them to the ./lib/Cargo.toml for the SDK or to ./cli/Cargo.toml for the CLI.

@uniqueg uniqueg mentioned this issue Oct 31, 2024
4 tasks
@uniqueg uniqueg changed the title [DRAFT] Add WES (Workflow Execution Service) Support to GA4GH-SDK and CLI feat(wes): add support for the GA4GH WES API Oct 31, 2024
@suecharo
Copy link
Contributor

suecharo commented Nov 3, 2024

Thank you for creating the issue. (@pavelnikonorov , @uniqueg )

I have a few questions (as memo) at this stage:

@suecharo
Copy link
Contributor

suecharo commented Nov 3, 2024

For integration testing of the TES part, using funnel and listing it as a requirement.

@uniqueg
Copy link
Member

uniqueg commented Nov 3, 2024

Hi @suecharo, some comments from my side:

  • Our CI pipelines generally work best when PRs are created from feature branches. I have sent you an invite for joining the ELIXIR Cloud & AAI GitHub org. I have also described the general workflow in our contributor guidelines for the hackathon.
  • You raise a valid point about WES 1.1.0. Perhaps it is best to use the Starter Kit implementation and use WES 1.0.1 for the SDK implementation. It should be easy enough to upgrade later on.

@suecharo
Copy link
Contributor

suecharo commented Nov 4, 2024

It seems that the current implementation (such as models) does not include versioning. How should we handle this?
For example, should we organize it like ./lib/src/clients/wes/101 ?
(This probably requires a discussion with the whole team.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Ready
Development

No branches or pull requests

3 participants