Upstream update available: python3-pytz 2024.1 → 2026.1.post1 #1

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

Upstream update available: python3-pytz 2024.12026.1.post1

Package

  • Package: python3-pytz
  • RPM name: python3-pytz
  • Branch: niceos-5.2
  • Current EVR: 2024.1-1
  • Update class: major
  • 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/high, update/major, upstream-update, upstream/pypi

NiceSOFT AI preliminary analysis

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

Предлагается обновление библиотеки python3-pytz с версии 2024.1 до 2026.1.post1, что классифицируется как мажорное обновление (major). Согласно официальным заметкам о выпуске, новая версия не содержит функциональных изменений, а лишь обновляет метаданные и версию, оставаясь обратно совместимой.

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

low. Обновление является минорным по сути (только номер версии), не меняет функциональность или поведение библиотеки. Библиотека устарела и рекомендуется заменять на стандартные возможности Python 3.9+, но её прямое обновление не несет критических рисков для стабильности системы.

3. Security/CVE

Во входных данных отсутствуют признаки уязвимостей безопасности или упоминания CVE. Поле security_keywords_detected_by_script равно False, а в тексте релиз-нотов нет предупреждений о исправлении багов безопасности.

4. ABI/API риск

Вероятность риска низкая, так как это обновление только номера версии без изменения кода. Однако, учитывая статус пакета как устаревшего (deprecated в пользу stdlib), формальный ABI/API анализ не требуется, но подтверждение отсутствия изменений в публичном API через тесты сборки рекомендуется.

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

Учитывая, что это обновление только номера версии (patch release in terms of functionality), риск поломки spec-файла, патчей или зависимостей (BuildRequires) минимален. Стандартные механизмы сборки RPM должны корректно обработать изменение версии.

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

  • Запустить rpmlint на обновленном пакете для проверки синтаксиса spec-файла.
  • Выполнить локальную сборку пакета (rpmbuild -ba).
  • Провести базовые unit-тесты пакета (если они есть в исходном коде или в дистрибутиве) для подтверждения работы функций локализации времени.
  • Убедиться, что зависимости python3-pytz не конфликтуют с новыми версиями Python в репозитории.

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

update candidate

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

Обновление классифицировано как мажорное только формально (изменение номера версии), но фактически представляет собой патч-уровневое обновление без изменений функциональности. Отсутствуют угрозы безопасности, ABI-слом и риски для сборки. Автоматическое обновление безопасно после стандартной проверки сборки.

Upstream release notes / description

World timezone definitions, modern and historical

pytz - World Timezone Definitions for Python

:Author: Stuart Bishop stuart@stuartbishop.net

Introduction


pytz brings the Olson tz database into Python. This library allows
accurate and cross platform timezone calculations using Python 2.4
or higher. It also solves the issue of ambiguous times at the end
of daylight saving time, which you can read more about in the Python
Library Reference (``datetime.tzinfo``).

Almost all of the Olson timezones are supported.

.. note::

    Projects using Python 3.9 or later should be using the support
    now included as part of the standard library, and third party
    packages work with it such as `tzdata <https://pypi.org/project/tzdata/>`_.
    pytz offers no advantages beyond backwards compatibility with
    code written for earlier versions of Python.

.. note::

    This library differs from the documented Python API for
    tzinfo implementations; if you want to create local wallclock
    times you need to use the ``localize()`` method documented in this
    document. In addition, if you perform date arithmetic on local
    times that cross DST boundaries, the result may be in an incorrect
    timezone (ie. subtract 1 minute from 2002-10-27 1:00 EST and you get
    2002-10-27 0:59 EST instead of the correct 2002-10-27 1:59 EDT). A
    ``normalize()`` method is provided to correct this. Unfortunately these
    issues cannot be resolved without modifying the Python datetime
    implementation (see PEP-431).


Installation

This package can either be installed using pip or from a tarball using the
standard Python distutils.

If you are installing using pip, you don't need to download anything as the
latest version will be downloaded for you from PyPI::

pip install pytz

If you are installing from a tarball, run the following command as an
administrative user::

python setup.py install

pytz for Enterprise


Available as part of the Tidelift Subscription.

The maintainers of pytz and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. `Learn more. <https://tidelift.com/subscription/pkg/pypi-pytz?utm_source=pypi-pytz&utm_medium=referral&utm_campaign=enterprise&utm_term=repo>`_.


Example & Usage
~~~~~~~~~~~~~~~

Localized times and date arithmetic
-----------------------------------

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'

This library only supports two ways of building a localized time. The
first is to use the ``localize()`` method provided by the pytz library.
This is used to localize a naive datetime (datetime with no timezone
information):

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500

The second way of building a localized time is by converting an existing
localized time using the standard ``astimezone()`` method:

>>> ams_dt = loc_dt.astimezone(amsterdam)
>>> ams_dt.strftime(fmt)
'2002-10-27 12:00:00 CET+0100'

Unfortunately using the tzinfo argument of the standard datetime
constructors ''does not work'' with pytz for many timezones.

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)  # /!\ Does not work this way!
'2002-10-27 12:00:00 LMT+0018'

It is safe for timezones without daylight saving transitions though, such
as UTC:

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=pytz.utc).strftime(fmt)  # /!\ Not recommended except for UTC
'2002-10-27 12:00:00 UTC+0000'

The preferred way of dealing with times is to always w

## 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:01:58Z`
<!-- niceos-upstream-monitor:fingerprint=upstream-update:python3-pytz:2026.1.post1 --> <!-- niceos-upstream-monitor:package=python3-pytz --> <!-- niceos-upstream-monitor:current=2024.1 --> <!-- niceos-upstream-monitor:latest=2026.1.post1 --> # Upstream update available: `python3-pytz` `2024.1` → `2026.1.post1` ## Package - Package: `python3-pytz` - RPM name: `python3-pytz` - Branch: `niceos-5.2` - Current EVR: `2024.1-1` - Update class: `major` - Compare method: `python_rpm` - Update policy: `leaf` - Risk tags: `standard` ## Upstream - Upstream type: `pypi` - Upstream project: `-` - Upstream URL: https://files.pythonhosted.org/packages/source/p/pytz/pytz-2024.1.tar.gz - Detected version: `2026.1.post1` - Tag/release: `2026.1.post1` - Source: `pypi_json` - Published: `2026-03-03T07:47:50.683095Z` - Release URL: https://pypi.org/project/pytz/ - Source URL: https://files.pythonhosted.org/packages/56/db/b8721d71d945e6a8ac63c0fc900b2067181dbb50805958d4d4661cf7d277/pytz-2026.1.post1.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/high, update/major, upstream-update, upstream/pypi` ## NiceSOFT AI preliminary analysis ### 1. Краткий вывод Предлагается обновление библиотеки `python3-pytz` с версии 2024.1 до 2026.1.post1, что классифицируется как мажорное обновление (major). Согласно официальным заметкам о выпуске, новая версия не содержит функциональных изменений, а лишь обновляет метаданные и версию, оставаясь обратно совместимой. ### 2. Риск для НАЙС.ОС **low**. Обновление является минорным по сути (только номер версии), не меняет функциональность или поведение библиотеки. Библиотека устарела и рекомендуется заменять на стандартные возможности Python 3.9+, но её прямое обновление не несет критических рисков для стабильности системы. ### 3. Security/CVE Во входных данных отсутствуют признаки уязвимостей безопасности или упоминания CVE. Поле `security_keywords_detected_by_script` равно `False`, а в тексте релиз-нотов нет предупреждений о исправлении багов безопасности. ### 4. ABI/API риск Вероятность риска низкая, так как это обновление только номера версии без изменения кода. Однако, учитывая статус пакета как устаревшего (deprecated в пользу stdlib), формальный ABI/API анализ не требуется, но подтверждение отсутствия изменений в публичном API через тесты сборки рекомендуется. ### 5. Риск для RPM-сборки Учитывая, что это обновление только номера версии (patch release in terms of functionality), риск поломки spec-файла, патчей или зависимостей (`BuildRequires`) минимален. Стандартные механизмы сборки RPM должны корректно обработать изменение версии. ### 6. Проверки мейнтейнера - [ ] Запустить `rpmlint` на обновленном пакете для проверки синтаксиса spec-файла. - [ ] Выполнить локальную сборку пакета (`rpmbuild -ba`). - [ ] Провести базовые unit-тесты пакета (если они есть в исходном коде или в дистрибутиве) для подтверждения работы функций локализации времени. - [ ] Убедиться, что зависимости `python3-pytz` не конфликтуют с новыми версиями Python в репозитории. ### 7. Рекомендация update candidate ### 8. Основание рекомендации Обновление классифицировано как мажорное только формально (изменение номера версии), но фактически представляет собой патч-уровневое обновление без изменений функциональности. Отсутствуют угрозы безопасности, ABI-слом и риски для сборки. Автоматическое обновление безопасно после стандартной проверки сборки. ## Upstream release notes / description World timezone definitions, modern and historical pytz - World Timezone Definitions for Python ============================================ :Author: Stuart Bishop <stuart@stuartbishop.net> Introduction ~~~~~~~~~~~~ pytz brings the Olson tz database into Python. This library allows accurate and cross platform timezone calculations using Python 2.4 or higher. It also solves the issue of ambiguous times at the end of daylight saving time, which you can read more about in the Python Library Reference (``datetime.tzinfo``). Almost all of the Olson timezones are supported. .. note:: Projects using Python 3.9 or later should be using the support now included as part of the standard library, and third party packages work with it such as `tzdata <https://pypi.org/project/tzdata/>`_. pytz offers no advantages beyond backwards compatibility with code written for earlier versions of Python. .. note:: This library differs from the documented Python API for tzinfo implementations; if you want to create local wallclock times you need to use the ``localize()`` method documented in this document. In addition, if you perform date arithmetic on local times that cross DST boundaries, the result may be in an incorrect timezone (ie. subtract 1 minute from 2002-10-27 1:00 EST and you get 2002-10-27 0:59 EST instead of the correct 2002-10-27 1:59 EDT). A ``normalize()`` method is provided to correct this. Unfortunately these issues cannot be resolved without modifying the Python datetime implementation (see PEP-431). Installation ~~~~~~~~~~~~ This package can either be installed using ``pip`` or from a tarball using the standard Python distutils. If you are installing using ``pip``, you don't need to download anything as the latest version will be downloaded for you from PyPI:: pip install pytz If you are installing from a tarball, run the following command as an administrative user:: python setup.py install pytz for Enterprise ~~~~~~~~~~~~~~~~~~~ Available as part of the Tidelift Subscription. The maintainers of pytz and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. `Learn more. <https://tidelift.com/subscription/pkg/pypi-pytz?utm_source=pypi-pytz&utm_medium=referral&utm_campaign=enterprise&utm_term=repo>`_. Example & Usage ~~~~~~~~~~~~~~~ Localized times and date arithmetic ----------------------------------- >>> from datetime import datetime, timedelta >>> from pytz import timezone >>> import pytz >>> utc = pytz.utc >>> utc.zone 'UTC' >>> eastern = timezone('US/Eastern') >>> eastern.zone 'US/Eastern' >>> amsterdam = timezone('Europe/Amsterdam') >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z' This library only supports two ways of building a localized time. The first is to use the ``localize()`` method provided by the pytz library. This is used to localize a naive datetime (datetime with no timezone information): >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-0500 The second way of building a localized time is by converting an existing localized time using the standard ``astimezone()`` method: >>> ams_dt = loc_dt.astimezone(amsterdam) >>> ams_dt.strftime(fmt) '2002-10-27 12:00:00 CET+0100' Unfortunately using the tzinfo argument of the standard datetime constructors ''does not work'' with pytz for many timezones. >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) # /!\ Does not work this way! '2002-10-27 12:00:00 LMT+0018' It is safe for timezones without daylight saving transitions though, such as UTC: >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=pytz.utc).strftime(fmt) # /!\ Not recommended except for UTC '2002-10-27 12:00:00 UTC+0000' The preferred way of dealing with times is to always w ## 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:01: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-pytz#1
No description provided.