The page you navigated to does not exist, so we brought you to the closest page to it.
flytekit.extras.pydantic_transformer.transformer
Property
Type
Description
CACHE_KEY_METADATA
str
FLYTE_USE_OLD_DC_FORMAT
str
MESSAGEPACK
str
SERIALIZATION_FORMAT
str
def PydanticTransformer ()
Property
Type
Description
is_async
None
name
None
python_type
None
This returns the python type
type_assertions_enabled
None
Indicates if the transformer wants type assertions to be enabled at the core type engine layer
def assert_type (
t : Type [ T ],
v : T ,
)
Parameter
Type
Description
t
Type[T]
v
T
def from_binary_idl (
binary_idl_object : flytekit . models . literals . Binary ,
expected_python_type : typing . Type [ pydantic . main . BaseModel ],
) -> pydantic . main . BaseModel
This function primarily handles deserialization for untyped dicts, dataclasses, Pydantic BaseModels, and attribute access.`
For untyped dict, dataclass, and pydantic basemodel:
Life Cycle (Untyped Dict as example):
python val -> msgpack bytes -> binary literal scalar -> msgpack bytes -> python val
(to_literal) (from_binary_idl)
For attribute access:
Life Cycle:
python val -> msgpack bytes -> binary literal scalar -> resolved golang value -> binary literal scalar -> msgpack bytes -> python val
(to_literal) (propeller attribute access) (from_binary_idl)
Parameter
Type
Description
binary_idl_object
flytekit.models.literals.Binary
expected_python_type
typing.Type[pydantic.main.BaseModel]
def from_generic_idl (
generic : Struct ,
expected_python_type : Type [ T ],
) -> Optional [ T ]
TODO: Support all Flyte Types.
This is for dataclass attribute access from input created from the Flyte Console.
Note:
This can be removed in the future when the Flyte Console support generate Binary IDL Scalar as input.
Parameter
Type
Description
generic
Struct
expected_python_type
Type[T]
def get_literal_type (
t : typing . Type [ pydantic . main . BaseModel ],
) -> flytekit . models . types . LiteralType
Converts the python type to a Flyte LiteralType
Parameter
Type
Description
t
typing.Type[pydantic.main.BaseModel]
def guess_python_type (
literal_type : LiteralType ,
) -> Type [ T ]
Converts the Flyte LiteralType to a python object type.
Parameter
Type
Description
literal_type
LiteralType
def isinstance_generic (
obj ,
generic_alias ,
)
Parameter
Type
Description
obj
generic_alias
def to_generic_literal (
ctx : flytekit . core . context_manager . FlyteContext ,
python_val : pydantic . main . BaseModel ,
python_type : typing . Type [ pydantic . main . BaseModel ],
expected : flytekit . models . types . LiteralType ,
) -> flytekit . models . literals . Literal
Note: This is deprecated and will be removed in the future.
Parameter
Type
Description
ctx
flytekit.core.context_manager.FlyteContext
python_val
pydantic.main.BaseModel
python_type
typing.Type[pydantic.main.BaseModel]
expected
flytekit.models.types.LiteralType
def to_html (
ctx : FlyteContext ,
python_val : T ,
expected_python_type : Type [ T ],
) -> str
Converts any python val (dataframe, int, float) to a html string, and it will be wrapped in the HTML div
Parameter
Type
Description
ctx
FlyteContext
python_val
T
expected_python_type
Type[T]
def to_literal (
ctx : flytekit . core . context_manager . FlyteContext ,
python_val : pydantic . main . BaseModel ,
python_type : typing . Type [ pydantic . main . BaseModel ],
expected : flytekit . models . types . LiteralType ,
) -> flytekit . models . literals . Literal
For pydantic basemodel, we have to go through json first.
This is for handling enum in basemodel.
More details:
https://github.com/flyteorg/flytekit/pull/2792
Parameter
Type
Description
ctx
flytekit.core.context_manager.FlyteContext
python_val
pydantic.main.BaseModel
python_type
typing.Type[pydantic.main.BaseModel]
expected
flytekit.models.types.LiteralType
def to_python_value (
ctx : flytekit . core . context_manager . FlyteContext ,
lv : flytekit . models . literals . Literal ,
expected_python_type : typing . Type [ pydantic . main . BaseModel ],
) -> pydantic . main . BaseModel
There will have 2 kinds of literal values:
protobuf Struct (From Flyte Console)
binary scalar (Others)
Hence we have to handle 2 kinds of cases.
Parameter
Type
Description
ctx
flytekit.core.context_manager.FlyteContext
lv
flytekit.models.literals.Literal
expected_python_type
typing.Type[pydantic.main.BaseModel]