From f19e09f3b016c52edafd9c65e64366b3605b370e Mon Sep 17 00:00:00 2001 From: Ken Kroenlein Date: Fri, 27 Jun 2025 15:21:35 -0600 Subject: [PATCH 01/10] Drop 3.8 support; add 3.13 testing; drop support for old versions of Pint --- .github/workflows/pr-tests.yml | 2 ++ gemd/__version__.py | 2 +- requirements.txt | 2 +- setup.py | 10 +++++----- test_requirements.txt | 5 ++++- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index 0a46a61..e4cb7af 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -11,3 +11,5 @@ jobs: uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@v1 with: src: gemd + skip_38: true + include_313: true diff --git a/gemd/__version__.py b/gemd/__version__.py index dd0edd7..8a124bf 100644 --- a/gemd/__version__.py +++ b/gemd/__version__.py @@ -1 +1 @@ -__version__ = "2.1.11" +__version__ = "2.2.0" diff --git a/requirements.txt b/requirements.txt index 29ad6a1..bc1d0b6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -pint==0.21 +pint==0.24.4 deprecation==2.1.0 typing-extensions==4.8.0 importlib-resources==5.3.0 diff --git a/setup.py b/setup.py index 81d26e4..cb33c7d 100644 --- a/setup.py +++ b/setup.py @@ -15,7 +15,7 @@ setup(name='gemd', # Update this in gemd/__version__.py version=version, - python_requires='>=3.8', + python_requires='>=3.9', url='http://github.com/CitrineInformatics/gemd-python', description="Python binding for Citrine's GEMD data model", author='Citrine Informatics', @@ -33,14 +33,14 @@ 'tests.units': ['test_units.txt'] }, install_requires=[ - "pint>=0.21,<0.25,!=0.22,!=0.23", # pint 0.22,0.23 have a bad interaction w/ numpy >= 2 + "pint>=0.24.4,<0.25", "deprecation>=2.1.0,<3", "typing_extensions>=4.8,<5", "importlib-resources>=5.3,<7" ], extras_require={ "scripts": [ - "packaging" + "packaging", "sphinx==5.0.0", "sphinx-rtd-theme==1.0.0", "sphinxcontrib-apidoc==0.3.0", @@ -52,16 +52,16 @@ "pandas>=2.0.3,<3" ], "tests.entity.bounds": [ - "numpy>=1.24.4,<3", + "numpy>=1.24.4,<2; python_version<='3.10'", "pandas>=2.0.3,<3" ] }, classifiers=[ 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.8', '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', ], ) diff --git a/test_requirements.txt b/test_requirements.txt index ef3cd8b..0460dfc 100644 --- a/test_requirements.txt +++ b/test_requirements.txt @@ -1,6 +1,9 @@ flake8==7.0.0 flake8-docstrings==1.7.0 +numpy==1.24.4; python_version<'3.10' +pandas==2.0.3; python_version<'3.10' +numpy>=2.0.2,<=2.1.0; python_version>='3.10' +pandas==2.3.0; python_version>='3.10' pytest==8.0.0 pytest-cov==4.1.0 -pandas>=2.0.3,<2.2.0 # includes a compatible version of numpy derp==0.1.1 From 6ed1bb5295e84744e86da971ffc2993db3275728 Mon Sep 17 00:00:00 2001 From: Ken Kroenlein Date: Fri, 27 Jun 2025 15:35:12 -0600 Subject: [PATCH 02/10] Update to use latest common actions release --- .github/workflows/pr-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index e4cb7af..3147b5c 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -8,7 +8,7 @@ on: jobs: pr-tests: - uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@v1 + uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@v2 with: src: gemd skip_38: true From 853f78b2396396a837765bcd4163a6c196c77779 Mon Sep 17 00:00:00 2001 From: Ken Kroenlein Date: Fri, 27 Jun 2025 15:41:41 -0600 Subject: [PATCH 03/10] Reference trial action SHA --- .github/workflows/pr-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index 3147b5c..b5716d4 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -8,7 +8,7 @@ on: jobs: pr-tests: - uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@v2 + uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@e16d57218b145a013c779b813ac37d652ccdf39b with: src: gemd skip_38: true From a46ef575f0e4f2bda98196462abe3f5f0d8a2a34 Mon Sep 17 00:00:00 2001 From: Ken Kroenlein Date: Fri, 27 Jun 2025 16:05:39 -0600 Subject: [PATCH 04/10] Reference trial action SHA --- .github/workflows/pr-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index b5716d4..798a39b 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -8,7 +8,7 @@ on: jobs: pr-tests: - uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@e16d57218b145a013c779b813ac37d652ccdf39b + uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@853f78b2396396a837765bcd4163a6c196c77779 with: src: gemd skip_38: true From b5935a9074c943738a6929f606add75e14ad3857 Mon Sep 17 00:00:00 2001 From: Ken Kroenlein Date: Fri, 27 Jun 2025 16:08:55 -0600 Subject: [PATCH 05/10] Reference trial action branch --- .github/workflows/pr-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index 798a39b..df1f484 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -8,7 +8,7 @@ on: jobs: pr-tests: - uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@853f78b2396396a837765bcd4163a6c196c77779 + uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@maintain/add-python-version-flags with: src: gemd skip_38: true From 467a98cb941aa8f4e2246220bd57d38a24982c1f Mon Sep 17 00:00:00 2001 From: Ken Kroenlein Date: Fri, 27 Jun 2025 16:44:44 -0600 Subject: [PATCH 06/10] Remove test requirement for dead code for Pint < 0.22 --- gemd/units/impl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gemd/units/impl.py b/gemd/units/impl.py index fcc1ec0..d7e0080 100644 --- a/gemd/units/impl.py +++ b/gemd/units/impl.py @@ -307,7 +307,7 @@ def _format_clean(unit, registry, **options): """ try: # Informal route changed in 0.22 from pint.formatting import _FORMATTERS - formatter = _FORMATTERS["D"] + formatter = _FORMATTERS["D"] # pragma: no cover except ImportError: # pragma: no cover from pint import Unit formatter_obj = registry.formatter._formatters["D"] From d03a9e06aff9d8c08afcdd03f4e8fa167f4d775b Mon Sep 17 00:00:00 2001 From: Ken Kroenlein <51962276+kroenlein@users.noreply.github.com> Date: Fri, 27 Jun 2025 16:53:58 -0600 Subject: [PATCH 07/10] Potential fix for code scanning alert no. 7: Workflow does not contain permissions Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- .github/workflows/pr-tests.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index df1f484..e9e5d5e 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -1,5 +1,9 @@ name: PR Tests +permissions: + contents: read + pull-requests: write + on: pull_request: branches: From 3fbb43de2fc6a27fdcd802ecef2781e9cce32e9e Mon Sep 17 00:00:00 2001 From: Ken Kroenlein Date: Fri, 27 Jun 2025 17:11:28 -0600 Subject: [PATCH 08/10] Trivial commit to force rebuild --- gemd/units/impl.py | 1 - 1 file changed, 1 deletion(-) diff --git a/gemd/units/impl.py b/gemd/units/impl.py index d7e0080..dfdccf7 100644 --- a/gemd/units/impl.py +++ b/gemd/units/impl.py @@ -317,7 +317,6 @@ def _surrogate_formatter(unit, registry, **options): parsed = Unit(unit) return formatter_obj.format_unit(parsed) except ValueError: - parsed = Unit(unit) return formatter_obj.format_quantity(unit) formatter = _surrogate_formatter From 13a4f4ca08bfaa4f0ce9260a8ce6cf57dcb88b39 Mon Sep 17 00:00:00 2001 From: Ken Kroenlein Date: Mon, 30 Jun 2025 10:21:05 -0600 Subject: [PATCH 09/10] Migrate testing to use released workflows --- .github/workflows/pr-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index e9e5d5e..b8eff69 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -12,7 +12,7 @@ on: jobs: pr-tests: - uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@maintain/add-python-version-flags + uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@1.1 with: src: gemd skip_38: true From 5a01362cd0b46c9f6259b61296a1d27fe03c4ee6 Mon Sep 17 00:00:00 2001 From: Ken Kroenlein Date: Mon, 30 Jun 2025 10:24:37 -0600 Subject: [PATCH 10/10] Typo --- .github/workflows/pr-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index b8eff69..d824f7a 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -12,7 +12,7 @@ on: jobs: pr-tests: - uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@1.1 + uses: CitrineInformatics/common-gh-actions/.github/workflows/run-tests.yml@v1.1 with: src: gemd skip_38: true