Upstream update available: python3-pathspec 0.12.1 → 1.1.1 #1
Labels
No labels
ai-summary
bot
needs-build
needs-triage
priority/high
update/major
upstream-update
upstream/pypi
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
rpms/python3-pathspec#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Upstream update available:
python3-pathspec0.12.1→1.1.1Package
python3-pathspecpython3-pathspecniceos-5.20.12.1-1majorpython_rpmleafstandardUpstream
pypi-1.1.11.1.1pypi_json2026-04-27T01:46:08.907631ZFalseSignals
FalseFalse-ai-summary, bot, needs-build, needs-triage, priority/high, update/major, upstream-update, upstream/pypiNiceSOFT AI preliminary analysis
1. Краткий вывод
Обнаружено обновление библиотеки
python3-pathspecс версии 0.12.1 до 1.1.1, которое классифицируется как мажорное (major). Обновление затрагивает API и поведение библиотеки, что требует тщательной проверки совместимости с существующими приложениями дистрибутива. Автоматическое применение обновления не рекомендуется без предварительного анализа зависимостей.2. Риск для НАЙС.ОС
medium.
Обновление является мажорным (
update_class: major), что подразумевает вероятные изменения в публичном API или внутреннем поведении библиотеки. Поскольку пакет помечен какleaf(не является критической базовой зависимостью вроде glibc или kernel), прямой риск для стабильности системы ниже, чем у toolchain, но риск поломки приложений, использующих эту библиотеку, остается значительным из-за смены мажорной версии.3. Security/CVE
Во входных данных отсутствуют признаки уязвимостей безопасности. Поле
security_keywords_detected_by_scriptравноFalse, а список CVE не предоставлен. Текст релиз-нотов описывает функциональные улучшения и документацию, но не упоминает исправления уязвимостей.4. ABI/API риск
Высокий риск изменений API. Переход с версии 0.x на 1.x часто сопровождается изменением сигнатур функций, удалением устаревших методов или изменением поведения по умолчанию. Для точной оценки необходимо сравнить исходный код версий 0.12.1 и 1.1.1, а также проверить все места использования этого пакета в коде дистрибутива. Без ручного анализа утверждать о конкретных изменениях невозможно.
5. Риск для RPM-сборки
Поскольку это библиотека Python, основные риски связаны с:
BuildRequires), если новая версия требует другие версии системных библиотек (например,hyperscanилиre2, упомянутые в релиз-нотах как опциональные бэкенды).%check, если они зависят от конкретного поведения API, изменившегося при мажорном обновлении.setuptoolsили механизмом сборки, если структура проекта в tarball изменилась существенно.6. Проверки мейнтейнера
python3-pathspecв репозитории НАЙС.ОС.pathspec.7. Рекомендация
issue-only
8. Основание рекомендации
Обновление классифицировано как мажорное (
major), что автоматически блокирует автоматическое применение. Отсутствие данных о CVE и явных указаний на безопасность не позволяет рекомендовать обновление как кандидата. Необходим ручной анализ изменений API и проверка зависимостей перед любым обновлением.Upstream release notes / description
Utility library for gitignore style pattern matching of file paths.
PathSpec
pathspec is a utility library for pattern matching of file paths. So far this
only includes Git's
gitignore_ pattern matching... _
gitignore: http://git-scm.com/docs/gitignoreTutorial
Say you have a "Projects" directory and you want to back it up, but only
certain files, and ignore others depending on certain conditions::
The
PathSpecclass provides an abstraction around pattern implementations,and we want to compile our patterns as "gitignore" patterns. You could call it a
wrapper for a list of compiled patterns::
If we wanted to manually compile the patterns, we can use the
GitIgnoreBasicPatternclass directly. It is used in the background for "gitignore" which internally
converts patterns to regular expressions::
PathSpec.from_lines()is a class method which simplifies that.If you want to load the patterns from file, you can pass the file object
directly as well::
You can perform matching on a whole directory tree with::
Or you can perform matching on a specific set of file paths with::
Or check to see if an individual file matches::
There's actually two implementations of "gitignore". The basic implementation is
used by
PathSpecand follows patterns as documented bygitignore_.However, Git's behavior differs from the documented patterns. There's some
edge-cases, and in particular, Git allows including files from excluded
directories which appears to contradict the documentation.
GitIgnoreSpechandles these cases to more closely replicate Git's behavior::
You do not specify the style of pattern for
GitIgnoreSpecbecause it shouldalways use
GitIgnoreSpecPatterninternally.Performance
Running lots of regular expression matches against thousands of files in Python
is slow. Alternate regular expression backends can be used to improve
performance.
PathSpecandGitIgnoreSpecboth accept abackendparameter to control the backend. The default is "best" to automatically choose
the best available backend. There are currently 3 backends.
The "simple" backend is the default and it simply uses Python's
re.Patternobjects that are normally created. This can be the fastest when there's only 1
or 2 patterns.
The "hyperscan" backend uses the
hyperscan_ library. Hyperscan tends to be atleast 2 times faster than "simple", and generally slower than "re2". This can be
faster than "re2" under the right conditions with pattern counts of 1-25.
The "re2" backen
NiceOS maintainer checklist
Versionand related fields inSPECS/*.speconly if policy allows it.SOURCES/sources.lock.json, manifests, metadata and SBOM.Bot metadata
niceos_upstream_monitor.py 1.42026-04-27T22:57:27Z