Story #14467

[SDK] Merge Go ArvadosClient and arvados.Client and migrate to arvados.Client

Added by Peter Amstutz about 1 month ago. Updated about 1 month ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
-

Description

We currently have the intolerable situation of two Go SDKs for Arvados, one arvadosclient.ArvadosClient and the other arvados.Client, and the other packages and system services are roughly split in which API they use.

Propose merging the API of ArvadosClient into arvados.Client. As much as possible this should simply be a matter of wholesale copying over and adjusting to use the struct fields of arvados.Client. Then code which currently uses can ArvadosClient can be migrated by replacing ArvadosClient to arvados.Client without having to rewrite any API calls.


Related issues

Related to Arvados - Story #8964: [SDKs] Design more idiomatic and convenient Go SDKIn Progress

History

#1 Updated by Peter Amstutz about 1 month ago

  • Status changed from New to In Progress

#2 Updated by Peter Amstutz about 1 month ago

  • Description updated (diff)
  • Status changed from In Progress to New

#3 Updated by Peter Amstutz about 1 month ago

  • Target version set to To Be Groomed

#4 Updated by Peter Amstutz about 1 month ago

  • Related to Story #8964: [SDKs] Design more idiomatic and convenient Go SDK added

#5 Updated by Tom Clegg about 1 month ago

I don't think this is the right approach.

The point of the new package is to provide a better API, and migrate callers to it, so we can eventually stop supporting the old API. Importing the old API into the new package seems to defeat the purpose.

It might be helpful to have a list of obstacles to that migration: things that are easy/possible with the old package, but hard/impossible with the new package. Then we can fill in the gaps with better thought out APIs in the new package.

Also available in: Atom PDF