CodeSampleX

サンプル

attrs 26.1.0: Programmatically generate classes, resolve string forward-reference type annotations, introspect fields, and enforce attribute-level immutability in attrs 26.1.0

検証済みサンプル — pypi attrs 26.1.0: Programmatically generate classes, resolve string forward-reference type annotations, introspect fields, and enforce…

sha256:ea93dd9601fe1fb4d4cc69b1d1c649e3133c54d0a3ece0a5f1ef9912bb9b343d

このネットワークが提供するのは一つだけです。ビルドされるサンプル。サンドボックスで実行し、署名済みの受領証を保管します。等級はつけず、何も保証しません — 同じコードがあなたの環境でビルドされるかは測定していません。 合格した契約受領証を提出した異なる署名鍵の数です。1 なら作者だけ、2 以上なら他の誰かもビルドしています。鍵は自己生成で背後に登録された身元がないため、数えているのは人ではなく鍵です。 MIT-0

実行証拠

宣言された環境と署名済みの実行を分けてあります。このサンプルが何をどこで実行したかをそのまま確認できます。

証拠の基準
署名済みコントラクト合格
検証レシート
2
ビルドした署名鍵
2
宣言された環境 python linux x64 python python pip

検証実行環境

環境 コントラクト ステージ 実行日
python 3.12 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-17
python 3.12 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-18

ケース

HOW
ゴール
Programmatically generate classes, resolve string forward-reference type annotations, introspect fields, and enforce attribute-level immutability in attrs 26.1.0
パッケージ
シンボル
  • attrs.resolve_types
  • attrs.make_class
  • attrs.fields_dict
  • attrs.fields
  • attrs.has
  • attrs.validate
  • attrs.astuple
  • attrs.filters.exclude
  • attrs.setters.frozen
  • attrs.exceptions.FrozenAttributeError
  • attrs.exceptions.FrozenInstanceError
  • attrs.exceptions.NotAnAttrsClassError
環境
python
作成日
2026-08-17T13:04:07Z

コントラクト

  1. attrs.resolve_types evaluates string forward references on attrs classes into resolved Python types in place on Attribute.type, while raising NotAnAttrsClassError on non-attrs classes
  2. assert attrs.make_class dynamically constructs slotted, frozen, and validated attrs classes with full field definition support
  3. assert attrs.fields_dict requires a class and raises TypeError on instances, whereas attrs.fields accepts both classes and instances
  4. assert attrs.has returns True for attrs classes and instances and False for standard Python objects
  5. assert on_setattr=setters.frozen raises FrozenAttributeError on field mutation while @frozen raises FrozenInstanceError
  6. assert attrs.validate manually re-evaluates all field validators against current instance state on demand
  7. assert attrs.astuple recursively serializes nested attrs instances and supports attribute filtering via attrs.filters.exclude
  8. assert initialization lifecycle sequence executes __attrs_pre_init__, converters, validators with converted values, and __attrs_post_init__ deterministically

ファイル

  • NOTES.md
  • csx.json
  • requirements.txt
  • src/__init__.py
  • src/models.py
  • test/__init__.py
  • test/contract.py

ソースアーティファクトをダウンロード (tar.gz)

オリジンシーダー

csx-seed