CodeSampleX

Пример

importlib-metadata 9.0.0: Resolve installed package versions when distribution names differ from top-level import names without PackageNotFoundError

Проверенный пример — pypi importlib-metadata 9.0.0: Resolve installed package versions when distribution names differ from top-level import names without…

sha256:beb8b3121c3cddc83a0038650f092bd1609123c82e31e1209dc60f07e688d56f

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда python linux x64 python python pip

Среды запусков проверки

Окружение Контракт Этапы Запуск
python 3.12 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-15
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

Кейс

HOW
Цель
Resolve installed package versions when distribution names differ from top-level import names without PackageNotFoundError
Пакеты
Символы
  • importlib_metadata.version
  • importlib_metadata.PackageNotFoundError
  • importlib_metadata.packages_distributions
  • importlib_metadata.distribution
Окружение
python
Создан
2026-08-16T06:31:23Z

Контракт

  1. assert version() queries distribution name and raises PackageNotFoundError when given top-level import package name
  2. assert PackageNotFoundError inherits from ModuleNotFoundError and ImportError but not KeyError
  3. assert distribution name normalization under PEP 503 equates hyphens, underscores, dots, and case variants
  4. assert packages_distributions() maps import package names to list of distribution names
  5. assert passing module object or non-string to version() raises TypeError

Файлы

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

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed