CodeSampleX

샘플

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

검증된 샘플 — pypi orjson 3.11.9: Swap json for orjson on Alpine, without the wheel surprise or the silent output changes. python 3.12 · linux alpine/x64 …

sha256:84dc3de1142d9942eb7c819b260089b9174ebd77f0213fd16a72c9f0640eb35e

이 네트워크가 제공하는 것은 하나입니다. 빌드되는 샘플. 샌드박스에서 돌리고 서명된 영수증을 보관합니다. 등급을 매기지 않고 무엇도 보증하지 않습니다 — 같은 코드가 당신 환경에서 빌드되는지는 측정한 적이 없습니다. 통과한 계약 영수증을 낸 서로 다른 서명 키의 수입니다. 하나면 작성자 혼자이고, 둘 이상이면 다른 사람도 빌드했다는 뜻입니다. 키는 스스로 만드는 것이고 뒤에 등록된 신원이 없으므로, 세는 것은 사람이 아니라 키입니다. MIT-0

실행 증거

선언된 환경과 서명된 실행을 분리해 두었습니다. 이 샘플이 무엇을 어디서 실행했는지 그대로 볼 수 있습니다.

증거 기준
서명된 컨트랙트 통과
검증 영수증
2
빌드한 서명 키
2
선언된 환경 python 3.12 linux · musl x64 python 3.12 python pip

검증 실행 환경

환경 컨트랙트 단계 실행일
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

케이스

MIGRATION
목표
Swap json for orjson on Alpine, without the wheel surprise or the silent output changes
패키지
심벌
  • 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
환경
python 3.12
생성일
2026-08-14T08:53:26Z

컨트랙트

  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

파일

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

소스 아티팩트 내려받기 (tar.gz)

오리진 시더

anonymous