Open uniqueg opened 1 year ago
@kellrott:
I see three main options to address this:
py-tes
consumer specify the full path to the API when registering the client, that is, e.g., https://http://funnel.example.com/ga4gh/tes/v1
(for proTES) or http://funnel.example.com/v1
(for TESK and Funnel). It's the most flexible, because it allows any prefix in principle.f"{url}/ga4gh/tes/v1"
to put pressure on implementations to be spec-compliant. But this is perhaps not so helpful, if at least two of the three major implementations are currently not following the spec here and couldn't possibly be accessed with py-tes
if the /ga4gh/tes/v1
part is hardcoded in the access methods.py-tes
could try the different options successively (in case of 404
, try next):
f"{url}/ga4gh/tes/v1"
py-tes
, but rather an upstream client like a TES gateway?Please let me know what you think.
I'm kind of in favor of doing some amount of automatic work for the user. For a true lightweight implementation, someone could use https://pypi.org/project/pydantic-tes/ So maybe py-tes should offer a little bit more 'easy of use' for softening issues between implementations
Got it! Will go with the last option then. It's also my favorite. And I guess that would also answer the question in #39.
Might be good to add this as an issue to Funnel. I have also created one in TESK: https://github.com/elixir-cloud-aai/tesk-api/issues/48
According to TES v1.0 and v1.1, the TES API should be hosted at
/ga4gh/tes/v1
:Currently,
py-tes
adds just/v1
as a suffix to the TES URL, and before the API paths/tasks
and/service-info
(compare #39).In my opinion,
py-tes
should add/ga4gh/tes/v1
by default. But for greater (and backwards) compatibility, the TES URL suffix should perhaps be configurable.