cattrs.preconf パッケージ

cattrs.preconf.validate_datetime(v, _)[ソース]
cattrs.preconf.wrap(_)[ソース]

Converter__init__ をタイプセーフな方法でラップします。

パラメータ:

_ (Callable[[~P], Any])

戻り値の型:

Callable[[Callable[[...], T]], Callable[[~P], T]]

サブモジュール

cattrs.preconf.bson モジュール

bson 用にあらかじめ設定されたコンバーター。

class cattrs.preconf.bson.Base85Bytes[ソース]

ベースクラス: bytes

バイナリキーのエンコード/デコードを支援するサブクラス。

class cattrs.preconf.bson.BsonConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>)[ソース]

ベースクラス: Converter

パラメータ:
  • detailed_validation (bool) -- 詳細な検証エラーのために、わずかに遅いモードを使用するかどうか。

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) -- 登録されている非構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • structure_fallback_factory (HookFactory[StructureHook]) -- 登録されている構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, Callable])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

dumps(obj, unstructure_as=None, check_keys=False, codec_options=(<class 'dict'>, False, 0, 'strict', None, TypeRegistry(type_codecs=[], fallback_encoder=None), DatetimeConversion.DATETIME))[ソース]
パラメータ:
  • obj (Any)

  • unstructure_as (Any)

  • check_keys (bool)

  • codec_options (CodecOptions)

戻り値の型:

bytes

loads(data, cl, codec_options=(<class 'dict'>, False, 0, 'strict', None, TypeRegistry(type_codecs=[], fallback_encoder=None), DatetimeConversion.DATETIME))[ソース]
パラメータ:
  • data (bytes)

  • cl (Type[T])

  • codec_options (CodecOptions)

戻り値の型:

T

omit_if_default
forbid_extra_keys
type_overrides
cattrs.preconf.bson.configure_converter(converter)[ソース]

bson ライブラリで使用するようにコンバーターを設定します。

  • セットはリストとしてシリアライズされます

  • バイトマッピングキーは、非構造化時に base85 でエンコードされて文字列になり、逆もまた同様です

  • 文字列でもバイトでもないマッピングキーは、非構造化時に文字列に強制変換されます

  • bson.ObjectId のデシリアライゼーションフックはデフォルトで登録されます

パラメータ:

converter (BaseConverter)

cattrs.preconf.bson.make_converter(*args, **kwargs)[ソース]
パラメータ:
  • args (Any)

  • kwargs (Any)

戻り値の型:

BsonConverter

cattrs.preconf.cbor2 モジュール

cbor2 用にあらかじめ設定されたコンバーター。

class cattrs.preconf.cbor2.Cbor2Converter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>)[ソース]

ベースクラス: Converter

パラメータ:
  • detailed_validation (bool) -- 詳細な検証エラーのために、わずかに遅いモードを使用するかどうか。

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) -- 登録されている非構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • structure_fallback_factory (HookFactory[StructureHook]) -- 登録されている構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, Callable])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

dumps(obj, unstructure_as=None, **kwargs)[ソース]
パラメータ:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

戻り値の型:

bytes

loads(data, cl, **kwargs)[ソース]
パラメータ:
  • data (bytes)

  • cl (Type[T])

  • kwargs (Any)

戻り値の型:

T

omit_if_default
forbid_extra_keys
type_overrides
cattrs.preconf.cbor2.configure_converter(converter)[ソース]

cbor2 ライブラリで使用するようにコンバーターを設定します。

  • 日時はタイムスタンプ浮動小数点数としてシリアライズされます

  • セットはリストとしてシリアライズされます

パラメータ:

converter (BaseConverter)

cattrs.preconf.cbor2.make_converter(*args, **kwargs)[ソース]
パラメータ:
  • args (Any)

  • kwargs (Any)

戻り値の型:

Cbor2Converter

cattrs.preconf.json モジュール

stdlib json 用にあらかじめ設定されたコンバーター。

class cattrs.preconf.json.JsonConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>)[ソース]

ベースクラス: Converter

パラメータ:
  • detailed_validation (bool) -- 詳細な検証エラーのために、わずかに遅いモードを使用するかどうか。

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) -- 登録されている非構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • structure_fallback_factory (HookFactory[StructureHook]) -- 登録されている構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, Callable])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

dumps(obj, unstructure_as=None, **kwargs)[ソース]
パラメータ:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

戻り値の型:

str

loads(data, cl, **kwargs)[ソース]
パラメータ:
  • data (bytes | str)

  • cl (Type[T])

  • kwargs (Any)

戻り値の型:

T

omit_if_default
forbid_extra_keys
type_overrides
cattrs.preconf.json.configure_converter(converter)[ソース]

stdlib json モジュールで使用するようにコンバーターを設定します。

  • バイトは base85 文字列としてシリアライズされます

  • 日時は ISO 8601 としてシリアライズされます

  • カウンターは辞書としてシリアライズされます

  • セットはリストとしてシリアライズされます

  • union passthrough は、文字列、bool、int、float、および None の union に対して構成されます

パラメータ:

converter (BaseConverter)

cattrs.preconf.json.make_converter(*args, **kwargs)[ソース]
パラメータ:
  • args (Any)

  • kwargs (Any)

戻り値の型:

JsonConverter

cattrs.preconf.msgpack モジュール

msgpack 用にあらかじめ設定されたコンバーター。

class cattrs.preconf.msgpack.MsgpackConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>)[ソース]

ベースクラス: Converter

パラメータ:
  • detailed_validation (bool) -- 詳細な検証エラーのために、わずかに遅いモードを使用するかどうか。

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) -- 登録されている非構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • structure_fallback_factory (HookFactory[StructureHook]) -- 登録されている構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, Callable])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

dumps(obj, unstructure_as=None, **kwargs)[ソース]
パラメータ:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

戻り値の型:

bytes

loads(data, cl, **kwargs)[ソース]
パラメータ:
  • data (bytes)

  • cl (Type[T])

  • kwargs (Any)

戻り値の型:

T

omit_if_default
forbid_extra_keys
type_overrides
cattrs.preconf.msgpack.configure_converter(converter)[ソース]

msgpack ライブラリで使用するようにコンバーターを設定します。

  • 日時はタイムスタンプ浮動小数点数としてシリアライズされます

  • セットはリストとしてシリアライズされます

パラメータ:

converter (BaseConverter)

cattrs.preconf.msgpack.make_converter(*args, **kwargs)[ソース]
パラメータ:
  • args (Any)

  • kwargs (Any)

戻り値の型:

MsgpackConverter

cattrs.preconf.msgspec モジュール

msgspec 用にあらかじめ設定されたコンバーター。

class cattrs.preconf.msgspec.MsgspecJsonConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>)[ソース]

ベースクラス: Converter

_msgspec_ ライブラリに特化したコンバーター。

パラメータ:
  • detailed_validation (bool) -- 詳細な検証エラーのために、わずかに遅いモードを使用するかどうか。

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) -- 登録されている非構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • structure_fallback_factory (HookFactory[StructureHook]) -- 登録されている構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, Callable])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

encoder: Encoder = <msgspec.json.Encoder object>

ダンプ用の msgspec エンコーダー。

dumps(obj, unstructure_as=None, **kwargs)[ソース]

obj を非構造化して JSON バイトにエンコードします。

パラメータ:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

戻り値の型:

bytes

get_dumps_hook(unstructure_as, **kwargs)[ソース]

指定された型の dumps フックを生成します。

パラメータ:
  • unstructure_as (Any)

  • kwargs (Any)

戻り値の型:

Callable[[Any], bytes]

loads(data, cl, **kwargs)[ソース]

提供された JSON バイトから cl をデコードして構造化します。

パラメータ:
  • data (bytes)

  • cl (type[T])

  • kwargs (Any)

戻り値の型:

T

get_loads_hook(cl)[ソース]

指定された型の loads フックを生成します。

パラメータ:

cl (type[T])

戻り値の型:

Callable[[bytes], T]

omit_if_default
forbid_extra_keys
type_overrides
cattrs.preconf.msgspec.configure_converter(converter)[ソース]

msgspec ライブラリで使用するようにコンバーターを設定します。

  • バイトは base64 文字列としてシリアライズされ、msgspec によって直接処理されます

  • 日時と日付は、RFC 3339 として直接シリアライズされるように渡されます

  • enum は msgspec に直接渡されます

  • str、bool、int、float、None に対して union passthrough が構成されています

パラメータ:

converter (Converter)

戻り値の型:

None

cattrs.preconf.msgspec.make_converter(*args, **kwargs)[ソース]
パラメータ:
  • args (Any)

  • kwargs (Any)

戻り値の型:

MsgspecJsonConverter

cattrs.preconf.orjson モジュール

orjson 用にあらかじめ設定されたコンバーター。

class cattrs.preconf.orjson.OrjsonConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>)[ソース]

ベースクラス: Converter

パラメータ:
  • detailed_validation (bool) -- 詳細な検証エラーのために、わずかに遅いモードを使用するかどうか。

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) -- 登録されている非構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • structure_fallback_factory (HookFactory[StructureHook]) -- 登録されている構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, Callable])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

dumps(obj, unstructure_as=None, **kwargs)[ソース]
パラメータ:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

戻り値の型:

bytes

loads(data, cl)[ソース]
パラメータ:
  • data (bytes | bytearray | memoryview | str)

  • cl (Type[T])

戻り値の型:

T

omit_if_default
forbid_extra_keys
type_overrides
cattrs.preconf.orjson.configure_converter(converter)[ソース]

orjson ライブラリで使用するようにコンバーターを設定します。

  • バイトは base85 文字列としてシリアライズされます

  • 日時と日付は、orjson によって RFC 3339 としてシリアライズされるように渡されます

  • 型付き namedtuple はリストとしてシリアライズされます

  • セットはリストとしてシリアライズされます

  • 文字列 enum マッピングキーは特別な処理を必要とします

  • マッピングキーは、非構造化時に文字列に強制変換されます

パラメータ:

converter (BaseConverter)

cattrs.preconf.orjson.make_converter(*args, **kwargs)[ソース]
パラメータ:
  • args (Any)

  • kwargs (Any)

戻り値の型:

OrjsonConverter

cattrs.preconf.pyyaml モジュール

pyyaml 用にあらかじめ設定されたコンバーター。

cattrs.preconf.pyyaml.validate_date(v, _)[ソース]
class cattrs.preconf.pyyaml.PyyamlConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>)[ソース]

ベースクラス: Converter

パラメータ:
  • detailed_validation (bool) -- 詳細な検証エラーのために、わずかに遅いモードを使用するかどうか。

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) -- 登録されている非構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • structure_fallback_factory (HookFactory[StructureHook]) -- 登録されている構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, Callable])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

dumps(obj, unstructure_as=None, **kwargs)[ソース]
パラメータ:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

戻り値の型:

str

loads(data, cl)[ソース]
パラメータ:
  • data (str)

  • cl (Type[T])

戻り値の型:

T

omit_if_default
forbid_extra_keys
type_overrides
cattrs.preconf.pyyaml.configure_converter(converter)[ソース]

pyyaml ライブラリで使用するようにコンバーターを設定します。

  • frozenset はリストとしてシリアライズされます

  • 文字列 enum は明示的に文字列に変換されます

  • 日時と日付は検証されます

  • 型付き namedtuple はリストとしてシリアライズされます

パラメータ:

converter (BaseConverter)

cattrs.preconf.pyyaml.make_converter(*args, **kwargs)[ソース]
パラメータ:
  • args (Any)

  • kwargs (Any)

戻り値の型:

PyyamlConverter

cattrs.preconf.tomlkit モジュール

tomlkit 用にあらかじめ設定されたコンバーター。

class cattrs.preconf.tomlkit.TomlkitConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>)[ソース]

ベースクラス: Converter

パラメータ:
  • detailed_validation (bool) -- 詳細な検証エラーのために、わずかに遅いモードを使用するかどうか。

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) -- 登録されている非構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • structure_fallback_factory (HookFactory[StructureHook]) -- 登録されている構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, Callable])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

dumps(obj, unstructure_as=None, **kwargs)[ソース]
パラメータ:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

戻り値の型:

str

loads(data, cl)[ソース]
パラメータ:
  • data (str)

  • cl (Type[T])

戻り値の型:

T

omit_if_default
forbid_extra_keys
type_overrides
cattrs.preconf.tomlkit.configure_converter(converter)[ソース]

tomlkit ライブラリで使用するようにコンバーターを設定します。

  • バイトは base85 文字列としてシリアライズされます

  • セットはリストとしてシリアライズされます

  • タプルはリストとしてシリアライズされます

  • マッピングキーは、非構造化時に文字列に強制変換されます

パラメータ:

converter (BaseConverter)

cattrs.preconf.tomlkit.make_converter(*args, **kwargs)[ソース]
パラメータ:
  • args (Any)

  • kwargs (Any)

戻り値の型:

TomlkitConverter

cattrs.preconf.ujson モジュール

ujson 用にあらかじめ設定されたコンバーター。

class cattrs.preconf.ujson.UjsonConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>)[ソース]

ベースクラス: Converter

パラメータ:
  • detailed_validation (bool) -- 詳細な検証エラーのために、わずかに遅いモードを使用するかどうか。

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) -- 登録されている非構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • structure_fallback_factory (HookFactory[StructureHook]) -- 登録されている構造化フックが一致しない場合に呼び出されるフックファクトリ。

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, Callable])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

dumps(obj, unstructure_as=None, **kwargs)[ソース]
パラメータ:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

戻り値の型:

str

loads(data, cl, **kwargs)[ソース]
パラメータ:
  • data (AnyStr)

  • cl (Type[T])

  • kwargs (Any)

戻り値の型:

T

omit_if_default
forbid_extra_keys
type_overrides
cattrs.preconf.ujson.configure_converter(converter)[ソース]

ujson ライブラリで使用するようにコンバーターを設定します。

  • バイトは base64 文字列としてシリアライズされます

  • 日時は ISO 8601 としてシリアライズされます

  • セットはリストとしてシリアライズされます

パラメータ:

converter (BaseConverter)

cattrs.preconf.ujson.make_converter(*args, **kwargs)[ソース]
パラメータ:
  • args (Any)

  • kwargs (Any)

戻り値の型:

UjsonConverter