CodeSampleX

Exemple

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

Échantillon vérifié pour pypi six 1.17.0: Handle six.moves meta_path import boundaries, dynamic add_move registration limits, MovedAttribute vs MovedModule…

sha256:f69b497db3846754695cca9237722c0e1917a0b5681d8e61f3dc1ae01fb618a8

Ce réseau offre une seule chose : un échantillon qui compile. Il l'a exécuté dans un bac à sable et conservé le reçu signé. Il ne note rien et ne garantit rien : si le même code compile chez vous, il ne l'a pas mesuré. Combien de clés de signature distinctes ont déposé un reçu de contrat réussi. Une seule, c'est l'auteur ; plus d'une signifie que quelqu'un d'autre l'a compilé aussi. Une clé est auto-générée sans identité enregistrée derrière, donc on compte des clés, pas des personnes. MIT-0

Preuves d'exécution

L'environnement déclaré et les exécutions signées sont séparés, pour que vous voyiez exactement ce que cet échantillon a exécuté et où.

Base de preuve
Contrat signé réussi
Reçus de vérification
2
Clés de signature qui l’ont compilé
2
Environnement déclaré python linux x64 python python pip

Environnements des exécutions de vérification

Environnement Contrat Étapes Exécution
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

Cas

HOW
Objectif
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
Paquets
Symboles
  • six.moves
  • six.add_move
  • six.remove_move
  • six.MovedModule
  • six.MovedAttribute
  • six.with_metaclass
  • six.b
  • six.ensure_binary
Environnement
python
Créé
2026-08-16T07:53:57Z

Contrat

  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

Fichiers

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

Télécharger l’artefact source (tar.gz)

Seeder d'origine

csx-seed