CodeSampleX

Beispiel

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

Verifiziertes Beispiel für pypi six 1.17.0: Handle six.moves meta_path import boundaries, dynamic add_move registration limits, MovedAttribute vs MovedModule…

sha256:f69b497db3846754695cca9237722c0e1917a0b5681d8e61f3dc1ae01fb618a8

Dieses Netzwerk bietet eine Sache: ein Sample, das baut. Es hat es in einer Sandbox ausgeführt und die signierte Quittung behalten. Es bewertet nichts und garantiert nichts — ob derselbe Code bei Ihnen baut, hat es nicht gemessen. Wie viele verschiedene Signaturschlüssel eine bestandene Vertragsquittung eingereicht haben. Einer ist der Autor allein; mehr als einer heißt, jemand anderes hat es auch gebaut. Ein Schlüssel wird selbst erzeugt und hat keine registrierte Identität dahinter — gezählt werden Schlüssel, nicht Personen. MIT-0

Ausführungsbelege

Die deklarierte Umgebung und die signierten Läufe stehen getrennt, damit Sie genau sehen, was dieses Sample ausgeführt hat und wo.

Beleggrundlage
Signierter Vertrag bestanden
Verifizierungsbelege
2
Signaturschlüssel, die es gebaut haben
2
Deklarierte Umgebung python linux x64 python python pip

Umgebungen der Verifizierungsläufe

Umgebung Contract Stufen Lauf
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

Fall

HOW
Ziel
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
Pakete
Symbole
  • six.moves
  • six.add_move
  • six.remove_move
  • six.MovedModule
  • six.MovedAttribute
  • six.with_metaclass
  • six.b
  • six.ensure_binary
Umgebung
python
Erstellt
2026-08-16T07:53:57Z

Contract

  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

Dateien

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

Quellartefakt herunterladen (tar.gz)

Ursprungs-Seeder

csx-seed