Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-durationpy for openSUSE:Factory checked in at 2026-10-27 18:18:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-durationpy (Old) and /work/SRC/openSUSE:Factory/.python-durationpy.new.2252680 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-durationpy" Tue Oct 27 18:18:31 2026 rev:3 rq:1392614 version:0.11 Changes: -------- --- /work/SRC/openSUSE:Factory/python-durationpy/python-durationpy.changes 2025-05-23 14:27:36.613105979 +0200 +++ /work/SRC/openSUSE:Factory/.python-durationpy.new.2252680/python-durationpy.changes 2026-10-27 18:18:42.484961147 +0100 @@ -1,0 +2,8 @@ +Sat Oct 24 17:53:01 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to 0.11: + * from_str raises DurationError on out-of-range durations + instead of leaking OverflowError + * Document day, week, month and year units in README + +------------------------------------------------------------------- Old: ---- durationpy-0.10.tar.gz New: ---- durationpy-0.11.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-durationpy.spec ++++++ --- /var/tmp/diff_new_pack.tC0abr/_old 2026-10-27 18:18:44.919062665 +0100 +++ /var/tmp/diff_new_pack.tC0abr/_new 2026-10-27 18:18:44.923062832 +0100 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-durationpy -Version: 0.10 +Version: 0.11 Release: 0 Summary: Module for converting between datetime.timedelta and Go's Duration strings # FIXME: Select a correct license from https://github.com/openSUSE/spec-cleaner#spdx-licenses ++++++ durationpy-0.10.tar.gz -> durationpy-0.11.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/durationpy-0.10/.gitignore new/durationpy-0.11/.gitignore --- old/durationpy-0.10/.gitignore 2025-05-17 15:51:51.000000000 +0200 +++ new/durationpy-0.11/.gitignore 2026-08-26 15:55:28.000000000 +0200 @@ -4,3 +4,4 @@ MANIFEST .python-version /durationpy.egg-info +/.venv/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/durationpy-0.10/Makefile new/durationpy-0.11/Makefile --- old/durationpy-0.10/Makefile 2025-05-17 15:51:51.000000000 +0200 +++ new/durationpy-0.11/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -build: clean - python3 setup.py sdist bdist_wheel - -clean: - rm -rf build dist *.egg-info - -publish: build - twine upload dist/* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/durationpy-0.10/README.md new/durationpy-0.11/README.md --- old/durationpy-0.10/README.md 2025-05-17 15:51:51.000000000 +0200 +++ new/durationpy-0.11/README.md 2026-08-26 15:55:28.000000000 +0200 @@ -17,6 +17,10 @@ * `s` - second * `m` - minute * `h` - hour +* `d` - day +* `w` - week +* `mm` - month +* `y` - year ``` py # parse diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/durationpy-0.10/durationpy/duration.py new/durationpy-0.11/durationpy/duration.py --- old/durationpy-0.10/durationpy/duration.py 2025-05-17 15:51:51.000000000 +0200 +++ new/durationpy-0.11/durationpy/duration.py 2026-08-26 15:55:28.000000000 +0200 @@ -70,7 +70,15 @@ "Invalid value {} in duration {}".format(value, original)) microseconds = total / _microsecond_size - return datetime.timedelta(microseconds=sign * microseconds) + try: + return datetime.timedelta(microseconds=sign * microseconds) + except (OverflowError, ValueError) as e: + # A huge value overflows timedelta's day count, and a value large enough + # to become float inf makes timedelta reject it too. Report either as a + # DurationError instead of leaking the raw exception. + raise DurationError( + "Duration out of range: {}".format(original) + ) from e def to_str(delta, extended=False): """Format a datetime.timedelta to a duration string""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/durationpy-0.10/mise.toml new/durationpy-0.11/mise.toml --- old/durationpy-0.10/mise.toml 1970-01-01 01:00:00.000000000 +0100 +++ new/durationpy-0.11/mise.toml 2026-08-26 15:55:28.000000000 +0200 @@ -0,0 +1,28 @@ +[tools] +python = "3.11" +uv = "latest" + +[env] +_.python.venv = { path = ".venv", create = true } + +[tasks.install] +description = "Install development dependencies" +run = "uv pip install -r requirements-dev.txt" + +[tasks.test] +description = "Run the tests" +run = "python test.py" + +[tasks.clean] +description = "Remove build artifacts" +run = "rm -rf build dist *.egg-info" + +[tasks.build] +description = "Build the sdist and wheel" +depends = ["clean"] +run = "python setup.py sdist bdist_wheel" + +[tasks.publish] +description = "Upload the distributions to PyPI" +depends = ["build"] +run = "twine upload dist/*" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/durationpy-0.10/requirements-dev.txt new/durationpy-0.11/requirements-dev.txt --- old/durationpy-0.10/requirements-dev.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/durationpy-0.11/requirements-dev.txt 2026-08-26 15:55:28.000000000 +0200 @@ -0,0 +1,3 @@ +setuptools +wheel +twine diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/durationpy-0.10/setup.py new/durationpy-0.11/setup.py --- old/durationpy-0.10/setup.py 2025-05-17 15:51:51.000000000 +0200 +++ new/durationpy-0.11/setup.py 2026-08-26 15:55:28.000000000 +0200 @@ -6,8 +6,8 @@ url = 'https://github.com/icholy/durationpy', author = 'Ilia Choly', author_email = '[email protected]', - download_url = 'https://github.com/icholy/durationpy/tarball/0.10', - version = '0.10', + download_url = 'https://github.com/icholy/durationpy/tarball/0.11', + version = '0.11', packages = ['durationpy'], package_data = {'durationpy': ['py.typed', '*.pyi']}, license = 'MIT' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/durationpy-0.10/test.py new/durationpy-0.11/test.py --- old/durationpy-0.10/test.py 2025-05-17 15:51:51.000000000 +0200 +++ new/durationpy-0.11/test.py 2026-08-26 15:55:28.000000000 +0200 @@ -74,6 +74,11 @@ ["+X3h", False, 0], ["-X3h", False, 0], + # out of range: matches the grammar but overflows timedelta + ["99999999999999999999ms", False, 0], + ["999999999999999999999999999y", False, 0], + ["10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d", False, 0], + # extended ["5y2mm", True, 5*year + 2*month], ["7d", True, 7*day],
