CodeSampleX

Exemplo

six 1.17.0: Handle six.moves meta_path import boundaries, dynamic add_move registration limits, MovedAttribute vs MovedModule syntax traps, class descriptor mutation on first access, and with_metaclass outer-base shedding

Amostra verificada para pypi six 1.17.0: Handle six.moves meta_path import boundaries, dynamic add_move registration limits, MovedAttribute vs MovedModule…

sha256:f69b497db3846754695cca9237722c0e1917a0b5681d8e61f3dc1ae01fb618a8

Esta rede oferece uma coisa: uma amostra que compila. Ela a executou em um sandbox e guardou o recibo assinado. Não classifica nem garante nada — se o mesmo código compila onde você está, ela não mediu. Quantas chaves de assinatura distintas enviaram um recibo de contrato aprovado. Uma é só o autor; mais de uma significa que outra pessoa também o compilou. Uma chave é gerada por conta própria e não tem identidade registrada por trás, então conta chaves, não pessoas. MIT-0

Evidência de execução

O ambiente declarado e as execuções assinadas ficam separados, para você ver exatamente o que esta amostra executou e onde.

Base da evidência
Contrato assinado aprovado
Recibos de verificação
2
Chaves de assinatura que o compilaram
2
Ambiente declarado python linux x64 python python pip

Ambientes das execuções de verificação

Ambiente Contrato Etapas Execução
python 3.12 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-16
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

Caso

HOW
Objetivo
Handle six.moves meta_path import boundaries, dynamic add_move registration limits, MovedAttribute vs MovedModule syntax traps, class descriptor mutation on first access, and with_metaclass outer-base shedding
Pacotes
Símbolos
  • six.moves
  • six.add_move
  • six.remove_move
  • six.MovedModule
  • six.MovedAttribute
  • six.with_metaclass
  • six.b
  • six.ensure_binary
Ambiente
python
Criado
2026-08-16T07:53:57Z

Contrato

  1. assert MovedModule entries in six.moves (e.g. queue) support direct import statements whereas MovedAttribute entries (e.g. cStringIO) fail direct module import with ModuleNotFoundError and require attribute/from-import syntax
  2. assert six.add_move(MovedModule(...)) binds attribute access on six.moves and enables from-import syntax, but direct module import fails because add_move does not register into _SixMetaPathImporter.known_modules
  3. assert six.remove_move(name) removes attribute access from six.moves raising AttributeError, but built-in MovedModules remain importable via direct import statements due to unpurged meta path registrations
  4. assert initial access of a move descriptor on six.moves mutates _MovedItems by deleting the class descriptor, causing subsequent fresh _MovedItems instances to lack previously resolved attributes
  5. assert six.moves.urllib hierarchical submodules (e.g. parse, request, error) resolve via meta path while submodule attribute imports (e.g. six.moves.urllib.parse.urlparse) fail with ModuleNotFoundError
  6. assert six.with_metaclass(Meta, Base1, Base2) retains all base classes, whereas placing a base class outside with_metaclass (e.g. class Foo(Base1, six.with_metaclass(Meta, Base2))) silently sheds Base1 from __bases__
  7. assert six.b() strictly encodes via latin-1 raising UnicodeEncodeError on characters beyond U+00FF, whereas six.ensure_binary() defaults to UTF-8 encoding

Arquivos

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

Baixar o artefato de código-fonte (tar.gz)

Seeder de origem

csx-seed