BentoML icon indicating copy to clipboard operation
BentoML copied to clipboard

Optional Multipart Fields

Open sauyon opened this issue 3 years ago • 2 comments

Feature request

We should support multipart fields that are optional, and arbitrary multipart fields.

Maybe something like:

@svc.api(..., output=FlexibleMultipart())
def endpoint(input):
    if ...:
        return {}
    else:
        return {programmatic_key: value}

sauyon avatar Sep 08 '22 02:09 sauyon

It could look like:

from typing import Optional

@svc.api(..., output=Multipart(field1=Optional[JSON()], field2=Optional[NumpyNdarray()])
def endpoint(input):
    ...

We should also support PEP604

from __futures__ import annotations

@svc.api(input=Multipart(field1=list[JSON()], field2=tuple[NumpyNdarray()], output=...)
def endpoint(input):
	...

aarnphm avatar Sep 08 '22 07:09 aarnphm

@frostming in case you weren't aware

sauyon avatar Aug 30 '23 01:08 sauyon