Upstream update available: python3-tomli 2.1.0 → 2.4.1 #1

Open
opened 2026-04-28 02:06:58 +03:00 by sbelikov · 0 comments
Owner

Upstream update available: python3-tomli 2.1.02.4.1

Package

  • Package: python3-tomli
  • RPM name: python3-tomli
  • Branch: niceos-5.2
  • Current EVR: 2.1.0-1
  • Update class: minor
  • Compare method: python_rpm
  • Update policy: leaf
  • Risk tags: standard

Upstream

Signals

  • Security-relevant keywords detected: False
  • Policy blocked: False
  • Policy reason: -
  • Labels: ai-summary, bot, needs-build, needs-triage, priority/medium, update/minor, upstream-update, upstream/pypi

NiceSOFT AI preliminary analysis

1. Краткий вывод

Входные данные указывают на обновление библиотеки python3-tomli с версии 2.1.0 до 2.4.1, классифицированное как минорное (minor). Размеченные данные не содержат информации о конкретных исправлениях безопасности, изменении ABI или критических багах, требующих немедленного вмешательства.

2. Риск для НАЙС.ОС

low. Обновление относится к утилитарной библиотеке парсинга конфигурационных файлов (TOML), которая обычно не является критической для стабильности ядра системы или безопасности. Классификация update_class: minor и отсутствие флагов security_keywords снижают уровень риска до минимального.

3. Security/CVE

Во входных данных отсутствуют явные упоминания CVE, идентификаторы уязвимостей или ключевые слова безопасности. Скрипт детекции безопасности не обнаружил признаков угроз. Факты о наличии или отсутствии конкретных CVE в этом релизе не могут быть подтверждены без анализа changelog самого проекта, который не предоставлен.

4. ABI/API риск

Данных недостаточно для оценки рисков изменения ABI/API. Хотя библиотека является чистым Python-кодом (или использует mypyc для бинарных колес), переход с 2.1.0 на 2.4.1 теоретически может включать изменения в сигнатурах функций или поведении парсера, если это не задокументировано в предоставленных заметках о выпуске. Требуется проверка документации upstream на предмет изменений совместимости.

5. Риск для RPM-сборки

Предоставленные данные не содержат информации о специфических проблемах сборки, таких как изменение зависимостей (BuildRequires), проблемы с генерацией бинарных колес через mypyc или поломка тестов (%check). Вероятность проблем со сборкой низка, но требует стандартной проверки при обновлении.

6. Проверки мейнтейнера

  • Сверить список изменений (changelog) на GitHub за период между 2.1.0 и 2.4.1 на наличие breaking changes.
  • Проверить, поддерживается ли текущая версия Python в дистрибутиве (библиотека совместима с Python < 3.11, где нет нативного tomllib).
  • Запустить %check в локальной среде сборки для подтверждения корректности компиляции и тестов.
  • Убедиться, что зависимости BuildRequires не изменились критически.

7. Рекомендация

update candidate

8. Основание рекомендации

Обновление классифицировано как минорное (minor) с низким уровнем риска и без признаков известных уязвимостей в предоставленных метаданных. Библиотека является стандартным инструментом для работы с конфигурацией, и отсутствие блокирующих факторов позволяет рекомендовать обновление как кандидата после стандартных проверок сборки.

Upstream release notes / description

A lil' TOML parser

Build Status
codecov.io
PyPI version

Tomli

A lil' TOML parser

Table of Contents generated with mdformat-toc

Intro

Tomli is a Python library for parsing TOML.
Version 2.4.0 and later are compatible with TOML v1.1.0.
Older versions are TOML v1.0.0 compatible.

A version of Tomli, the tomllib module,
was added to the standard library in Python 3.11
via PEP 680.
Tomli continues to provide a backport on PyPI for Python versions
where the standard library module is not available
and that have not yet reached their end-of-life.

Tomli uses mypyc
to generate binary wheels for most of the widely used platforms,
so Python 3.11+ users may prefer it over tomllib for improved performance.
Pure Python wheels are available on any platform and should perform the same as tomllib.

Installation

pip install tomli

Usage

Parse a TOML string

import tomli

toml_str = """
[[players]]
name = "Lehtinen"
number = 26

[[players]]
name = "Numminen"
number = 27
"""

toml_dict = tomli.loads(toml_str)
assert toml_dict == {
    "players": [{"name": "Lehtinen", "number": 26}, {"name": "Numminen", "number": 27}]
}

Parse a TOML file

import tomli

with open("path_to_file/conf.toml", "rb") as f:
    toml_dict = tomli.load(f)

The file must be opened in binary mode (with the "rb" flag).
Binary mode will enforce decoding the file as UTF-8 with universal newlines disabled,
both of which are required to correctly parse TOML.

Handle invalid TOML

import tomli

try:
    toml_dict = tomli.loads("]] this is invalid TOML [[")
except tomli.TOMLDecodeError:
    print("Yep, definitely not valid.")

Note that error messages are considered informational only.
They should not be assumed to stay constant across Tomli versions.

Construct decimal.Decimals from TOML floats

from decimal import Decimal
import tomli

toml_dict = tomli.loads("precision-matters = 0.982492", parse_float=Decimal)
assert isinstance(toml_dict["precision-matters"], Decimal)
assert toml_dict["precision-matters"] == Decimal("0.982492")

Note that decimal.Decimal can be replaced with another callable that converts a TOML float from string to a Python type.
The

NiceOS maintainer checklist

  • Confirm that the detected version is a stable upstream release.
  • Check upstream changelog for security fixes, ABI/API changes and build-system changes.
  • Check ABI/API compatibility and reverse dependencies.
  • Download source into NiceOS lookaside storage.
  • Update Version and related fields in SPECS/*.spec only if policy allows it.
  • Regenerate SOURCES/sources.lock.json, manifests, metadata and SBOM.
  • Build SRPM/RPM in a clean NiceOS buildroot.
  • Run package smoke tests.
  • Link PR/build logs and close this issue after update or triage.

Bot metadata

  • Tool: niceos_upstream_monitor.py 1.4
  • Generated at: 2026-04-27T23:06:58Z
<!-- niceos-upstream-monitor:fingerprint=upstream-update:python3-tomli:2.4.1 --> <!-- niceos-upstream-monitor:package=python3-tomli --> <!-- niceos-upstream-monitor:current=2.1.0 --> <!-- niceos-upstream-monitor:latest=2.4.1 --> # Upstream update available: `python3-tomli` `2.1.0` → `2.4.1` ## Package - Package: `python3-tomli` - RPM name: `python3-tomli` - Branch: `niceos-5.2` - Current EVR: `2.1.0-1` - Update class: `minor` - Compare method: `python_rpm` - Update policy: `leaf` - Risk tags: `standard` ## Upstream - Upstream type: `pypi` - Upstream project: `-` - Upstream URL: https://files.pythonhosted.org/packages/1e/e4/1b6cbcc82d8832dd0ce34767d5c560df8a3547ad8cbc427f34601415930a/tomli-2.1.0.tar.gz - Detected version: `2.4.1` - Tag/release: `2.4.1` - Source: `pypi_json` - Published: `2026-03-25T20:22:03.828102Z` - Release URL: https://pypi.org/project/tomli/ - Source URL: https://files.pythonhosted.org/packages/22/de/48c59722572767841493b26183a0d1cc411d54fd759c5607c4590b6563a6/tomli-2.4.1.tar.gz - Pre-release: `False` ## Signals - Security-relevant keywords detected: `False` - Policy blocked: `False` - Policy reason: `-` - Labels: `ai-summary, bot, needs-build, needs-triage, priority/medium, update/minor, upstream-update, upstream/pypi` ## NiceSOFT AI preliminary analysis ### 1. Краткий вывод Входные данные указывают на обновление библиотеки `python3-tomli` с версии 2.1.0 до 2.4.1, классифицированное как минорное (minor). Размеченные данные не содержат информации о конкретных исправлениях безопасности, изменении ABI или критических багах, требующих немедленного вмешательства. ### 2. Риск для НАЙС.ОС low. Обновление относится к утилитарной библиотеке парсинга конфигурационных файлов (TOML), которая обычно не является критической для стабильности ядра системы или безопасности. Классификация `update_class: minor` и отсутствие флагов `security_keywords` снижают уровень риска до минимального. ### 3. Security/CVE Во входных данных отсутствуют явные упоминания CVE, идентификаторы уязвимостей или ключевые слова безопасности. Скрипт детекции безопасности не обнаружил признаков угроз. Факты о наличии или отсутствии конкретных CVE в этом релизе не могут быть подтверждены без анализа changelog самого проекта, который не предоставлен. ### 4. ABI/API риск Данных недостаточно для оценки рисков изменения ABI/API. Хотя библиотека является чистым Python-кодом (или использует mypyc для бинарных колес), переход с 2.1.0 на 2.4.1 теоретически может включать изменения в сигнатурах функций или поведении парсера, если это не задокументировано в предоставленных заметках о выпуске. Требуется проверка документации upstream на предмет изменений совместимости. ### 5. Риск для RPM-сборки Предоставленные данные не содержат информации о специфических проблемах сборки, таких как изменение зависимостей (`BuildRequires`), проблемы с генерацией бинарных колес через mypyc или поломка тестов (`%check`). Вероятность проблем со сборкой низка, но требует стандартной проверки при обновлении. ### 6. Проверки мейнтейнера - Сверить список изменений (changelog) на GitHub за период между 2.1.0 и 2.4.1 на наличие breaking changes. - Проверить, поддерживается ли текущая версия Python в дистрибутиве (библиотека совместима с Python < 3.11, где нет нативного `tomllib`). - Запустить `%check` в локальной среде сборки для подтверждения корректности компиляции и тестов. - Убедиться, что зависимости `BuildRequires` не изменились критически. ### 7. Рекомендация update candidate ### 8. Основание рекомендации Обновление классифицировано как минорное (minor) с низким уровнем риска и без признаков известных уязвимостей в предоставленных метаданных. Библиотека является стандартным инструментом для работы с конфигурацией, и отсутствие блокирующих факторов позволяет рекомендовать обновление как кандидата после стандартных проверок сборки. ## Upstream release notes / description A lil' TOML parser [![Build Status](https://github.com/hukkin/tomli/actions/workflows/tests.yaml/badge.svg?branch=master)](https://github.com/hukkin/tomli/actions?query=workflow%3ATests+branch%3Amaster+event%3Apush) [![codecov.io](https://codecov.io/gh/hukkin/tomli/branch/master/graph/badge.svg)](https://codecov.io/gh/hukkin/tomli) [![PyPI version](https://img.shields.io/pypi/v/tomli)](https://pypi.org/project/tomli) # Tomli > A lil' TOML parser **Table of Contents** *generated with [mdformat-toc](https://github.com/hukkin/mdformat-toc)* <!-- mdformat-toc start --slug=github --maxlevel=6 --minlevel=2 --> - [Intro](#intro) - [Installation](#installation) - [Usage](#usage) - [Parse a TOML string](#parse-a-toml-string) - [Parse a TOML file](#parse-a-toml-file) - [Handle invalid TOML](#handle-invalid-toml) - [Construct `decimal.Decimal`s from TOML floats](#construct-decimaldecimals-from-toml-floats) - [Building a `tomli`/`tomllib` compatibility layer](#building-a-tomlitomllib-compatibility-layer) - [FAQ](#faq) - [Why this parser?](#why-this-parser) - [Is comment preserving round-trip parsing supported?](#is-comment-preserving-round-trip-parsing-supported) - [Is there a `dumps`, `write` or `encode` function?](#is-there-a-dumps-write-or-encode-function) - [How do TOML types map into Python types?](#how-do-toml-types-map-into-python-types) - [Performance](#performance) - [Mypyc generated wheel](#mypyc-generated-wheel) - [Pure Python](#pure-python) <!-- mdformat-toc end --> ## Intro<a name="intro"></a> Tomli is a Python library for parsing [TOML](https://toml.io). Version 2.4.0 and later are compatible with [TOML v1.1.0](https://toml.io/en/v1.1.0). Older versions are [TOML v1.0.0](https://toml.io/en/v1.0.0) compatible. A version of Tomli, the `tomllib` module, was added to the standard library in Python 3.11 via [PEP 680](https://www.python.org/dev/peps/pep-0680/). Tomli continues to provide a backport on PyPI for Python versions where the standard library module is not available and that have not yet reached their end-of-life. Tomli uses [mypyc](https://github.com/mypyc/mypyc) to generate binary wheels for most of the widely used platforms, so Python 3.11+ users may prefer it over `tomllib` for improved performance. Pure Python wheels are available on any platform and should perform the same as `tomllib`. ## Installation<a name="installation"></a> ```bash pip install tomli ``` ## Usage<a name="usage"></a> ### Parse a TOML string<a name="parse-a-toml-string"></a> ```python import tomli toml_str = """ [[players]] name = "Lehtinen" number = 26 [[players]] name = "Numminen" number = 27 """ toml_dict = tomli.loads(toml_str) assert toml_dict == { "players": [{"name": "Lehtinen", "number": 26}, {"name": "Numminen", "number": 27}] } ``` ### Parse a TOML file<a name="parse-a-toml-file"></a> ```python import tomli with open("path_to_file/conf.toml", "rb") as f: toml_dict = tomli.load(f) ``` The file must be opened in binary mode (with the `"rb"` flag). Binary mode will enforce decoding the file as UTF-8 with universal newlines disabled, both of which are required to correctly parse TOML. ### Handle invalid TOML<a name="handle-invalid-toml"></a> ```python import tomli try: toml_dict = tomli.loads("]] this is invalid TOML [[") except tomli.TOMLDecodeError: print("Yep, definitely not valid.") ``` Note that error messages are considered informational only. They should not be assumed to stay constant across Tomli versions. ### Construct `decimal.Decimal`s from TOML floats<a name="construct-decimaldecimals-from-toml-floats"></a> ```python from decimal import Decimal import tomli toml_dict = tomli.loads("precision-matters = 0.982492", parse_float=Decimal) assert isinstance(toml_dict["precision-matters"], Decimal) assert toml_dict["precision-matters"] == Decimal("0.982492") ``` Note that `decimal.Decimal` can be replaced with another callable that converts a TOML float from string to a Python type. The ## NiceOS maintainer checklist - [ ] Confirm that the detected version is a stable upstream release. - [ ] Check upstream changelog for security fixes, ABI/API changes and build-system changes. - [ ] Check ABI/API compatibility and reverse dependencies. - [ ] Download source into NiceOS lookaside storage. - [ ] Update `Version` and related fields in `SPECS/*.spec` only if policy allows it. - [ ] Regenerate `SOURCES/sources.lock.json`, manifests, metadata and SBOM. - [ ] Build SRPM/RPM in a clean NiceOS buildroot. - [ ] Run package smoke tests. - [ ] Link PR/build logs and close this issue after update or triage. ## Bot metadata - Tool: `niceos_upstream_monitor.py 1.4` - Generated at: `2026-04-27T23:06:58Z`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rpms/python3-tomli#1
No description provided.