openml / openml/server-api

On flow names, external versions and URI-safe characters

Open
#166 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

The flow/exists endpoint (#31) currently supports both GET and POST requests because there are names and/or external versions which contain characters which would make it an invalid path if added to the URI. I think we should make a decision to either always require a POST request, or to reconsidered the allowed values for flow names and external versions. I think it's confusing that now there are two endpoints with the same purpose, especially since the hidden POST endpoint is the one actually able to retrieve all the flows. The problem with the approach that restricts names/version characters is that changing keeps the problem with currently published flows. These cannot easily be updated, as it also requires changes to the openml-python API if it needs to support the migrated scheme.

Proposal: Remove the GET endpoint, and only support POST.

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 GET and POST handlers and reviewing issue #31, then trace how published flows and the openml-python API call them. Done means one supported POST endpoint can retrieve all required flows without breaking compatibility for existing names and external versions.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.