cattrs.gen パッケージ

cattrs.gen.make_dict_unstructure_fn(cl, converter, _cattrs_omit_if_default=False, _cattrs_use_linecache=True, _cattrs_use_alias=False, _cattrs_include_init_false=False, **kwargs)[ソース]

attrs クラスまたは dataclass のための特殊な dict アンストラクチャリング関数を生成します。

指定されたオーバーライドはすべて、生成された関数の overrides 属性に付加されます。

パラメータ:
  • _cattrs_omit_if_default (bool) -- true の場合、属性のデフォルト値と同じ値は結果の辞書で省略されます。

  • _cattrs_use_alias (bool) -- true の場合、属性エイリアスはデフォルトで辞書のキーとして使用されます。

  • _cattrs_include_init_false (bool) -- true の場合、init=False とマークされた _attrs_ フィールドが含まれます。

  • cl (type[T])

  • converter (BaseConverter)

  • _cattrs_use_linecache (bool)

  • kwargs (AttributeOverride)

戻り値の型:

Callable[[T], dict[str, Any]]

Added in version 23.2.0: _cattrs_use_alias

Added in version 23.2.0: _cattrs_include_init_false

cattrs.gen.make_dict_structure_fn(cl, converter, _cattrs_forbid_extra_keys='from_converter', _cattrs_use_linecache=True, _cattrs_prefer_attrib_converters='from_converter', _cattrs_detailed_validation='from_converter', _cattrs_use_alias=False, _cattrs_include_init_false=False, **kwargs)[ソース]

attrs クラスまたは dataclass のための特殊な dict ストラクチャリング関数を生成します。

指定されたオーバーライドはすべて、生成された関数の overrides 属性に付加されます。

パラメータ:
  • _cattrs_forbid_extra_keys (bool | Literal['from_converter']) -- 不明なキーが発生した場合に、ストラクチャリング関数が ForbiddenExtraKeysError を発生させるかどうか。

  • _cattrs_use_linecache (bool) -- ソースコードを Python の linecache に保存するかどうか。

  • _cattrs_prefer_attrib_converters (bool | Literal['from_converter']) -- フィールドに _attrs_ コンバーターが存在する場合、フィールドを通常どおりに処理する代わりに、それを使用します。

  • _cattrs_detailed_validation (bool | Literal['from_converter']) -- より詳細なエラーを生成する低速モードを使用するかどうか。

  • _cattrs_use_alias (bool) -- true の場合、属性エイリアスはデフォルトで辞書のキーとして使用されます。

  • _cattrs_include_init_false (bool) -- true の場合、init=False とマークされた _attrs_ フィールドが含まれます。

  • cl (type[T])

  • converter (BaseConverter)

  • kwargs (AttributeOverride)

戻り値の型:

DictStructureFn[T]

Added in version 23.2.0: _cattrs_use_alias

Added in version 23.2.0: _cattrs_include_init_false

バージョン 23.2.0 で変更: _cattrs_forbid_extra_keys および _cattrs_detailed_validation パラメーターは、デフォルトで指定されたコンバーターから値を取得します。

バージョン 24.1.0 で変更: _cattrs_prefer_attrib_converters パラメーターは、デフォルトで指定されたコンバーターから値を取得します。

cattrs.gen.make_iterable_unstructure_fn(cl, converter, unstructure_to=None)

イテラブルをアンストラクチャリングするためのフックファクトリ。

パラメータ:
  • unstructure_to (Any) -- 提供されている場合、この型へのアンストラクチャリングを強制します。

  • cl (Any)

  • converter (BaseConverter)

戻り値の型:

UnstructureHook

cattrs.gen.make_hetero_tuple_unstructure_fn(cl, converter, unstructure_to=None, type_args=None)[ソース]

異種タプルのための特殊なアンストラクチャリング関数を生成します。

パラメータ:
  • type_args (tuple | None) -- 指定されている場合、型引数をオーバーライドします。

  • cl (Any)

  • converter (BaseConverter)

  • unstructure_to (Any)

戻り値の型:

HeteroTupleUnstructureFn

cattrs.gen.make_mapping_unstructure_fn(cl, converter, unstructure_to=None, key_handler=None)[ソース]

マッピングのための特殊なアンストラクチャリング関数を生成します。

パラメータ:
  • cl (Any)

  • converter (BaseConverter)

  • unstructure_to (Any)

  • key_handler (Callable[[Any, Any | None], Any] | None)

戻り値の型:

MappingUnstructureFn

cattrs.gen.make_mapping_structure_fn(cl, converter, structure_to=<class 'dict'>, key_type=NOTHING, val_type=NOTHING, detailed_validation=True)

マッピングのための特殊なストラクチャリング関数を生成します。

パラメータ:
  • cl (type[T])

  • converter (BaseConverter)

  • structure_to (type)

  • detailed_validation (bool)

戻り値の型:

MappingStructureFn[T]

cattrs.gen.make_dict_unstructure_fn_from_attrs(attrs, cl, converter, typevar_map={}, _cattrs_omit_if_default=False, _cattrs_use_linecache=True, _cattrs_use_alias=False, _cattrs_include_init_false=False, **kwargs)[ソース]

属性のリストのための特殊な dict アンストラクチャリング関数を生成します。

通常、より特殊なフックファクトリの構成要素として使用されます。

指定されたオーバーライドはすべて、生成された関数の overrides 属性に付加されます。

パラメータ:
  • cl (type) -- 関数が生成されるクラス。主に、その名前、モジュール名、および qualname に使用されます。

  • _cattrs_omit_if_default (bool) -- true の場合、属性のデフォルト値と同じ値は結果の辞書で省略されます。

  • _cattrs_use_alias (bool) -- true の場合、属性エイリアスはデフォルトで辞書のキーとして使用されます。

  • _cattrs_include_init_false (bool) -- true の場合、init=False とマークされた _attrs_ フィールドが含まれます。

  • attrs (list[Attribute])

  • converter (BaseConverter)

  • typevar_map (dict[str, Any])

  • _cattrs_use_linecache (bool)

  • kwargs (AttributeOverride)

戻り値の型:

Callable[[T], dict[str, Any]]

Added in version 24.1.0.

cattrs.gen.make_dict_structure_fn_from_attrs(attrs, cl, converter, typevar_map={}, _cattrs_forbid_extra_keys='from_converter', _cattrs_use_linecache=True, _cattrs_prefer_attrib_converters='from_converter', _cattrs_detailed_validation='from_converter', _cattrs_use_alias=False, _cattrs_include_init_false=False, **kwargs)[ソース]

属性のリストのための特殊な dict ストラクチャリング関数を生成します。

通常、より特殊なフックファクトリの構成要素として使用されます。

指定されたオーバーライドはすべて、生成された関数の overrides 属性に付加されます。

パラメータ:
  • _cattrs_forbid_extra_keys (bool | Literal['from_converter']) -- 不明なキーが発生した場合に、ストラクチャリング関数が ForbiddenExtraKeysError を発生させるかどうか。

  • _cattrs_use_linecache (bool) -- ソースコードを Python の linecache に保存するかどうか。

  • _cattrs_prefer_attrib_converters (bool | Literal['from_converter']) -- フィールドに _attrs_ コンバーターが存在する場合、フィールドを通常どおりに処理する代わりに、それを使用します。

  • _cattrs_detailed_validation (bool | Literal['from_converter']) -- より詳細なエラーを生成する低速モードを使用するかどうか。

  • _cattrs_use_alias (bool) -- true の場合、属性エイリアスはデフォルトで辞書のキーとして使用されます。

  • _cattrs_include_init_false (bool) -- true の場合、init=False とマークされた _attrs_ フィールドが含まれます。

  • attrs (list[Attribute])

  • cl (type)

  • converter (BaseConverter)

  • typevar_map (dict[str, Any])

  • kwargs (AttributeOverride)

戻り値の型:

DictStructureFn[T]

Added in version 24.1.0.

サブモジュール

cattrs.gen.typeddicts モジュール

cattrs.gen.typeddicts.make_dict_unstructure_fn(cl, converter, _cattrs_use_linecache=True, **kwargs)[ソース]

TypedDict のための特殊な dict アンストラクチャリング関数を生成します。

パラメータ:
  • cl (type[T]) -- TypedDict クラス。

  • converter (BaseConverter) -- ネストされたフィールドのアンストラクチャリングに使用する Converter インスタンス。

  • kwargs (AttributeOverride) -- カスタマイズのために、フィールド名を AttributeOverride にマッピングします。

  • _cattrs_detailed_validation -- デバッグを容易にし、スタックトレースを改善するために、生成されたコードを _linecache_ に保存するかどうか。

  • _cattrs_use_linecache (bool)

戻り値の型:

Callable[[T], dict[str, Any]]

cattrs.gen.typeddicts.make_dict_structure_fn(cl, converter, _cattrs_forbid_extra_keys='from_converter', _cattrs_use_linecache=True, _cattrs_detailed_validation='from_converter', **kwargs)[ソース]

型付き dict のための特殊な dict ストラクチャリング関数を生成します。

パラメータ:
  • cl (Any) -- TypedDict クラス。

  • converter (BaseConverter) -- ネストされたフィールドのストラクチャリングに使用する Converter インスタンス。

  • kwargs (AttributeOverride) -- カスタマイズのために、フィールド名を AttributeOverride にマッピングします。

  • _cattrs_detailed_validation (bool | Literal['from_converter']) -- より詳細なエラーを生成する低速モードを使用するかどうか。

  • _cattrs_forbid_extra_keys (bool | Literal['from_converter']) -- 不明なキーが発生した場合に、ストラクチャリング関数が ForbiddenExtraKeysError を発生させるかどうか。

  • _cattrs_detailed_validation -- デバッグを容易にし、スタックトレースを改善するために、生成されたコードを _linecache_ に保存するかどうか。

  • _cattrs_use_linecache (bool)

戻り値の型:

Callable[[dict, Any], Any]

バージョン 23.2.0 で変更: _cattrs_forbid_extra_keys および _cattrs_detailed_validation パラメーターは、デフォルトで指定されたコンバーターから値を取得します。