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