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: an initial client implementation of GA4GH ServiceInfo and TES APIs as a library #13

Closed
wants to merge 92 commits into from

Conversation

aaravm
Copy link
Collaborator

@aaravm aaravm commented Jul 1, 2024

An initial client implementation of GA4GH ServiceInfo and TES APIs as a library.

New structs implementing the current architecture:

  • Configuration: basic struct for storing credentials and client service configuration;
  • Transport: HTTP client wrapper that uses Configuration;
  • ServiceInfo: implements GA4GH ServiceInfo retrieval;
  • Task: Details of the Task, has functions for cancelling and getting status;
  • TES: For creating new tasks, getting a list of them and per-task info;

New features:

  • test covers all the mentioned structs; using Funnel.
  • CI/CD: formatting checks, linting, tests against Funnel,
  • Automated script for models auto-generation using OpenAPI specs for providing all the definitions of the various structs being used in the above-mentioned structs.

Areas of improvement:

  • Passing parameters to Transport methods

Summary by Sourcery

This pull request introduces an initial client implementation of the GA4GH ServiceInfo and TES APIs as a library. It includes new structs for configuration, transport, service information retrieval, and task management. Additionally, it sets up CI workflows, automated model generation, and comprehensive tests.

  • New Features:
    • Implemented initial client library for GA4GH ServiceInfo and TES APIs, including structs for Configuration, Transport, ServiceInfo, Task, and TES.
    • Added functionality for creating, listing, and managing tasks within the TES API.
    • Introduced automated script for model auto-generation using OpenAPI specifications.
  • Enhancements:
    • Wrapped HTTP client with a Transport struct to handle requests using the provided configuration.
  • Build:
    • Added build script (build-models.sh) for generating models from OpenAPI specifications.
  • CI:
    • Set up CI workflow to include formatting checks, linting, and tests against Funnel.
  • Documentation:
    • Added README.md with instructions for building the project, running tests, and using the CI/CD workflow.
  • Tests:
    • Added comprehensive tests for the new structs and functionalities, including task creation, status retrieval, cancellation, and listing.

@pavelnikonorov pavelnikonorov changed the title An initial client implementation of GA4GH ServiceInfo and TES APIs as a library. #1: feat: an initial client implementation of GA4GH ServiceInfo and TES APIs as a library Jul 9, 2024
@pavelnikonorov pavelnikonorov changed the title #1: feat: an initial client implementation of GA4GH ServiceInfo and TES APIs as a library feat: an initial client implementation of GA4GH ServiceInfo and TES APIs as a library Jul 15, 2024
Copy link
Collaborator

@pavelnikonorov pavelnikonorov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All suggestions addressed, the code is split now into multiple PRs. This PR have to be closed without merge.

@aaravm
Copy link
Collaborator Author

aaravm commented Aug 12, 2024

Since, this PR has been successfully split into multiple PRs, I am closing this PR now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants