From e4463afceaafba68845c8b90a18467511f3ea35c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 19:45:46 +0000 Subject: [PATCH 1/2] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.15.22 → v0.16.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.22...v0.16.4) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b319afa..8cad56c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ repos: - id: trailing-whitespace - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.15.22 + rev: v0.16.4 hooks: # Run the linter. - id: ruff From 2beee7f291d9eb719a99a954028df18ff44af01c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 19:45:54 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- docs/examples/sic_mo_stephan.ipynb | 4 ++-- examples/ruthenium_example.ipynb | 4 ++-- examples/silicon_example.py | 6 +++--- examples/titanium_example.py | 8 ++++---- src/pgdtools/__init__.py | 2 +- src/pgdtools/classify.py | 2 +- src/pgdtools/db/__init__.py | 3 ++- src/pgdtools/db/config.py | 2 +- src/pgdtools/db/management.py | 8 +++----- src/pgdtools/db/setup_local.py | 2 +- src/pgdtools/maintainer/__init__.py | 4 ++-- src/pgdtools/maintainer/excel_tools.py | 4 ++-- src/pgdtools/sub_tools/filters.py | 2 +- src/pgdtools/sub_tools/format.py | 1 - src/pgdtools/sub_tools/info.py | 2 +- src/pgdtools/sub_tools/techniques.py | 2 +- src/pgdtools/sub_tools/utilities.py | 2 +- tests/conftest.py | 2 +- tests/test_classify.py | 3 ++- tests/test_data/test_urls.py | 1 - tests/test_db/test_management.py | 3 ++- tests/test_pgdtools.py | 1 - tests/test_sub_tools/test_filters.py | 3 +-- tests/test_sub_tools/test_references.py | 1 - tests/test_sub_tools/test_techniques.py | 1 - 25 files changed, 34 insertions(+), 39 deletions(-) diff --git a/docs/examples/sic_mo_stephan.ipynb b/docs/examples/sic_mo_stephan.ipynb index f5f73e9..0819d1f 100644 --- a/docs/examples/sic_mo_stephan.ipynb +++ b/docs/examples/sic_mo_stephan.ipynb @@ -26,10 +26,10 @@ }, "outputs": [], "source": [ - "from ceresfit import LinReg # to calculate linear regression\n", - "from ceresfit.unc_calc import error_bar_positions # to plot correlated error bars\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", + "from ceresfit import LinReg # to calculate linear regression\n", + "from ceresfit.unc_calc import error_bar_positions # to plot correlated error bars\n", "\n", "from pgdtools import pgd" ] diff --git a/examples/ruthenium_example.ipynb b/examples/ruthenium_example.ipynb index 2b00cf2..5a4f61a 100644 --- a/examples/ruthenium_example.ipynb +++ b/examples/ruthenium_example.ipynb @@ -29,11 +29,11 @@ } ], "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", "from iniabu import (\n", " inimf,\n", ") # iniabu module with abundances as mass fractions - for models!\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", "\n", "import pgdtools\n", "\n", diff --git a/examples/silicon_example.py b/examples/silicon_example.py index 685cb80..10eb7de 100644 --- a/examples/silicon_example.py +++ b/examples/silicon_example.py @@ -1,8 +1,8 @@ """For Benoit: Compare some Si isotope ratios.""" -from iniabu import inimf # import as mass_fraction values right away import matplotlib.pyplot as plt import numpy as np +from iniabu import inimf # import as mass_fraction values right away import pgdtools @@ -65,8 +65,8 @@ ax.set_ylim(ylim) # labels for axes -ax.set_xlabel("$\delta^{30}$Si$_{28}$ (‰)") -ax.set_ylabel("$\delta^{29}$Si$_{28}$ (‰)") +ax.set_xlabel(r"$\delta^{30}$Si$_{28}$ (‰)") +ax.set_ylabel(r"$\delta^{29}$Si$_{28}$ (‰)") ax.legend() # aspect and layout diff --git a/examples/titanium_example.py b/examples/titanium_example.py index 2b9899b..ea53284 100644 --- a/examples/titanium_example.py +++ b/examples/titanium_example.py @@ -1,8 +1,8 @@ """For Benoit: Compare some Ti isotope ratios.""" -from iniabu import inimf # import as mass_fraction values right away import matplotlib.pyplot as plt import numpy as np +from iniabu import inimf # import as mass_fraction values right away import pgdtools @@ -79,14 +79,14 @@ a.set_ylim(ylim) # labels for axes - a.set_xlabel("$\delta^{46}$Ti$_{48}$ (‰)") + a.set_xlabel(r"$\delta^{46}$Ti$_{48}$ (‰)") # aspect and layout a.set_aspect("equal") # y label -ax[0].set_ylabel("$\delta^{47}$Ti$_{48}$ (‰)") -ax[1].set_ylabel("$\delta^{49}$Ti$_{48}$ (‰)") +ax[0].set_ylabel(r"$\delta^{47}$Ti$_{48}$ (‰)") +ax[1].set_ylabel(r"$\delta^{49}$Ti$_{48}$ (‰)") fig.tight_layout() diff --git a/src/pgdtools/__init__.py b/src/pgdtools/__init__.py index 41b90c1..9d342b4 100644 --- a/src/pgdtools/__init__.py +++ b/src/pgdtools/__init__.py @@ -11,6 +11,6 @@ "classify_sic_grain", "data", "db", - "pgd", "maintainer", + "pgd", ] diff --git a/src/pgdtools/classify.py b/src/pgdtools/classify.py index c3ec8d1..380ea72 100644 --- a/src/pgdtools/classify.py +++ b/src/pgdtools/classify.py @@ -49,7 +49,7 @@ def classify_sic_grain( if not ret_probabilities: return "U", None # unclassified else: - return dict(zip(types, probabilities)) # + return dict(zip(types, probabilities)) c12_c13 = _replace_errors(c12_c13) n14_n15 = _replace_errors(n14_n15) diff --git a/src/pgdtools/db/__init__.py b/src/pgdtools/db/__init__.py index eb27dd5..d6bfdb3 100644 --- a/src/pgdtools/db/__init__.py +++ b/src/pgdtools/db/__init__.py @@ -1,6 +1,7 @@ """Local database management for various PGD versions.""" from pgdtools.data import BIBFILE, DB_JSON, REFERENCES_JSON, TECHNIQUES_JSON + from . import setup_local from .config import DataBases from .management import current, set_current, update @@ -14,4 +15,4 @@ LOCAL_REF_JSON = LOCAL_PATH.joinpath(f"config/{REFERENCES_JSON.split('/')[-1]}") LOCAL_TECH_JSON = LOCAL_PATH.joinpath(f"config/{TECHNIQUES_JSON.split('/')[-1]}") -__all__ = ["current", "DataBases", "set_current", "update"] +__all__ = ["DataBases", "current", "set_current", "update"] diff --git a/src/pgdtools/db/config.py b/src/pgdtools/db/config.py index 8f15c56..1cf972e 100644 --- a/src/pgdtools/db/config.py +++ b/src/pgdtools/db/config.py @@ -1,7 +1,7 @@ """Classes to deal with the configuration files.""" -from datetime import datetime import json +from datetime import datetime from typing import Any, List from pgdtools import db diff --git a/src/pgdtools/db/management.py b/src/pgdtools/db/management.py index cd0d9de..37dbad6 100644 --- a/src/pgdtools/db/management.py +++ b/src/pgdtools/db/management.py @@ -6,8 +6,7 @@ import requests -from pgdtools import data -from pgdtools import db +from pgdtools import data, db def current() -> Dict[str, Path]: @@ -33,7 +32,7 @@ def current() -> Dict[str, Path]: try: curr = json.load(open(db.LOCAL_CURRENT, "r")) except json.JSONDecodeError as err: - raise IOError(file_io_error) from err + raise OSError(file_io_error) from err # turn values of keys into paths curr_ret = {k: Path(v) for k, v in curr.items()} @@ -166,5 +165,4 @@ def _download_file(url: str, local_file: Path) -> None: raise ConnectionError(f"Connection error {rin.status_code} for url {url}.") with open(local_file, "wb") as floc: - for chunk in rin.iter_content(chunk_size=8192): - floc.write(chunk) + floc.writelines(rin.iter_content(chunk_size=8192)) diff --git a/src/pgdtools/db/setup_local.py b/src/pgdtools/db/setup_local.py index 7243cfe..3d3578a 100644 --- a/src/pgdtools/db/setup_local.py +++ b/src/pgdtools/db/setup_local.py @@ -1,7 +1,7 @@ """Set up the local path for the database based on OS.""" -from pathlib import Path import sys +from pathlib import Path def setup_path() -> Path: diff --git a/src/pgdtools/maintainer/__init__.py b/src/pgdtools/maintainer/__init__.py index 927d7f2..98ac488 100644 --- a/src/pgdtools/maintainer/__init__.py +++ b/src/pgdtools/maintainer/__init__.py @@ -1,9 +1,9 @@ """Tools and routines for maintaining the PGD database.""" from .excel_tools import ( - append_to_db_json, append_reference_json, append_techniques_json, + append_to_db_json, ) -__all__ = ["append_to_db_json", "append_reference_json", "append_techniques_json"] +__all__ = ["append_reference_json", "append_techniques_json", "append_to_db_json"] diff --git a/src/pgdtools/maintainer/excel_tools.py b/src/pgdtools/maintainer/excel_tools.py index a938f92..80f58b8 100644 --- a/src/pgdtools/maintainer/excel_tools.py +++ b/src/pgdtools/maintainer/excel_tools.py @@ -4,11 +4,11 @@ used with `pgdtools`. """ -from datetime import datetime import json +import warnings +from datetime import datetime from pathlib import Path from typing import Union -import warnings import numpy as np import pandas as pd diff --git a/src/pgdtools/sub_tools/filters.py b/src/pgdtools/sub_tools/filters.py index 99c3e75..f70b502 100644 --- a/src/pgdtools/sub_tools/filters.py +++ b/src/pgdtools/sub_tools/filters.py @@ -1,6 +1,6 @@ """Sub tool to add filtering capabilities.""" -from typing import List, Union, Tuple +from typing import List, Tuple, Union import pgdtools import pgdtools.sub_tools.utilities as utl diff --git a/src/pgdtools/sub_tools/format.py b/src/pgdtools/sub_tools/format.py index 8a0fe74..6dc82f1 100644 --- a/src/pgdtools/sub_tools/format.py +++ b/src/pgdtools/sub_tools/format.py @@ -2,7 +2,6 @@ from typing import Tuple - import pgdtools import pgdtools.sub_tools.utilities as utl diff --git a/src/pgdtools/sub_tools/info.py b/src/pgdtools/sub_tools/info.py index c0a8447..bfee5a7 100644 --- a/src/pgdtools/sub_tools/info.py +++ b/src/pgdtools/sub_tools/info.py @@ -1,6 +1,6 @@ """Sub tool to add information querying capabilities.""" -from typing import List, Union, Set, Tuple +from typing import List, Set, Tuple, Union import pgdtools import pgdtools.sub_tools.utilities as utl diff --git a/src/pgdtools/sub_tools/techniques.py b/src/pgdtools/sub_tools/techniques.py index 2bfb469..f7f61a4 100644 --- a/src/pgdtools/sub_tools/techniques.py +++ b/src/pgdtools/sub_tools/techniques.py @@ -2,8 +2,8 @@ import itertools import json -from typing import List, Set import re +from typing import List, Set import pandas as pd diff --git a/src/pgdtools/sub_tools/utilities.py b/src/pgdtools/sub_tools/utilities.py index 872054e..846790e 100644 --- a/src/pgdtools/sub_tools/utilities.py +++ b/src/pgdtools/sub_tools/utilities.py @@ -1,6 +1,6 @@ """Utilities for all tool modules in pgdtools.""" -from typing import Iterable +from collections.abc import Iterable class Isotope: diff --git a/tests/conftest.py b/tests/conftest.py index 056cc23..b90c05c 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -51,7 +51,7 @@ def pgd_setup(tmpdir_home, data_files_dir): current_file = tmpdir_home.joinpath("current.json") current_file.write_text( - f'{{"sic": "{str(sic_db.absolute())}", "gra": "{str(gra_db.absolute())}"}}' + f'{{"sic": "{sic_db.absolute()!s}", "gra": "{gra_db.absolute()!s}"}}' ) # noqa: B907 diff --git a/tests/test_classify.py b/tests/test_classify.py index d1f7e55..d4ec50d 100644 --- a/tests/test_classify.py +++ b/tests/test_classify.py @@ -3,7 +3,8 @@ import numpy as np import pytest -from pgdtools import classify as cl, classify_sic_grain, PresolarGrains +from pgdtools import PresolarGrains, classify_sic_grain +from pgdtools import classify as cl # grains to test, following definitions: # [ diff --git a/tests/test_data/test_urls.py b/tests/test_data/test_urls.py index 79d3053..208319b 100644 --- a/tests/test_data/test_urls.py +++ b/tests/test_data/test_urls.py @@ -11,7 +11,6 @@ from pgdtools import data - ALL_URLS = [data.BIBFILE, data.DB_JSON, data.REFERENCES_JSON, data.TECHNIQUES_JSON] diff --git a/tests/test_db/test_management.py b/tests/test_db/test_management.py index 559a8e1..0687097 100644 --- a/tests/test_db/test_management.py +++ b/tests/test_db/test_management.py @@ -6,7 +6,8 @@ import requests_mock from pgdtools import db -from pgdtools.db import DataBases, management as mgmt +from pgdtools.db import DataBases +from pgdtools.db import management as mgmt def test_current_no_file(): diff --git a/tests/test_pgdtools.py b/tests/test_pgdtools.py index 7880000..f60fec3 100644 --- a/tests/test_pgdtools.py +++ b/tests/test_pgdtools.py @@ -5,7 +5,6 @@ import pgdtools.sub_tools.headers import pgdtools.sub_tools.utilities as utl - # ISOTOPE CLASS # diff --git a/tests/test_sub_tools/test_filters.py b/tests/test_sub_tools/test_filters.py index 03d0739..7fc4a74 100644 --- a/tests/test_sub_tools/test_filters.py +++ b/tests/test_sub_tools/test_filters.py @@ -4,9 +4,8 @@ import pytest from pgdtools import PresolarGrains -from pgdtools.sub_tools import filters as flt from pgdtools.sub_tools import Filters - +from pgdtools.sub_tools import filters as flt # DUNDER METHODS # diff --git a/tests/test_sub_tools/test_references.py b/tests/test_sub_tools/test_references.py index bb52b3e..0182489 100644 --- a/tests/test_sub_tools/test_references.py +++ b/tests/test_sub_tools/test_references.py @@ -4,7 +4,6 @@ from pgdtools.sub_tools import References - # DUNDER METHODS # diff --git a/tests/test_sub_tools/test_techniques.py b/tests/test_sub_tools/test_techniques.py index 639ba09..9f3adbb 100644 --- a/tests/test_sub_tools/test_techniques.py +++ b/tests/test_sub_tools/test_techniques.py @@ -4,7 +4,6 @@ from pgdtools.sub_tools import Techniques - # DUNDER METHODS #