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

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. 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