Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-tempora for openSUSE:Factory checked in at 2025-07-15 16:43:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-tempora (Old) and /work/SRC/openSUSE:Factory/.python-tempora.new.7373 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tempora" Tue Jul 15 16:43:05 2025 rev:25 rq:1293089 version:5.8.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-tempora/python-tempora.changes 2025-04-11 16:44:57.722639936 +0200 +++ /work/SRC/openSUSE:Factory/.python-tempora.new.7373/python-tempora.changes 2025-07-15 16:43:43.731587829 +0200 @@ -1,0 +2,27 @@ +Mon Jul 14 09:19:18 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to 5.9.0 + * Bump badge for 2025. + * Removing dependabot config. Closes jaraco/skeleton#156 + * Add support for building lxml on pre-release Pythons. + * Fix new mandatory configuration field for RTD (jaraco/skeleton#159) + * Select Ruff rules for modern type annotations (jaraco/skeleton#160) + * Consistent import sorting (isort) (jaraco/skeleton#157) + * Enable ruff rules ISC001/ISC002 (jaraco/skeleton#158) + * remove extra spaces in ruff.toml (jaraco/skeleton#164) + * Remove pycodestyle warnings, no longer meaningful when using ruff formatter. + * Update to the latest ruff version (jaraco/skeleton#166) + * Remove deprecated license classifier (PEP 639) (jaraco/skeleton#170) + * Remove workaround and update badge. + * Remove PIP_NO_PYTHON_VERSION_WARNING. + * Replace copy of license with an SPDX identifier. (jaraco/skeleton#171) + * Python 3 is the default nowadays (jaraco/skeleton#173) + * Add coherent.licensed plugin to inject license texts into the build. + * Revert "Python 3 is the default nowadays (jaraco/skeleton#173)" (jaraco/skeleton#175) + * Bump to setuptools 77 or later. + * Feed the hobgoblins (delint). + * Remove timedelta rendering workaround and thus conftest, no longer needed. + * Finalize +- Update BuildRequires from pyproject.toml + +------------------------------------------------------------------- Old: ---- tempora-5.8.0.tar.gz New: ---- tempora-5.8.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-tempora.spec ++++++ --- /var/tmp/diff_new_pack.RzrOCS/_old 2025-07-15 16:43:44.543618028 +0200 +++ /var/tmp/diff_new_pack.RzrOCS/_new 2025-07-15 16:43:44.547618177 +0200 @@ -23,19 +23,19 @@ %endif %{?sle15_python_module_pythons} Name: python-tempora -Version: 5.8.0 +Version: 5.8.1 Release: 0 Summary: Objects and routines pertaining to date and time (tempora) License: MIT URL: https://github.com/jaraco/tempora Source: https://files.pythonhosted.org/packages/source/t/tempora/tempora-%{version}.tar.gz -BuildRequires: %{python_module base >= 3.8} +BuildRequires: %{python_module base >= 3.9} BuildRequires: %{python_module freezegun} BuildRequires: %{python_module jaraco.functools >= 1.20} BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest > 4.6} BuildRequires: %{python_module pytest-freezegun} -BuildRequires: %{python_module setuptools >= 56} +BuildRequires: %{python_module setuptools >= 77} BuildRequires: %{python_module setuptools_scm >= 3.4.1} BuildRequires: %{python_module toml} BuildRequires: %{python_module tzdata} ++++++ tempora-5.8.0.tar.gz -> tempora-5.8.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/.github/dependabot.yml new/tempora-5.8.1/.github/dependabot.yml --- old/tempora-5.8.0/.github/dependabot.yml 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/.github/dependabot.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "pip" - directory: "/" - schedule: - interval: "daily" - allow: - - dependency-type: "all" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/.github/workflows/main.yml new/tempora-5.8.1/.github/workflows/main.yml --- old/tempora-5.8.0/.github/workflows/main.yml 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/.github/workflows/main.yml 2025-06-21 19:03:54.000000000 +0200 @@ -21,7 +21,6 @@ # Suppress noisy pip warnings PIP_DISABLE_PIP_VERSION_CHECK: 'true' - PIP_NO_PYTHON_VERSION_WARNING: 'true' PIP_NO_WARN_SCRIPT_LOCATION: 'true' # Ensure tests can sense settings about the environment @@ -56,8 +55,15 @@ continue-on-error: ${{ matrix.python == '3.14' }} steps: - uses: actions/checkout@v4 + - name: Install build dependencies + # Install dependencies for building packages on pre-release Pythons + # jaraco/skeleton#161 + if: matrix.python == '3.14' && matrix.platform == 'ubuntu-latest' + run: | + sudo apt update + sudo apt install -y libxml2-dev libxslt-dev - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} allow-prereleases: true @@ -79,7 +85,7 @@ with: fetch-depth: 0 - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: 3.x - name: Install tox @@ -113,7 +119,7 @@ steps: - uses: actions/checkout@v4 - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: 3.x - name: Install tox diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/.pre-commit-config.yaml new/tempora-5.8.1/.pre-commit-config.yaml --- old/tempora-5.8.0/.pre-commit-config.yaml 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/.pre-commit-config.yaml 2025-06-21 19:03:54.000000000 +0200 @@ -1,6 +1,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.7.1 + rev: v0.9.9 hooks: - id: ruff args: [--fix, --unsafe-fixes] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/.readthedocs.yaml new/tempora-5.8.1/.readthedocs.yaml --- old/tempora-5.8.0/.readthedocs.yaml 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/.readthedocs.yaml 2025-06-21 19:03:54.000000000 +0200 @@ -5,6 +5,9 @@ extra_requirements: - doc +sphinx: + configuration: docs/conf.py + # required boilerplate readthedocs/readthedocs.org#10401 build: os: ubuntu-lts-latest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/LICENSE new/tempora-5.8.1/LICENSE --- old/tempora-5.8.0/LICENSE 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/LICENSE 2025-06-21 19:04:09.000000000 +0200 @@ -1,17 +1,18 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +MIT License -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Copyright (c) 2025 <copyright holders> -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/NEWS.rst new/tempora-5.8.1/NEWS.rst --- old/tempora-5.8.0/NEWS.rst 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/NEWS.rst 2025-06-21 19:03:54.000000000 +0200 @@ -1,3 +1,9 @@ +v5.8.1 +====== + +No significant changes. + + v5.8.0 ====== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/PKG-INFO new/tempora-5.8.1/PKG-INFO --- old/tempora-5.8.0/PKG-INFO 2024-12-30 22:18:01.035245400 +0100 +++ new/tempora-5.8.1/PKG-INFO 2025-06-21 19:04:09.709749700 +0200 @@ -1,12 +1,12 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.4 Name: tempora -Version: 5.8.0 +Version: 5.8.1 Summary: Objects and routines pertaining to date and time (tempora) Author-email: "Jason R. Coombs" <jar...@jaraco.com> +License-Expression: MIT Project-URL: Source, https://github.com/jaraco/tempora Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only Requires-Python: >=3.9 @@ -36,6 +36,7 @@ Provides-Extra: type Requires-Dist: pytest-mypy; extra == "type" Requires-Dist: types-python-dateutil; extra == "type" +Dynamic: license-file .. image:: https://img.shields.io/pypi/v/tempora.svg :target: https://pypi.org/project/tempora @@ -46,14 +47,14 @@ :target: https://github.com/jaraco/tempora/actions?query=workflow%3A%22tests%22 :alt: tests -.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json +.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json :target: https://github.com/astral-sh/ruff :alt: Ruff .. image:: https://readthedocs.org/projects/tempora/badge/?version=latest :target: https://tempora.readthedocs.io/en/latest/?badge=latest -.. image:: https://img.shields.io/badge/skeleton-2024-informational +.. image:: https://img.shields.io/badge/skeleton-2025-informational :target: https://blog.jaraco.com/skeleton .. image:: https://tidelift.com/badges/package/pypi/tempora diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/README.rst new/tempora-5.8.1/README.rst --- old/tempora-5.8.0/README.rst 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/README.rst 2025-06-21 19:03:54.000000000 +0200 @@ -7,14 +7,14 @@ :target: https://github.com/jaraco/tempora/actions?query=workflow%3A%22tests%22 :alt: tests -.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json +.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json :target: https://github.com/astral-sh/ruff :alt: Ruff .. image:: https://readthedocs.org/projects/tempora/badge/?version=latest :target: https://tempora.readthedocs.io/en/latest/?badge=latest -.. image:: https://img.shields.io/badge/skeleton-2024-informational +.. image:: https://img.shields.io/badge/skeleton-2025-informational :target: https://blog.jaraco.com/skeleton .. image:: https://tidelift.com/badges/package/pypi/tempora diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/conftest.py new/tempora-5.8.1/conftest.py --- old/tempora-5.8.0/conftest.py 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/conftest.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -import sys -import operator - - -def pytest_collection_modifyitems(session, config, items): - remove_parse_timedelta(items) - - -def remove_parse_timedelta(items): # pragma: nocover - """ - Repr on older Pythons is different, so remove the offending - test. - """ - if sys.version_info > (3, 7): - return - names = list(map(operator.attrgetter('name'), items)) - del items[names.index('tempora.parse_timedelta')] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/pyproject.toml new/tempora-5.8.1/pyproject.toml --- old/tempora-5.8.0/pyproject.toml 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/pyproject.toml 2025-06-21 19:03:54.000000000 +0200 @@ -1,5 +1,10 @@ [build-system] -requires = ["setuptools>=61.2", "setuptools_scm[toml]>=3.4.1"] +requires = [ + "setuptools>=77", + "setuptools_scm[toml]>=3.4.1", + # jaraco/skeleton#174 + "coherent.licensed", +] build-backend = "setuptools.build_meta" [project] @@ -12,11 +17,11 @@ classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", ] requires-python = ">=3.9" +license = "MIT" dependencies = [ "jaraco.functools>=1.20", "python-dateutil", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/ruff.toml new/tempora-5.8.1/ruff.toml --- old/tempora-5.8.0/ruff.toml 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/ruff.toml 2025-06-21 19:03:54.000000000 +0200 @@ -1,13 +1,31 @@ -# extend pyproject.toml for requires-python (workaround astral-sh/ruff#10299) -extend = "pyproject.toml" - [lint] extend-select = [ - "C901", - "PERF401", - "W", + # upstream + + "C901", # complex-structure + "I", # isort + "PERF401", # manual-list-comprehension + + # Ensure modern type annotation syntax and best practices + # Not including those covered by type-checkers or exclusive to Python 3.11+ + "FA", # flake8-future-annotations + "F404", # late-future-import + "PYI", # flake8-pyi + "UP006", # non-pep585-annotation + "UP007", # non-pep604-annotation + "UP010", # unnecessary-future-import + "UP035", # deprecated-import + "UP037", # quoted-annotation + "UP043", # unnecessary-default-type-args + + # local ] ignore = [ + # upstream + + # Typeshed rejects complex or non-literal defaults for maintenance and testing reasons, + # irrelevant to this project. + "PYI011", # typed-argument-default-in-stub # https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules "W191", "E111", @@ -21,8 +39,8 @@ "Q003", "COM812", "COM819", - "ISC001", - "ISC002", + + # local ] [format] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/tempora/__init__.py new/tempora-5.8.1/tempora/__init__.py --- old/tempora-5.8.0/tempora/__init__.py 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/tempora/__init__.py 2025-06-21 19:03:54.000000000 +0200 @@ -9,7 +9,7 @@ import re import time from collections.abc import Iterable, Iterator, Sequence -from typing import TYPE_CHECKING, Tuple, Union, cast +from typing import TYPE_CHECKING, Union, cast import dateutil.parser import dateutil.tz @@ -49,7 +49,7 @@ AnyDatetime: TypeAlias = Union[datetime.datetime, datetime.date, datetime.time] -StructDatetime: TypeAlias = Union[Tuple[int, ...], time.struct_time] +StructDatetime: TypeAlias = Union[tuple[int, ...], time.struct_time] def ensure_datetime(ob: AnyDatetime) -> datetime.datetime: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/tempora.egg-info/PKG-INFO new/tempora-5.8.1/tempora.egg-info/PKG-INFO --- old/tempora-5.8.0/tempora.egg-info/PKG-INFO 2024-12-30 22:18:00.000000000 +0100 +++ new/tempora-5.8.1/tempora.egg-info/PKG-INFO 2025-06-21 19:04:09.000000000 +0200 @@ -1,12 +1,12 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.4 Name: tempora -Version: 5.8.0 +Version: 5.8.1 Summary: Objects and routines pertaining to date and time (tempora) Author-email: "Jason R. Coombs" <jar...@jaraco.com> +License-Expression: MIT Project-URL: Source, https://github.com/jaraco/tempora Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only Requires-Python: >=3.9 @@ -36,6 +36,7 @@ Provides-Extra: type Requires-Dist: pytest-mypy; extra == "type" Requires-Dist: types-python-dateutil; extra == "type" +Dynamic: license-file .. image:: https://img.shields.io/pypi/v/tempora.svg :target: https://pypi.org/project/tempora @@ -46,14 +47,14 @@ :target: https://github.com/jaraco/tempora/actions?query=workflow%3A%22tests%22 :alt: tests -.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json +.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json :target: https://github.com/astral-sh/ruff :alt: Ruff .. image:: https://readthedocs.org/projects/tempora/badge/?version=latest :target: https://tempora.readthedocs.io/en/latest/?badge=latest -.. image:: https://img.shields.io/badge/skeleton-2024-informational +.. image:: https://img.shields.io/badge/skeleton-2025-informational :target: https://blog.jaraco.com/skeleton .. image:: https://tidelift.com/badges/package/pypi/tempora diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/tempora.egg-info/SOURCES.txt new/tempora-5.8.1/tempora.egg-info/SOURCES.txt --- old/tempora-5.8.0/tempora.egg-info/SOURCES.txt 2024-12-30 22:18:01.000000000 +0100 +++ new/tempora-5.8.1/tempora.egg-info/SOURCES.txt 2025-06-21 19:04:09.000000000 +0200 @@ -6,7 +6,6 @@ NEWS.rst README.rst SECURITY.md -conftest.py mypy.ini pyproject.toml pytest.ini @@ -14,7 +13,6 @@ towncrier.toml tox.ini .github/FUNDING.yml -.github/dependabot.yml .github/workflows/main.yml docs/conf.py docs/history.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/tests/test_schedule.py new/tempora-5.8.1/tests/test_schedule.py --- old/tempora-5.8.0/tests/test_schedule.py 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/tests/test_schedule.py 2025-06-21 19:03:54.000000000 +0200 @@ -1,15 +1,14 @@ -import time -import random import datetime +import random +import time import zoneinfo from unittest import mock -import pytest import freezegun +import pytest from tempora import schedule - do_nothing = type(None) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tempora-5.8.0/tests/test_timing.py new/tempora-5.8.1/tests/test_timing.py --- old/tempora-5.8.0/tests/test_timing.py 2024-12-30 22:17:45.000000000 +0100 +++ new/tempora-5.8.1/tests/test_timing.py 2025-06-21 19:03:54.000000000 +0200 @@ -1,10 +1,11 @@ -import datetime -import time import contextlib +import datetime import os +import time from unittest import mock import pytest + from tempora import timing