18 Commits
f40 ... f44

Author SHA1 Message Date
Fedora Release Engineering
c5334005ad Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 08:48:23 +00:00
Federico Pellegrin
90facad227 Bump to 0.25.2 (rhbz#2411726), reenable xarray, update dash status 2025-11-12 06:01:57 +01:00
Python Maint
62ba43a318 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 13:59:32 +02:00
Federico Pellegrin
c59ae2ba3d Add new matplotlib extra, use tomcli to remove cov instead of sed. 2025-08-16 12:44:20 +02:00
Federico Pellegrin
7452bc1c85 Update to 0.25 (rhbz#2387323) 2025-08-16 06:33:31 +02:00
Python Maint
6c9be93cfb Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 14:23:13 +02:00
Fedora Release Engineering
4475febe51 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 09:21:51 +00:00
Benjamin A. Beasley
7f147e1bbf Temporarily omit dask/xarray to build for Python 3.14
- Disable dask extra until it can be built
- Disable xarray extra until it can be built, and due to a circular
  dependency
- Fixes RHBZ#2372030
2025-06-15 07:03:41 -04:00
Fedora Release Engineering
ad9325b7b8 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 17:14:08 +00:00
Benjamin A. Beasley
c2be71b087 Update to 0.24.4 (close RHBZ#2324435) 2024-11-09 20:03:27 -05:00
Benjamin A. Beasley
cf8c438699 Update to 0.24.3 (close RHBZ#2297890) 2024-07-22 18:44:59 +00:00
Fedora Release Engineering
95bbfe711e Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 14:03:41 +00:00
Benjamin A. Beasley
a39f78a8f2 Re-enable xarray 2024-06-24 13:45:02 -04:00
Benjamin A. Beasley
87b8f373f9 Update to 0.24.1 (close RHBZ#1941410) 2024-06-24 13:04:46 -04:00
Adam Williamson
f584edab04 Turn on dask for rawhide, it's built now 2024-06-18 00:41:05 -07:00
Benjamin A. Beasley
d33feadeb3 Update to 0.24
- Unbundle python-flexparser
2024-06-14 09:20:23 -04:00
Python Maint
941282bda6 Rebuilt for Python 3.13 2024-06-08 22:33:09 +02:00
Tomáš Hrnčiar
0835a12374 Minimal patch for compatibility with pytest 8 2024-04-18 12:01:23 +02:00
7 changed files with 85 additions and 212 deletions

13
.gitignore vendored
View File

@@ -7,3 +7,16 @@
/Pint-0.17.tar.gz
/Pint-0.19.tar.gz
/Pint-0.19.2.tar.gz
/Pint-0.20.tar.gz
/Pint-0.20.1.tar.gz
/Pint-0.21.tar.gz
/Pint-0.21.1.tar.gz
/Pint-0.22.tar.gz
/Pint-0.23.tar.gz
/pint-0.24.tar.gz
/pint-0.24.1.tar.gz
/pint-0.24.3.tar.gz
/pint-0.24.4.tar.gz
/pint-0.25.tar.gz
/pint-0.25.1.tar.gz
/pint-0.25.2.tar.gz

View File

@@ -1,30 +0,0 @@
From 3cce96928581d5888f4f0b8a7b4ed07e49bcb2e7 Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Thu, 4 Jan 2024 08:32:17 -0500
Subject: [PATCH] Downstream-only: Backport fix for importlib.resources.path
removal
Imitate current versions of flexparser, which was split out as a
separate library in later releases of pint.
---
pint/parser.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/pint/parser.py b/pint/parser.py
index e73e578..e1127a2 100644
--- a/pint/parser.py
+++ b/pint/parser.py
@@ -261,7 +261,9 @@ class Parser:
it will use python importlib.resources.read_binary
"""
- with resources.path(__package__, resource_name) as p:
+ with resources.as_file(
+ resources.files(__package__).joinpath(resource_name)
+ )as p:
filepath = p.resolve()
if filepath.exists():
--
2.43.0

View File

@@ -1,25 +0,0 @@
From 9ace880dfa2a57772f1c2cac1316338995baf1fb Mon Sep 17 00:00:00 2001
From: Justus Magin <keewis@posteo.de>
Date: Tue, 7 Mar 2023 13:24:37 +0100
Subject: [PATCH] add `min` and `max` to the array function overrides
---
pint/numpy_func.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/pint/numpy_func.py b/pint/numpy_func.py
index e09decb..ccc99b9 100644
--- a/pint/numpy_func.py
+++ b/pint/numpy_func.py
@@ -805,6 +805,8 @@ for func_str, unit_arguments, wrap_output in [
("broadcast_to", ["array"], True),
("amax", ["a", "initial"], True),
("amin", ["a", "initial"], True),
+ ("max", ["a", "initial"], True),
+ ("min", ["a", "initial"], True),
("searchsorted", ["a", "v"], False),
("isclose", ["a", "b"], False),
("nan_to_num", ["x", "nan", "posinf", "neginf"], True),
--
2.41.0

View File

@@ -1,59 +0,0 @@
From 955102b318a4ecc34afd0f366e826ef174fe647b Mon Sep 17 00:00:00 2001
From: xtreak <tir.karthi@gmail.com>
Date: Sat, 29 Jun 2019 04:58:59 +0000
Subject: [PATCH] Use context manager for assertWarns and fix
DeprecationWarning
---
pint/testsuite/parameterized.py | 7 ++++++-
pint/testsuite/test_quantity.py | 5 +++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/pint/testsuite/parameterized.py b/pint/testsuite/parameterized.py
index 9b920373..7c459157 100644
--- a/pint/testsuite/parameterized.py
+++ b/pint/testsuite/parameterized.py
@@ -32,6 +32,11 @@
import collections
import unittest
+try:
+ from collections.abc import Callable
+except ImportError:
+ from collections import Callable
+
def add_metaclass(metaclass):
"""Class decorator for creating a class with a metaclass."""
def wrapper(cls):
@@ -69,7 +74,7 @@ def __new__(meta, classname, bases, class_dict):
new_class_dict = {}
for attr_name, attr_value in list(class_dict.items()):
- if isinstance(attr_value, collections.Callable) and hasattr(attr_value, 'param_names'):
+ if isinstance(attr_value, Callable) and hasattr(attr_value, 'param_names'):
# print("Processing attr_name = %r; attr_value = %r" % (
# attr_name, attr_value))
diff --git a/pint/testsuite/test_quantity.py b/pint/testsuite/test_quantity.py
index fdb24600..232eea2c 100644
--- a/pint/testsuite/test_quantity.py
+++ b/pint/testsuite/test_quantity.py
@@ -383,7 +383,7 @@ def test_from_sequence(self):
self.assertFalse(u_array_2.u == u_array_ref_reversed.u)
u_array_3 = self.Q_.from_sequence(u_seq_reversed, units='g')
- self.assertTrue(all(u_array_3 == u_array_ref_reversed))
+ self.assertTrue(all(u_array_3 == u_array_ref_reversed))
self.assertTrue(u_array_3.u == u_array_ref_reversed.u)
with self.assertRaises(ValueError):
@@ -454,7 +454,8 @@ def test_limits_magnitudes(self):
def test_nonnumeric_magnitudes(self):
ureg = self.ureg
x = "some string"*ureg.m
- self.assertRaises(RuntimeError, self.compareQuantity_compact(x,x))
+ with self.assertWarns(RuntimeWarning):
+ self.compareQuantity_compact(x,x)
class TestQuantityBasicMath(QuantityTestCase):

View File

@@ -1,26 +0,0 @@
From b3b18277ecc682bff7ca1fa9e48992f7ec68e47f Mon Sep 17 00:00:00 2001
From: Hernan Grecco <hgrecco@gmail.com>
Date: Wed, 12 Jul 2023 20:39:13 -0300
Subject: [PATCH] Fix test as NumPy 1.25 changes the rules for equality
operator
---
pint/testsuite/test_quantity.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/pint/testsuite/test_quantity.py b/pint/testsuite/test_quantity.py
index 1843b69ca..7efe74f80 100644
--- a/pint/testsuite/test_quantity.py
+++ b/pint/testsuite/test_quantity.py
@@ -1906,7 +1906,10 @@ def test_equal_zero_nan_NP(self):
self.Q_([0, 1, 2], "J") == np.array([0, 0, np.nan]),
np.asarray([True, False, False]),
)
- assert not (self.Q_(np.arange(4), "J") == np.zeros(3))
+
+ # This raise an exception on NumPy 1.25 as dimensions
+ # are different
+ # assert not (self.Q_(np.arange(4), "J") == np.zeros(3))
def test_offset_equal_zero(self):
ureg = self.ureg

View File

@@ -1,50 +1,30 @@
%bcond xarray 1
# Not yet packaged: python-uncertainties
%bcond uncertainties 0
# Requires babel <= 2.8; F42 has 2.16.0
%bcond babel 0
# Not yet packaged: python-pint-pandas
%bcond pandas 0
# Not yet packaged: python-mip
%bcond mip 0
# Requires dask < 2025.3.0 but F43 and Rawhide are at 2025.9.1
# See: https://github.com/dask/dask-ml/issues/1016
%bcond dask 0
Name: python-pint
Version: 0.19.2
Version: 0.25.2
Release: %autorelease
Summary: Physical quantities module
# The entire source is BSD-3-Clause, except:
# - pint/_vendor/appdirs.py is MIT, but is unbundled in %%prep
# - pint/_vendor/flexcache.py is also BSD-3-Clause, but is unbundled in
# %%prep
License: BSD-3-Clause
URL: https://github.com/hgrecco/pint
Source0: %{pypi_source Pint}
# Fix test as NumPy 1.25 changes the rules for equality operator
# https://github.com/hgrecco/pint/commit/b3b18277ecc682bff7ca1fa9e48992f7ec68e47f
#
# Fixes:
#
# test_equal_zero_nan_NP fails with numpy 1.25.1
# https://github.com/hgrecco/pint/issues/1825
Patch: %{url}/commit/b3b18277ecc682bff7ca1fa9e48992f7ec68e47f.patch
# add min and max to the array function overrides
# https://github.com/hgrecco/pint/commit/1b2b0592f88a1c9fdf9b5649ebade19fa81adea4
#
# Fixes several failures in TestNumpyUnclassified
#
# Cherry-picked to 0.19.
Patch: 0001-add-min-and-max-to-the-array-function-overrides.patch
# Downstream-only: Backport fix for importlib.resources.path removal
#
# Imitate current versions of flexparser, which was split out as a
# separate library in later releases of pint.
#
# This is resolved in current upstream releases of pint; see
# https://src.fedoraproject.org/rpms/python-pint/pull-request/10.
#
# Fixes:
#
# python-pint fails to build with Python 3.13: AttributeError: module
# 'importlib.resources' has no attribute 'path'
# https://bugzilla.redhat.com/show_bug.cgi?id=2256746
Patch: 0001-Downstream-only-Backport-fix-for-importlib.resources.patch
Source: %{pypi_source pint}
BuildArch: noarch
# To manipulate pyproject.toml
BuildRequires: tomcli
%global _description %{expand:
Pint is a Python package to define, operate and manipulate physical quantities:
the product of a numerical value and a unit of measurement. It allows
@@ -60,55 +40,75 @@ Summary: %{summary}
%description -n python3-pint %{_description}
# We omit the “uncertainties” extra because python-uncertainties is not yet
# packaged.
%pyproject_extras_subpkg -n python3-pint numpy
%if %{with xarray}
%pyproject_extras_subpkg -n python3-pint xarray
%endif
%if %{with dask}
%pyproject_extras_subpkg -n python3-pint dask
%endif
%if %{with uncertainties}
%pyproject_extras_subpkg -n python3-pint uncertainties
%endif
%if %{with babel}
%pyproject_extras_subpkg -n python3-pint babel
%endif
%if %{with pandas}
%pyproject_extras_subpkg -n python3-pint pandas
%endif
%if %{with mip}
%pyproject_extras_subpkg -n python3-pint mip
%endif
%pyproject_extras_subpkg -n python3-pint matplotlib
%prep
%autosetup -n Pint-%{version} -p1
# We are not sure where this was bundled from, but we are pretty sure it was
# bundled from somewhere! We are not building HTML documentation, so we do not
# need it.
rm -rvf docs/_themes
%autosetup -n pint-%{version} -p1
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
sed -r -i '/pytest-cov/d' setup.cfg
tomcli set pyproject.toml lists delitem project.optional-dependencies.test \
pytest-cov
# Unbundle python-appdirs
# http://github.com/ActiveState/appdirs
# Provides: bundled(python3dist(appdirs)) = 1.4.4
rm -vf pint/_vendor/appdirs.py
# Unbundle python-flexcache
# https://github.com/hgrecco/flexcache
# Provides: bundled(python3dist(flexcache)) = 0.2
rm -vf pint/_vendor/flexcache.py
# Add devendored dependencies back in as regular dependencies
sed -r -i 's/^setup_requires/install_requires = appdirs; flexcache\n&/' \
setup.cfg
# The find-then-modify pattern keeps us from discarding mtimes on sources that
# do not need modification.
find pint -type f -exec \
gawk '/^from (\.*|pint)\._vendor import (appdirs|flexcache)/ {
print FILENAME; nextfile }' '{}' '+' |
xargs -r -t sed -r -i \
-e 's/^from (\.*|pint)\._vendor (import (appdirs))/\2/' \
-e 's/^(from )(\.*|pint)\._vendor( import (flexcache))/\1\4\3/'
# This module is executable in the source, and it might make sense for upstream
# to run it directly as a script during development, but this package will
# install it in site-packages without the executable bit set, so it doesnt
# make sense for it to have a shebang. Package users will run it via the
# generated pint-convert entry point instead.
sed -r -i '1{/^#!/d}' pint/pint_convert.py
%generate_buildrequires
# We omit the “uncertainties” extra because python-uncertainties is not yet
# packaged.
%pyproject_buildrequires -x numpy,test
%{pyproject_buildrequires \
-x numpy \
%if %{with uncertainties}
-x uncertainties \
%endif
%if %{with babel}
-x babel \
%endif
%if %{with pandas}
-x pandas \
%endif
%if %{with xarray}
-x xarray \
%endif
%if %{with dask}
-x dask \
%endif
%if %{with mip}
-x mip \
%endif
-x matplotlib \
-x test-all }
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files pint
%pyproject_save_files -l pint
%check
%pytest
# -rs: print reasons for skipped tests
%pytest -rs
%files -n python3-pint -f %{pyproject_files}
%{_bindir}/pint-convert

View File

@@ -1 +1 @@
SHA512 (Pint-0.19.2.tar.gz) = 9f4a00142159d298bf09fdc8ed2c4367a9ef2328663466b43bb4fbc31361c4fa63b1f0d5dec6a71fc5e50ddff22cb86e37abac5e75a13569c5332bb52884c7ee
SHA512 (pint-0.25.2.tar.gz) = dbad952e1b8c99aef9c105c594962c2a68347d98068b51bda6ec25d190b2b2462c0562b40f30c40f4c0d656b26408f747ae875a9e2fa0cd9c1a74f27ac16122a