CodeSampleX

Пример

packaging 24.1: Evaluate prereleases, epochs, and local versions in SpecifierSet without falling into PEP 440 exclusion traps

Проверенный пример — pypi packaging 24.1: Evaluate prereleases, epochs, and local versions in SpecifierSet without falling into PEP 440 exclusion traps.…

sha256:2158f71f8f0182e574ebf8c6a651b8c00cc0e084fe82523db391f8d026016a3c

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. 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
Цель
Evaluate prereleases, epochs, and local versions in SpecifierSet without falling into PEP 440 exclusion traps
Пакеты
Символы
  • packaging.specifiers.SpecifierSet
  • packaging.specifiers.InvalidSpecifier
  • packaging.version.Version
Окружение
python
Создан
2026-08-15T15:14:05Z

Контракт

  1. assert SpecifierSet('<2.0') excludes '2.0a1' even with prereleases=True
  2. assert SpecifierSet('<=2.0') includes '2.0a1' with prereleases=True
  3. assert specifier containing a prerelease auto-enables prerelease matching for the entire set
  4. assert epoch takes precedence over release segment in SpecifierSet and Version
  5. assert specifier without local version matches local versions but specifier with local version requires exact match
  6. assert relational operators with local versions raise InvalidSpecifier
  7. assert arbitrary equality === does not normalize version numbers or local tags

Файлы

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

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

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

anonymous