openml / openml/server-api

Have the flow/exists endpoint return the flow on success

Open
#170 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement proposal
Dominant language
Python
Stars
16
Forks
50
PR merge metrics
No merged PRs in 30d

Description

The PHP API returns a standard response:{"flow_exists": {"exists": true or false, "flow_id": id or -1}}. However, to retrieve the information whether or not a flow exists, we need to query the database and get just as much information as when actually returning the flow (ignoring any subflows). So returning the flow information does not generally occur much additional overhead.
It also feels like it is just another side of the same coin: you get the flow by its unique id, or by its unique combination of (name, external_version). It would make sense for me to make those endpoints behavior the same w.r.t. finding and not finding a flow.
Because of the extra network traffic (a little bit of json) and db load (in case of resolving subflows), we could also consider returning the whole flow based on a parameter, or simply have an extra endpoint that has this behavior.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the flow/exists endpoint and the existing flow lookup and response behavior in the Python-based server API. Compare its not-found and success responses with the flow retrieval endpoint; done means the API behavior and response shape are agreed and implemented, including whether subflows or an optional parameter are included.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, python
Domain
api, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.