CodeSampleX

Beispiel

orjson 3.11.9: Swap json for orjson on Alpine, without the wheel surprise or the silent output changes

Verifiziertes Beispiel für pypi orjson 3.11.9: Swap json for orjson on Alpine, without the wheel surprise or the silent output changes. Der Vertrag lief auf…

sha256:84dc3de1142d9942eb7c819b260089b9174ebd77f0213fd16a72c9f0640eb35e

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 3.12 linux · musl x64 python 3.12 python pip

Umgebungen der Verifizierungsläufe

Umgebung Contract Stufen Lauf
python 3.12 · linux alpine/x64 · docker ed25519:a2ec939a4c60e243 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · pypi@1
2026-08-14
python 3.12 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · pypi@1
2026-08-18

Fall

MIGRATION
Ziel
Swap json for orjson on Alpine, without the wheel surprise or the silent output changes
Pakete
Symbole
  • orjson.dumps
  • orjson.loads
  • orjson.OPT_SORT_KEYS
  • orjson.OPT_NON_STR_KEYS
  • orjson.OPT_INDENT_2
  • orjson.OPT_UTC_Z
  • orjson.JSONEncodeError
  • orjson.JSONDecodeError
  • json.dumps
Umgebung
python 3.12
Erstellt
2026-08-14T08:53:26Z

Contract

  1. assert pip took the musllinux wheel, orjson-3.11.9-cp312-cp312-musllinux_1_2_x86_64.whl, reconstructed from the recorded dist-info tag
  2. assert the distribution is a compiled extension, not pure Python, whose filename is this interpreter's own EXT_SUFFIX, and declares no runtime dependencies of its own
  3. assert the extension needs exactly one library, libc.so, and no file of that name exists under any directory the loader searches
  4. assert musl's loader resolves that name to itself, which is the only reason the extension imports
  5. assert no CPython library is linked, so the Py symbols are resolved from the interpreter that imports it
  6. assert the same ELF reader finds the versioned musl soname and libpython in the interpreter binary, so the reading is real
  7. assert the interpreter itself reports musl, with musl's loader present and glibc's absent
  8. assert orjson.dumps returns bytes where json.dumps returns str, with no separator spaces and no \uXXXX escaping
  9. assert OPT_INDENT_2 puts the space after the colon back and matches json.dumps(indent=2) byte for byte
  10. assert there is no orjson.dump or orjson.load, so writing to a file is the caller's job
  11. assert datetime, date, time and UUID serialize natively as RFC 3339 with +00:00 unless OPT_UTC_Z, where json raises TypeError
  12. assert orjson accepts default as its second positional argument and json.dumps refuses a positional there, the reverse of the usual warning
  13. assert every other json.dumps keyword is a TypeError, and sort_keys is instead option=OPT_SORT_KEYS with the same code point ordering
  14. assert orjson.JSONEncodeError is builtins.TypeError itself while JSONDecodeError is a real subclass of json.JSONDecodeError
  15. assert non-str dict keys raise unless OPT_NON_STR_KEYS, while json coerces them silently and loses a value when two keys collide
  16. assert nan and infinity serialize as null with the default hook never consulted, while json emits tokens orjson then refuses to read back
  17. assert a walk over the payload finds the non-finite floats orjson will not report
  18. assert a non-finite Decimal raises instead of vanishing, until a default hook floats it and it becomes null too
  19. assert integers outside -2**63 through 2**64-1 raise where json prints them

Dateien

  • csx.json
  • requirements.txt
  • src/__init__.py
  • src/serialize.py
  • src/wheel.py
  • test/contract.py

Quellartefakt herunterladen (tar.gz)

Ursprungs-Seeder

anonymous