Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-tabledata for 
openSUSE:Factory checked in at 2026-05-26 16:34:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tabledata (Old)
 and      /work/SRC/openSUSE:Factory/.python-tabledata.new.2084 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-tabledata"

Tue May 26 16:34:22 2026 rev:2 rq:1355114 version:1.3.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tabledata/python-tabledata.changes        
2025-02-28 17:40:50.068372047 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-tabledata.new.2084/python-tabledata.changes  
    2026-05-26 16:34:33.965322804 +0200
@@ -1,0 +2,12 @@
+Mon May 25 21:20:21 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 1.3.5:
+  * Drop support for Python 3.9 and add support for Python 3.14
+  * Update requirements
+  * Fix the error messages of the `TableData.validate_rows`
+    method
+  * Fix a type annotation of the `TableData.filter_column` method
+  * Fix equality comparison in TableData to handle NaN values
+    correctly
+
+-------------------------------------------------------------------

Old:
----
  tabledata-1.3.4.tar.gz

New:
----
  tabledata-1.3.5.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-tabledata.spec ++++++
--- /var/tmp/diff_new_pack.rIm97o/_old  2026-05-26 16:34:35.089369308 +0200
+++ /var/tmp/diff_new_pack.rIm97o/_new  2026-05-26 16:34:35.089369308 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-tabledata
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,25 +17,29 @@
 
 
 Name:           python-tabledata
-Version:        1.3.4
+Version:        1.3.5
 Release:        0
 Summary:        Python library to represent tabular data
 License:        MIT
 URL:            https://github.com/thombashi/tabledata
 Source:         
https://files.pythonhosted.org/packages/source/t/tabledata/tabledata-%{version}.tar.gz
+BuildRequires:  %{python_module DataProperty >= 1.0.2}
 BuildRequires:  %{python_module base >= 3.9}
 BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools >= 64}
 BuildRequires:  %{python_module setuptools_scm >= 8}
+BuildRequires:  %{python_module typepy >= 1.2.0}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 ## SECTION test requirements
-BuildRequires:  %{python_module DataProperty >= 1.0.1}
+BuildRequires:  %{python_module DataProperty >= 1.0.2}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module typepy >= 1.2.0}
 ## /SECTION
-Requires:       python-DataProperty >= 1.0.1
+Requires:       python-DataProperty >= 1.0.2
 Requires:       python-typepy >= 1.2.0
+
 BuildArch:      noarch
 %python_subpackages
 

++++++ tabledata-1.3.4.tar.gz -> tabledata-1.3.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/.github/workflows/ci.yml 
new/tabledata-1.3.5/.github/workflows/ci.yml
--- old/tabledata-1.3.4/.github/workflows/ci.yml        2024-12-31 
15:11:21.000000000 +0100
+++ new/tabledata-1.3.5/.github/workflows/ci.yml        2026-05-11 
14:02:23.000000000 +0200
@@ -24,12 +24,12 @@
     timeout-minutes: 20
 
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v6
         with:
           fetch-depth: 0
           fetch-tags: true
 
-      - uses: actions/setup-python@v5
+      - uses: actions/setup-python@v6
         with:
           python-version: "3.13"
           cache: pip
@@ -42,7 +42,7 @@
 
       - run: make build
 
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@v7
         with:
           name: dist
           path: ./dist/*
@@ -55,12 +55,12 @@
     timeout-minutes: 20
 
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v6
         with:
           fetch-depth: 0
           fetch-tags: true
 
-      - uses: actions/setup-python@v5
+      - uses: actions/setup-python@v6
         with:
           python-version: "3.13"
           cache: pip
@@ -81,15 +81,15 @@
     strategy:
       fail-fast: false
       matrix:
-        python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "pypy-3.10"]
+        python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "pypy-3.10"]
         os: [ubuntu-latest, macos-latest, windows-latest]
     timeout-minutes: 20
 
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v6
 
       - name: Setup Python ${{ matrix.python-version }}
-        uses: actions/setup-python@v5
+        uses: actions/setup-python@v6
         with:
           python-version: ${{ matrix.python-version }}
           cache: pip
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/tabledata-1.3.4/.github/workflows/on_push_default_branch.yml 
new/tabledata-1.3.5/.github/workflows/on_push_default_branch.yml
--- old/tabledata-1.3.4/.github/workflows/on_push_default_branch.yml    
2024-12-31 15:11:21.000000000 +0100
+++ new/tabledata-1.3.5/.github/workflows/on_push_default_branch.yml    
2026-05-11 14:02:23.000000000 +0200
@@ -20,12 +20,12 @@
     timeout-minutes: 20
 
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v6
         with:
           fetch-depth: 0
           fetch-tags: true
 
-      - uses: actions/setup-python@v5
+      - uses: actions/setup-python@v6
         with:
           python-version: "3.13"
           cache: pip
@@ -38,7 +38,7 @@
 
       - run: make build
 
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@v7
         with:
           name: dist
           path: ./dist/*
@@ -57,7 +57,7 @@
       id-token: write  # IMPORTANT: this permission is mandatory for trusted 
publishing
 
     steps:
-      - uses: actions/download-artifact@v4
+      - uses: actions/download-artifact@v8
         with:
           name: dist
           path: ./dist
@@ -79,19 +79,19 @@
       id-token: write
 
     steps:
-      - uses: actions/download-artifact@v4
+      - uses: actions/download-artifact@v8
         with:
           name: dist
           path: ./dist
 
       - name: Sign the dists with Sigstore
-        uses: sigstore/[email protected]
+        uses: sigstore/[email protected]
         with:
           inputs: >-
             ./dist/*.tar.gz
             ./dist/*.whl
 
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@v7
         with:
           name: sigstore
           path: ./dist/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/.github/workflows/publish.yml 
new/tabledata-1.3.5/.github/workflows/publish.yml
--- old/tabledata-1.3.4/.github/workflows/publish.yml   2024-12-31 
15:11:21.000000000 +0100
+++ new/tabledata-1.3.5/.github/workflows/publish.yml   2026-05-11 
14:02:23.000000000 +0200
@@ -14,12 +14,12 @@
     timeout-minutes: 20
 
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v6
         with:
           fetch-depth: 0
           fetch-tags: true
 
-      - uses: actions/setup-python@v5
+      - uses: actions/setup-python@v6
         with:
           python-version: "3.13"
           cache: pip
@@ -32,7 +32,7 @@
 
       - run: make build
 
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@v7
         with:
           name: dist
           path: ./dist/*
@@ -48,7 +48,7 @@
       id-token: write  # IMPORTANT: this permission is mandatory for trusted 
publishing
 
     steps:
-      - uses: actions/download-artifact@v4
+      - uses: actions/download-artifact@v8
         with:
           name: dist
           path: ./dist
@@ -65,20 +65,20 @@
       contents: write
 
     steps:
-      - uses: actions/download-artifact@v4
+      - uses: actions/download-artifact@v8
         with:
           name: dist
           path: ./dist
 
       - name: Sign the dists with Sigstore
-        uses: sigstore/[email protected]
+        uses: sigstore/[email protected]
         with:
           inputs: >-
             ./dist/*.tar.gz
             ./dist/*.whl
 
       - name: Generate a GitHub release
-        uses: softprops/action-gh-release@v2
+        uses: softprops/action-gh-release@v3
         with:
           generate_release_notes: true
           files: dist/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/LICENSE new/tabledata-1.3.5/LICENSE
--- old/tabledata-1.3.4/LICENSE 2024-12-31 15:11:21.000000000 +0100
+++ new/tabledata-1.3.5/LICENSE 2026-05-11 14:02:23.000000000 +0200
@@ -1,6 +1,6 @@
 MIT License
 
-Copyright (c) 2017-2024 Tsuyoshi Hombashi
+Copyright (c) 2017-2026 Tsuyoshi Hombashi
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/PKG-INFO new/tabledata-1.3.5/PKG-INFO
--- old/tabledata-1.3.4/PKG-INFO        2024-12-31 15:11:55.308505800 +0100
+++ new/tabledata-1.3.5/PKG-INFO        2026-05-11 14:02:48.868061300 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: tabledata
-Version: 1.3.4
+Version: 1.3.5
 Summary: tabledata is a Python library to represent tabular data. Used for 
pytablewriter/pytablereader/SimpleSQLite/etc.
 Home-page: https://github.com/thombashi/tabledata
 Author: Tsuyoshi Hombashi
@@ -17,27 +17,41 @@
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
 Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Software Development :: Libraries
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Typing :: Typed
-Requires-Python: >=3.9
+Requires-Python: >=3.10
 Description-Content-Type: text/x-rst
 License-File: LICENSE
-Requires-Dist: DataProperty<2,>=1.0.1
-Requires-Dist: typepy<2,>=1.2.0
+Requires-Dist: DataProperty<2,>=1.0.2
+Requires-Dist: typepy<3,>=1.2.0
 Provides-Extra: logging
 Requires-Dist: loguru<1,>=0.4.1; extra == "logging"
 Provides-Extra: test
 Requires-Dist: pytablewriter>=0.46; extra == "test"
 Requires-Dist: pytest; extra == "test"
+Dynamic: author
+Dynamic: author-email
+Dynamic: classifier
+Dynamic: description
+Dynamic: description-content-type
+Dynamic: home-page
+Dynamic: keywords
+Dynamic: license
+Dynamic: license-file
+Dynamic: project-url
+Dynamic: provides-extra
+Dynamic: requires-dist
+Dynamic: requires-python
+Dynamic: summary
 
 .. contents:: **tabledata**
    :backlinks: top
@@ -87,7 +101,7 @@
 
 Dependencies
 ============
-- Python 3.9+
+- Python 3.10+
 - `Mandatory Python package dependencies (automatically installed) 
<https://github.com/thombashi/tabledata/network/dependencies>`__
 
 Optional Python packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/README.rst 
new/tabledata-1.3.5/README.rst
--- old/tabledata-1.3.4/README.rst      2024-12-31 15:11:21.000000000 +0100
+++ new/tabledata-1.3.5/README.rst      2026-05-11 14:02:23.000000000 +0200
@@ -46,7 +46,7 @@
 
 Dependencies
 ============
-- Python 3.9+
+- Python 3.10+
 - `Mandatory Python package dependencies (automatically installed) 
<https://github.com/thombashi/tabledata/network/dependencies>`__
 
 Optional Python packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/tabledata-1.3.4/docs/pages/introduction/installation.rst 
new/tabledata-1.3.5/docs/pages/introduction/installation.rst
--- old/tabledata-1.3.4/docs/pages/introduction/installation.rst        
2024-12-31 15:11:21.000000000 +0100
+++ new/tabledata-1.3.5/docs/pages/introduction/installation.rst        
2026-05-11 14:02:23.000000000 +0200
@@ -18,7 +18,7 @@
 
 Dependencies
 ============
-- Python 3.9+
+- Python 3.10+
 - `Mandatory Python package dependencies (automatically installed) 
<https://github.com/thombashi/tabledata/network/dependencies>`__
 
 Optional Python packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/pyproject.toml 
new/tabledata-1.3.5/pyproject.toml
--- old/tabledata-1.3.4/pyproject.toml  2024-12-31 15:11:21.000000000 +0100
+++ new/tabledata-1.3.5/pyproject.toml  2026-05-11 14:02:23.000000000 +0200
@@ -26,7 +26,7 @@
 | docs/conf.py
 '''
 line-length = 100
-target-version = ['py39', 'py310', 'py311']
+target-version = ['py310', 'py311', 'py312', 'py313', 'py314']
 
 [tool.coverage.run]
 branch = true
@@ -62,7 +62,7 @@
 
 [tool.mypy]
 ignore_missing_imports = true
-python_version = 3.9
+python_version = "3.10"
 
 pretty = true
 
@@ -89,11 +89,11 @@
     "build",
     "dist"
 ]
-pythonVersion = "3.9"
+pythonVersion = "3.10"
 
 [tool.ruff]
 line-length = 100
-target-version = "py39"
+target-version = "py310"
 exclude = [
     ".eggs/",
     ".tox/",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/requirements/requirements.txt 
new/tabledata-1.3.5/requirements/requirements.txt
--- old/tabledata-1.3.4/requirements/requirements.txt   2024-12-31 
15:11:21.000000000 +0100
+++ new/tabledata-1.3.5/requirements/requirements.txt   2026-05-11 
14:02:23.000000000 +0200
@@ -1,2 +1,2 @@
-DataProperty>=1.0.1,<2
-typepy>=1.2.0,<2
+DataProperty>=1.0.2,<2
+typepy>=1.2.0,<3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/setup.py new/tabledata-1.3.5/setup.py
--- old/tabledata-1.3.4/setup.py        2024-12-31 15:11:21.000000000 +0100
+++ new/tabledata-1.3.5/setup.py        2026-05-11 14:02:23.000000000 +0200
@@ -60,7 +60,7 @@
         "Tracker": f"{REPOSITORY_URL:s}/issues",
     },
     install_requires=INSTALL_REQUIRES,
-    python_requires=">=3.9",
+    python_requires=">=3.10",
     extras_require={
         "logging": ["loguru>=0.4.1,<1"],
         "test": TESTS_REQUIRES,
@@ -72,11 +72,11 @@
         "License :: OSI Approved :: MIT License",
         "Operating System :: OS Independent",
         "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.9",
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
         "Programming Language :: Python :: 3.13",
+        "Programming Language :: Python :: 3.14",
         "Programming Language :: Python :: 3 :: Only",
         "Programming Language :: Python :: Implementation :: CPython",
         "Programming Language :: Python :: Implementation :: PyPy",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/tabledata/__version__.py 
new/tabledata-1.3.5/tabledata/__version__.py
--- old/tabledata-1.3.4/tabledata/__version__.py        2024-12-31 
15:11:21.000000000 +0100
+++ new/tabledata-1.3.5/tabledata/__version__.py        2026-05-11 
14:02:23.000000000 +0200
@@ -2,8 +2,8 @@
 
 
 __author__: Final = "Tsuyoshi Hombashi"
-__copyright__: Final = f"Copyright 2017-2024, {__author__}"
+__copyright__: Final = f"Copyright 2017-2026, {__author__}"
 __license__: Final = "MIT License"
-__version__ = "1.3.4"
+__version__ = "1.3.5"
 __maintainer__: Final = __author__
 __email__: Final = "[email protected]"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/tabledata/_core.py 
new/tabledata-1.3.5/tabledata/_core.py
--- old/tabledata-1.3.4/tabledata/_core.py      2024-12-31 15:11:21.000000000 
+0100
+++ new/tabledata-1.3.5/tabledata/_core.py      2026-05-11 14:02:23.000000000 
+0200
@@ -6,7 +6,7 @@
 import re
 from collections import OrderedDict, namedtuple
 from collections.abc import Iterator, Sequence
-from typing import TYPE_CHECKING, Any, Optional, Union
+from typing import TYPE_CHECKING, Any
 
 import dataproperty as dp
 import typepy
@@ -34,17 +34,17 @@
 
     def __init__(
         self,
-        table_name: Optional[str],
+        table_name: str | None,
         headers: Sequence[str],
         rows: Sequence,
-        dp_extractor: Optional[dp.DataPropertyExtractor] = None,
-        type_hints: Optional[Sequence[Union[str, TypeHint]]] = None,
-        max_workers: Optional[int] = None,
-        max_precision: Optional[int] = None,
+        dp_extractor: dp.DataPropertyExtractor | None = None,
+        type_hints: Sequence[str | TypeHint] | None = None,
+        max_workers: int | None = None,
+        max_precision: int | None = None,
     ) -> None:
         self.__table_name = table_name
         self.__value_matrix: list[list[Any]] = []
-        self.__value_dp_matrix: Optional[DataPropertyMatrix] = None
+        self.__value_dp_matrix: DataPropertyMatrix | None = None
 
         if rows:
             self.__rows = rows
@@ -94,13 +94,13 @@
         return not self.equals(other, cmp_by_dp=False)
 
     @property
-    def table_name(self) -> Optional[str]:
+    def table_name(self) -> str | None:
         """str: Name of the table."""
 
         return self.__table_name
 
     @table_name.setter
-    def table_name(self, value: Optional[str]) -> None:
+    def table_name(self, value: str | None) -> None:
         self.__table_name = value
 
     @property
@@ -137,11 +137,11 @@
         return self.__dp_extractor.max_workers
 
     @max_workers.setter
-    def max_workers(self, value: Optional[int]) -> None:
+    def max_workers(self, value: int | None) -> None:
         self.__dp_extractor.max_workers = value
 
     @property
-    def num_rows(self) -> Optional[int]:
+    def num_rows(self) -> int | None:
         """Optional[int]:
         Number of rows in the tabular data.
         |None| if the ``rows`` is neither list nor tuple.
@@ -153,7 +153,7 @@
             return None
 
     @property
-    def num_columns(self) -> Optional[int]:
+    def num_columns(self) -> int | None:
         if typepy.is_not_empty_sequence(self.headers):
             return len(self.headers)
 
@@ -237,9 +237,8 @@
 
             if not all(
                 [
-                    lhs == rhs
+                    (Nan(lhs).is_type() and Nan(rhs).is_type()) or lhs == rhs
                     for lhs, rhs in zip(lhs_row, rhs_row)
-                    if not Nan(lhs).is_type() and not Nan(rhs).is_type()
                 ]
             ):
                 return False
@@ -294,9 +293,9 @@
             logger.debug(f"invalid row (line={invalid_row_idx}): 
{self.rows[invalid_row_idx]}")
 
         raise ValueError(
-            "table header length and row length are mismatch:\n"
+            "table header length and row length do not match:\n"
             + f"  header(len={len(self.headers)}): {self.headers}\n"
-            + "  # of miss match rows: {} ouf of {}\n".format(
+            + "  # of mismatched rows: {} out of {}\n".format(
                 len(invalid_row_idx_list), self.num_rows
             )
         )
@@ -430,7 +429,7 @@
 
     def filter_column(
         self,
-        patterns: Optional[str] = None,
+        patterns: Sequence[str] | None = None,
         is_invert_match: bool = False,
         is_re_match: bool = False,
         pattern_match: PatternMatch = PatternMatch.OR,
@@ -485,8 +484,8 @@
     def from_dataframe(
         dataframe: "pandas.DataFrame",
         table_name: str = "",
-        type_hints: Optional[Sequence[TypeHint]] = None,
-        max_workers: Optional[int] = None,
+        type_hints: Sequence[TypeHint] | None = None,
+        max_workers: int | None = None,
     ) -> "TableData":
         """
         Initialize TableData instance from a pandas.DataFrame instance.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/tabledata.egg-info/PKG-INFO 
new/tabledata-1.3.5/tabledata.egg-info/PKG-INFO
--- old/tabledata-1.3.4/tabledata.egg-info/PKG-INFO     2024-12-31 
15:11:55.000000000 +0100
+++ new/tabledata-1.3.5/tabledata.egg-info/PKG-INFO     2026-05-11 
14:02:48.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: tabledata
-Version: 1.3.4
+Version: 1.3.5
 Summary: tabledata is a Python library to represent tabular data. Used for 
pytablewriter/pytablereader/SimpleSQLite/etc.
 Home-page: https://github.com/thombashi/tabledata
 Author: Tsuyoshi Hombashi
@@ -17,27 +17,41 @@
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
 Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Software Development :: Libraries
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Typing :: Typed
-Requires-Python: >=3.9
+Requires-Python: >=3.10
 Description-Content-Type: text/x-rst
 License-File: LICENSE
-Requires-Dist: DataProperty<2,>=1.0.1
-Requires-Dist: typepy<2,>=1.2.0
+Requires-Dist: DataProperty<2,>=1.0.2
+Requires-Dist: typepy<3,>=1.2.0
 Provides-Extra: logging
 Requires-Dist: loguru<1,>=0.4.1; extra == "logging"
 Provides-Extra: test
 Requires-Dist: pytablewriter>=0.46; extra == "test"
 Requires-Dist: pytest; extra == "test"
+Dynamic: author
+Dynamic: author-email
+Dynamic: classifier
+Dynamic: description
+Dynamic: description-content-type
+Dynamic: home-page
+Dynamic: keywords
+Dynamic: license
+Dynamic: license-file
+Dynamic: project-url
+Dynamic: provides-extra
+Dynamic: requires-dist
+Dynamic: requires-python
+Dynamic: summary
 
 .. contents:: **tabledata**
    :backlinks: top
@@ -87,7 +101,7 @@
 
 Dependencies
 ============
-- Python 3.9+
+- Python 3.10+
 - `Mandatory Python package dependencies (automatically installed) 
<https://github.com/thombashi/tabledata/network/dependencies>`__
 
 Optional Python packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/tabledata.egg-info/requires.txt 
new/tabledata-1.3.5/tabledata.egg-info/requires.txt
--- old/tabledata-1.3.4/tabledata.egg-info/requires.txt 2024-12-31 
15:11:55.000000000 +0100
+++ new/tabledata-1.3.5/tabledata.egg-info/requires.txt 2026-05-11 
14:02:48.000000000 +0200
@@ -1,5 +1,5 @@
-DataProperty<2,>=1.0.1
-typepy<2,>=1.2.0
+DataProperty<2,>=1.0.2
+typepy<3,>=1.2.0
 
 [logging]
 loguru<1,>=0.4.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/test/test_tabledata.py 
new/tabledata-1.3.5/test/test_tabledata.py
--- old/tabledata-1.3.4/test/test_tabledata.py  2024-12-31 15:11:21.000000000 
+0100
+++ new/tabledata-1.3.5/test/test_tabledata.py  2026-05-11 14:02:23.000000000 
+0200
@@ -184,6 +184,31 @@
         assert lhs.in_tabledata_list([rhs, lhs, empty_td], cmp_by_dp=cmp_by_dp)
         assert empty_td.in_tabledata_list([rhs, lhs], cmp_by_dp=cmp_by_dp) is 
False
 
+    @pytest.mark.parametrize(
+        ["lhs", "rhs", "expected"],
+        [
+            [
+                TableData("t", ["a", "b"], [[1, float("nan")]]),
+                TableData("t", ["a", "b"], [[1, float("nan")]]),
+                True,
+            ],
+            [
+                TableData("t", ["a", "b"], [[1, float("nan")]]),
+                TableData("t", ["a", "b"], [[1, 999]]),
+                False,
+            ],
+            [
+                TableData("t", ["a", "b"], [[1, 999]]),
+                TableData("t", ["a", "b"], [[1, float("nan")]]),
+                False,
+            ],
+        ],
+    )
+    def test_normal_nan(self, lhs, rhs, expected):
+        assert lhs.equals(rhs, cmp_by_dp=False) is expected
+        assert (lhs == rhs) is expected
+        assert (lhs != rhs) is (not expected)
+
 
 class Test_TableData_repr:
     @pytest.mark.parametrize(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tabledata-1.3.4/tox.ini new/tabledata-1.3.5/tox.ini
--- old/tabledata-1.3.4/tox.ini 2024-12-31 15:11:21.000000000 +0100
+++ new/tabledata-1.3.5/tox.ini 2026-05-11 14:02:23.000000000 +0200
@@ -1,6 +1,6 @@
 [tox]
 envlist =
-    py{39,310,311,312,313}
+    py{310,311,312,313,314}
     build
     cov
     docs

Reply via email to