adaptix.conversion package#

Module contents#

adaptix.conversion.convert(
src_obj: Any,
dst: Type[DstT],
*,
recipe: Iterable[Provider] = (),
) DstT#

Function transforming a source object to destination.

Parameters:
  • src_obj – A type of converter input data.

  • dst – A type of converter output data.

  • recipe – An extra recipe adding to retort.

Returns:

Instance of destination

adaptix.conversion.get_converter(
src: Any,
dst: Any,
*,
recipe: Iterable[Provider] = (),
name: str | None = None,
)#

Factory producing basic converter.

Parameters:
  • src – A type of converter input data.

  • dst – A type of converter output data.

  • recipe – An extra recipe adding to retort.

  • name – Name of generated function, if value is None, name will be derived.

Returns:

Desired converter function

adaptix.conversion.impl_converter(
stub_function: Callable | None = None,
*,
recipe: Iterable[Provider] = (),
)#

Decorator producing converter with signature of stub function.

Parameters:
  • stub_function – A function that signature is used to generate converter.

  • recipe – An extra recipe adding to retort.

Returns:

Desired converter function

Basic provider to define custom linking between fields.

Parameters:
  • src – Predicate specifying source point of linking. See Predicate system for details.

  • dst – Predicate specifying destination point of linking. See Predicate system for details.

  • coercer – Function transforming source value to target. It has higher priority than generic coercers defined by coercer.

Returns:

Desired provider

Provider that passes a constant value or the result of a function call to a field.

Parameters:
  • dst – Predicate specifying destination point of linking. See Predicate system for details.

  • value – A value is passed to the field.

  • factory – A callable producing value passed to the field.

Returns:

Desired provider

adaptix.conversion.coercer(
src: str | Pattern | type | Any | LocStackChecker | LocStackPattern,
dst: str | Pattern | type | Any | LocStackChecker | LocStackPattern,
func: Callable[[Any], Any],
) Provider#

Basic provider to define custom coercer.

Parameters:
  • src – Predicate specifying source point of linking. See Predicate system for details.

  • dst – Predicate specifying destination point of linking. See Predicate system for details.

  • func – The function is used to transform input data to a destination type.

Returns:

Desired provider

adaptix.conversion.allow_unlinked_optional(
*preds: str | Pattern | type | Any | LocStackChecker | LocStackPattern,
) Provider#

Sets policy to permit optional fields that does not linked to any source field.

Parameters:

preds – Predicate specifying target of policy. Each predicate is merged via | operator. See Predicate system for details.

Returns:

Desired provider.

adaptix.conversion.forbid_unlinked_optional(
*preds: str | Pattern | type | Any | LocStackChecker | LocStackPattern,
) Provider#

Sets policy to prohibit optional fields that does not linked to any source field.

Parameters:

preds – Predicate specifying target of policy. Each predicate is merged via | operator. See Predicate system for details.

Returns:

Desired provider.

adaptix.conversion.from_param(
param_name: str,
) LocStackChecker#

The special predicate form matching only top-level parameters by name

class adaptix.conversion.AdornedConversionRetort(
recipe: Iterable[Provider] = (),
)#

Bases: OperatingRetort

extend(
*,
recipe: Iterable[Provider],
) AR#
get_converter(
src: Type[SrcT],
dst: Type[DstT],
*,
recipe: Iterable[Provider] = (),
) Callable[[SrcT], DstT]#
get_converter(
src: Any,
dst: Any,
*,
name: str | None = None,
recipe: Iterable[Provider] = (),
) Callable[[Any], Any]

Method producing basic converter.

Parameters:
  • src – A type of converter input data.

  • dst – A type of converter output data.

  • recipe – An extra recipe adding to retort.

  • name – Name of generated function, if value is None, name will be derived.

Returns:

Desired converter function

recipe: ClassVar[Iterable[Provider]]#
impl_converter(
func_stub: CallableT,
/,
) CallableT#
impl_converter(
*,
recipe: Iterable[Provider] = (),
) Callable[[CallableT], CallableT]

Decorator producing converter with signature of stub function.

Parameters:
  • stub_function – A function that signature is used to generate converter.

  • recipe – An extra recipe adding to retort.

Returns:

Desired converter function

convert(
src_obj: Any,
dst: Type[DstT],
*,
recipe: Iterable[Provider] = (),
) DstT#

Method transforming a source object to destination.

Parameters:
  • src_obj – A type of converter input data.

  • dst – A type of converter output data.

  • recipe – An extra recipe adding to retort.

Returns:

Instance of destination

class adaptix.conversion.FilledConversionRetort(
recipe: Iterable[Provider] = (),
)#

Bases: OperatingRetort

recipe: ClassVar[Iterable[Provider]]#
class adaptix.conversion.ConversionRetort(
recipe: Iterable[Provider] = (),
)#

Bases: FilledConversionRetort, AdornedConversionRetort

recipe: ClassVar[Iterable[Provider]]#