From 75f38572e568b17efe53dff232209984244a84f3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 16 Mar 2026 18:44:24 +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/asottile/setup-cfg-fmt: v3.1.0 → v3.2.0](https://github.com/asottile/setup-cfg-fmt/compare/v3.1.0...v3.2.0) - [github.com/asottile/pyupgrade: v3.21.0 → v3.21.2](https://github.com/asottile/pyupgrade/compare/v3.21.0...v3.21.2) - [github.com/pycqa/isort: 7.0.0 → 8.0.1](https://github.com/pycqa/isort/compare/7.0.0...8.0.1) - [github.com/psf/black-pre-commit-mirror: 25.9.0 → 26.3.1](https://github.com/psf/black-pre-commit-mirror/compare/25.9.0...26.3.1) - [github.com/woodruffw/zizmor-pre-commit: v1.15.2 → v1.23.1](https://github.com/woodruffw/zizmor-pre-commit/compare/v1.15.2...v1.23.1) --- .pre-commit-config.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c36af7d0..4325e903 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -29,7 +29,7 @@ repos: language_version: python3 - repo: https://github.com/asottile/setup-cfg-fmt - rev: v3.1.0 + rev: v3.2.0 hooks: - id: setup-cfg-fmt args: @@ -42,25 +42,25 @@ repos: ] - repo: https://github.com/asottile/pyupgrade - rev: v3.21.0 + rev: v3.21.2 hooks: - id: pyupgrade args: [--py37-plus, --keep-runtime-typing] - repo: https://github.com/pycqa/isort - rev: 7.0.0 + rev: 8.0.1 hooks: - id: isort name: isort (python) args: ["--profile", "black", "--line-length", "80", "--filter-files"] - repo: https://github.com/psf/black-pre-commit-mirror - rev: 25.9.0 + rev: 26.3.1 hooks: - id: black args: ["--line-length", "80"] - repo: https://github.com/woodruffw/zizmor-pre-commit - rev: v1.15.2 + rev: v1.23.1 hooks: - id: zizmor From 53122ee43755d568f1a728abb6468924857ef1ce Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 16 Mar 2026 18:46:35 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- examples/batch-1.py | 1 + examples/batch-2.py | 1 + examples/forces.py | 1 + examples/integrals.py | 1 + examples/issues/123/run.py | 1 + examples/issues/179/run.py | 1 + examples/issues/183/cleaned.py | 1 + examples/issues/187/run.py | 1 + examples/issues/194/run.py | 1 + examples/issues/206/missing-reset.py | 1 + examples/issues/206/run.py | 1 + examples/issues/223/run.py | 1 + examples/limitation_xitorch.py | 1 + examples/profiling/batch-vs-seq-nicotine.py | 1 + examples/profiling/move-device.py | 1 + examples/readme.py | 1 + src/dxtb/__init__.py | 2 +- src/dxtb/_src/calculators/base.py | 1 + src/dxtb/_src/calculators/config/__init__.py | 1 + src/dxtb/_src/calculators/gfn1.py | 1 + src/dxtb/_src/calculators/gfn2.py | 1 + src/dxtb/_src/calculators/properties/__init__.py | 1 + src/dxtb/_src/calculators/types/__init__.py | 1 + src/dxtb/_src/calculators/types/abc.py | 1 + src/dxtb/_src/calculators/types/base.py | 1 + src/dxtb/_src/components/classicals/dispersion/d3.py | 1 + src/dxtb/_src/components/classicals/halogen/factory.py | 1 + src/dxtb/_src/components/interactions/base.py | 1 + src/dxtb/_src/exlibs/__init__.py | 1 + src/dxtb/_src/exlibs/pyscf/mol/__init__.py | 1 + src/dxtb/_src/exlibs/pyscf/mol/base.py | 1 + src/dxtb/_src/exlibs/xitorch/_impls/linalg/symeig.py | 2 +- src/dxtb/_src/exlibs/xitorch/_impls/optimize/minimizer.py | 1 + src/dxtb/_src/integral/driver/__init__.py | 1 + src/dxtb/_src/integral/driver/manager.py | 1 + src/dxtb/_src/integral/factory.py | 1 + src/dxtb/_src/integral/types/__init__.py | 1 + src/dxtb/_src/loader/__init__.py | 1 + src/dxtb/_src/loader/lazy/__init__.py | 1 + src/dxtb/_src/param/base.py | 1 + src/dxtb/_src/param/gfn1/__init__.py | 1 + src/dxtb/_src/param/gfn2/__init__.py | 1 + src/dxtb/_src/param/module/__init__.py | 1 + src/dxtb/_src/param/module/param.py | 1 + src/dxtb/_src/param/module/types.py | 1 + src/dxtb/_src/param/module/utils.py | 1 + src/dxtb/_src/scf/implicit/__init__.py | 1 + src/dxtb/_src/scf/result.py | 1 + src/dxtb/_src/scf/unrolling/__init__.py | 1 + src/dxtb/_src/typing/__init__.py | 1 + src/dxtb/_src/typing/builtin.py | 1 + src/dxtb/_src/typing/compat.py | 1 + src/dxtb/_src/typing/exceptions/__init__.py | 1 + src/dxtb/_src/typing/exceptions/pytorch.py | 1 + src/dxtb/_src/typing/project.py | 1 + src/dxtb/_src/typing/pytorch.py | 1 + src/dxtb/_src/utils/misc.py | 1 + src/dxtb/components/__init__.py | 1 + src/dxtb/components/coulomb.py | 1 + src/dxtb/integrals/__init__.py | 1 + test/conftest.py | 5 +++-- test/test_calculator/test_cache/test_invalid.py | 1 + test/test_calculator/test_cache/test_properties.py | 1 + test/test_config/test_export.py | 1 + test/test_coulomb/test_es2_general.py | 1 + test/test_coulomb/test_grad_atom.py | 1 + test/test_coulomb/test_grad_shell.py | 1 + test/test_hamiltonian/test_general.py | 1 + test/test_io/test_logging.py | 1 + test/test_io/test_outputs.py | 1 + test/test_param/test_param.py | 1 + test/test_utils/test_misc.py | 1 + 72 files changed, 74 insertions(+), 4 deletions(-) diff --git a/examples/batch-1.py b/examples/batch-1.py index f3e1513f..2fd69fff 100755 --- a/examples/batch-1.py +++ b/examples/batch-1.py @@ -18,6 +18,7 @@ """ Running a simple batched calculation. """ + import torch import dxtb diff --git a/examples/batch-2.py b/examples/batch-2.py index ae4b7786..4f8a5a30 100755 --- a/examples/batch-2.py +++ b/examples/batch-2.py @@ -18,6 +18,7 @@ """ Obtaining the interaction energy of a dimer from a batched calculation. """ + import tad_mctc as mctc import torch diff --git a/examples/forces.py b/examples/forces.py index 2f034264..2ac9663d 100755 --- a/examples/forces.py +++ b/examples/forces.py @@ -18,6 +18,7 @@ """ Calculating forces for vancomycin via AD. """ + from pathlib import Path import torch diff --git a/examples/integrals.py b/examples/integrals.py index 467a7c14..651c9163 100755 --- a/examples/integrals.py +++ b/examples/integrals.py @@ -18,6 +18,7 @@ """ Simple integral interface. Can be helpful for testing. """ + from pathlib import Path import torch diff --git a/examples/issues/123/run.py b/examples/issues/123/run.py index d8b84165..07c8e5d1 100755 --- a/examples/issues/123/run.py +++ b/examples/issues/123/run.py @@ -18,6 +18,7 @@ """ https://github.com/grimme-lab/dxtb/issues/123 """ + from __future__ import annotations from pathlib import Path diff --git a/examples/issues/179/run.py b/examples/issues/179/run.py index 47adcc80..de517c26 100755 --- a/examples/issues/179/run.py +++ b/examples/issues/179/run.py @@ -18,6 +18,7 @@ """ https://github.com/grimme-lab/dxtb/issues/179 """ + import torch import dxtb diff --git a/examples/issues/183/cleaned.py b/examples/issues/183/cleaned.py index a0ceb6d6..919ded37 100755 --- a/examples/issues/183/cleaned.py +++ b/examples/issues/183/cleaned.py @@ -18,6 +18,7 @@ """ https://github.com/grimme-lab/dxtb/issues/183 """ + import torch import dxtb diff --git a/examples/issues/187/run.py b/examples/issues/187/run.py index a793f125..6641c268 100755 --- a/examples/issues/187/run.py +++ b/examples/issues/187/run.py @@ -18,6 +18,7 @@ """ https://github.com/grimme-lab/dxtb/issues/187 """ + import torch import dxtb diff --git a/examples/issues/194/run.py b/examples/issues/194/run.py index 53923fc6..1e7c43f2 100755 --- a/examples/issues/194/run.py +++ b/examples/issues/194/run.py @@ -18,6 +18,7 @@ """ https://github.com/grimme-lab/dxtb/issues/194 """ + import torch import dxtb diff --git a/examples/issues/206/missing-reset.py b/examples/issues/206/missing-reset.py index d877bae0..ac8c3fd8 100755 --- a/examples/issues/206/missing-reset.py +++ b/examples/issues/206/missing-reset.py @@ -18,6 +18,7 @@ """ https://github.com/grimme-lab/dxtb/issues/206 """ + import concurrent.futures import tempfile from tempfile import NamedTemporaryFile diff --git a/examples/issues/206/run.py b/examples/issues/206/run.py index 080db57c..d98f134c 100755 --- a/examples/issues/206/run.py +++ b/examples/issues/206/run.py @@ -18,6 +18,7 @@ """ https://github.com/grimme-lab/dxtb/issues/206 """ + import concurrent.futures import tempfile from tempfile import NamedTemporaryFile diff --git a/examples/issues/223/run.py b/examples/issues/223/run.py index e5ce86be..17aa9fce 100755 --- a/examples/issues/223/run.py +++ b/examples/issues/223/run.py @@ -18,6 +18,7 @@ """ https://github.com/grimme-lab/dxtb/issues/223 """ + import torch from tad_mctc import read from tad_mctc.batch import pack diff --git a/examples/limitation_xitorch.py b/examples/limitation_xitorch.py index 925cf3e5..76346a94 100755 --- a/examples/limitation_xitorch.py +++ b/examples/limitation_xitorch.py @@ -18,6 +18,7 @@ """ Example for xitorch's inability to be used together with functorch. """ + from pathlib import Path import torch diff --git a/examples/profiling/batch-vs-seq-nicotine.py b/examples/profiling/batch-vs-seq-nicotine.py index f919c909..6f74aafa 100755 --- a/examples/profiling/batch-vs-seq-nicotine.py +++ b/examples/profiling/batch-vs-seq-nicotine.py @@ -18,6 +18,7 @@ """ Comparing sequential and batched execution. """ + from pathlib import Path import torch diff --git a/examples/profiling/move-device.py b/examples/profiling/move-device.py index df56881c..7f9724e4 100755 --- a/examples/profiling/move-device.py +++ b/examples/profiling/move-device.py @@ -18,6 +18,7 @@ """ Simple energy calculation. """ + import functools import logging import traceback diff --git a/examples/readme.py b/examples/readme.py index 124aa0c1..c9751a24 100755 --- a/examples/readme.py +++ b/examples/readme.py @@ -18,6 +18,7 @@ """ Example from README.md. """ + import torch import dxtb diff --git a/src/dxtb/__init__.py b/src/dxtb/__init__.py index d16bc776..2261ee78 100644 --- a/src/dxtb/__init__.py +++ b/src/dxtb/__init__.py @@ -20,6 +20,7 @@ A fully differentiable extended tight-binding package. """ + # pylint: disable=C0411,C0412,C0413,C0414 # import timer first to get correct total time @@ -44,7 +45,6 @@ from dxtb.__version__ import __version__ - # order is important here from dxtb._src.io import OutputHandler as OutputHandler from dxtb._src.basis.indexhelper import IndexHelper as IndexHelper diff --git a/src/dxtb/_src/calculators/base.py b/src/dxtb/_src/calculators/base.py index dcf4af7b..46cb3d74 100644 --- a/src/dxtb/_src/calculators/base.py +++ b/src/dxtb/_src/calculators/base.py @@ -22,6 +22,7 @@ This calculator provides analytical, autograd, and numerical versions of all properties. """ + from __future__ import annotations from dxtb._src.constants import defaults diff --git a/src/dxtb/_src/calculators/config/__init__.py b/src/dxtb/_src/calculators/config/__init__.py index 5fd9537d..59a92f6c 100644 --- a/src/dxtb/_src/calculators/config/__init__.py +++ b/src/dxtb/_src/calculators/config/__init__.py @@ -58,6 +58,7 @@ The default verbosity level is set to 5. The minimum verbosity level is 0, which corresponds to no output. The maximum verbosity level is 10. """ + from .cache import * from .integral import * from .main import * diff --git a/src/dxtb/_src/calculators/gfn1.py b/src/dxtb/_src/calculators/gfn1.py index 7376db82..8e0dfc2f 100644 --- a/src/dxtb/_src/calculators/gfn1.py +++ b/src/dxtb/_src/calculators/gfn1.py @@ -20,6 +20,7 @@ Calculator for the first generation extended tight-binding model (GFN1-xTB). """ + from __future__ import annotations import torch diff --git a/src/dxtb/_src/calculators/gfn2.py b/src/dxtb/_src/calculators/gfn2.py index 936caeb9..46b0ff03 100644 --- a/src/dxtb/_src/calculators/gfn2.py +++ b/src/dxtb/_src/calculators/gfn2.py @@ -20,6 +20,7 @@ Calculator for the second generation extended tight-binding model (GFN2-xTB). """ + from __future__ import annotations import torch diff --git a/src/dxtb/_src/calculators/properties/__init__.py b/src/dxtb/_src/calculators/properties/__init__.py index 81c042c2..7da5abaa 100644 --- a/src/dxtb/_src/calculators/properties/__init__.py +++ b/src/dxtb/_src/calculators/properties/__init__.py @@ -28,6 +28,7 @@ - IR intensities - static Raman intensities """ + from dxtb._src.typing import TYPE_CHECKING if TYPE_CHECKING: diff --git a/src/dxtb/_src/calculators/types/__init__.py b/src/dxtb/_src/calculators/types/__init__.py index fcf92e48..5730c949 100644 --- a/src/dxtb/_src/calculators/types/__init__.py +++ b/src/dxtb/_src/calculators/types/__init__.py @@ -63,6 +63,7 @@ class **inherits from all types**, i.e., it provides the energy and properties if we need to differentiate for multiple properties at once (e.g., Hessian and dipole moment for IR spectra). Hence, the default is ``use_functorch=False``. """ + from .analytical import AnalyticalCalculator from .autograd import AutogradCalculator from .energy import EnergyCalculator diff --git a/src/dxtb/_src/calculators/types/abc.py b/src/dxtb/_src/calculators/types/abc.py index 1f66d3f7..8be50156 100644 --- a/src/dxtb/_src/calculators/types/abc.py +++ b/src/dxtb/_src/calculators/types/abc.py @@ -21,6 +21,7 @@ Abstract helper classes for reduction of boilerplace method definitions (i.e., duplication) in calculators. """ + from __future__ import annotations from abc import ABC, abstractmethod diff --git a/src/dxtb/_src/calculators/types/base.py b/src/dxtb/_src/calculators/types/base.py index f349ef96..d3408406 100644 --- a/src/dxtb/_src/calculators/types/base.py +++ b/src/dxtb/_src/calculators/types/base.py @@ -23,6 +23,7 @@ class and implement the :meth:`calculate` method and the corresponding methods to calculate the properties specified within this :meth:`calculate`, as well as the :attr:`implemented_properties` attribute. """ + from __future__ import annotations from abc import abstractmethod diff --git a/src/dxtb/_src/components/classicals/dispersion/d3.py b/src/dxtb/_src/components/classicals/dispersion/d3.py index 47d19334..7250ea02 100644 --- a/src/dxtb/_src/components/classicals/dispersion/d3.py +++ b/src/dxtb/_src/components/classicals/dispersion/d3.py @@ -20,6 +20,7 @@ The DFT-D3 dispersion model. """ + from __future__ import annotations import tad_dftd3 as d3 diff --git a/src/dxtb/_src/components/classicals/halogen/factory.py b/src/dxtb/_src/components/classicals/halogen/factory.py index 6a628793..22bd109c 100644 --- a/src/dxtb/_src/components/classicals/halogen/factory.py +++ b/src/dxtb/_src/components/classicals/halogen/factory.py @@ -21,6 +21,7 @@ A factory function to create instances of the :class:`dxtb.components.Halogen` class. """ + from __future__ import annotations import torch diff --git a/src/dxtb/_src/components/interactions/base.py b/src/dxtb/_src/components/interactions/base.py index 7ca6a3e8..eab8d66b 100644 --- a/src/dxtb/_src/components/interactions/base.py +++ b/src/dxtb/_src/components/interactions/base.py @@ -19,6 +19,7 @@ Provides base class for interactions in the extended tight-binding Hamiltonian. The `Interaction` class is not purely abstract as its methods return zero. """ + # pylint: disable=unused-argument from __future__ import annotations diff --git a/src/dxtb/_src/exlibs/__init__.py b/src/dxtb/_src/exlibs/__init__.py index 8d3f7acf..6aa94c45 100644 --- a/src/dxtb/_src/exlibs/__init__.py +++ b/src/dxtb/_src/exlibs/__init__.py @@ -22,6 +22,7 @@ to reduce import times and to avoid unnecessary imports if the library is not used. """ + from typing import TYPE_CHECKING if TYPE_CHECKING: diff --git a/src/dxtb/_src/exlibs/pyscf/mol/__init__.py b/src/dxtb/_src/exlibs/pyscf/mol/__init__.py index bebb4214..20bbee18 100644 --- a/src/dxtb/_src/exlibs/pyscf/mol/__init__.py +++ b/src/dxtb/_src/exlibs/pyscf/mol/__init__.py @@ -40,4 +40,5 @@ mol = M(numbers, positions) """ + from .base import * diff --git a/src/dxtb/_src/exlibs/pyscf/mol/base.py b/src/dxtb/_src/exlibs/pyscf/mol/base.py index 3a1b94a1..c7b1994e 100644 --- a/src/dxtb/_src/exlibs/pyscf/mol/base.py +++ b/src/dxtb/_src/exlibs/pyscf/mol/base.py @@ -22,6 +22,7 @@ This module contains a class for a molecular representation in PySCF's format. It also contains the short-cut version as in PySCF (``M``). """ + from __future__ import annotations import warnings diff --git a/src/dxtb/_src/exlibs/xitorch/_impls/linalg/symeig.py b/src/dxtb/_src/exlibs/xitorch/_impls/linalg/symeig.py index 4ee6cfb2..ed822b06 100644 --- a/src/dxtb/_src/exlibs/xitorch/_impls/linalg/symeig.py +++ b/src/dxtb/_src/exlibs/xitorch/_impls/linalg/symeig.py @@ -266,7 +266,7 @@ def davidson( print( "Iter %3d (guess size: %d): resid: %.3e, devals: %.3e" % (i + 1, nguess, max_resid, max_deigval) - ) # type:ignore + ) # type: ignore if max_resid < best_resid: best_resid = max_resid diff --git a/src/dxtb/_src/exlibs/xitorch/_impls/optimize/minimizer.py b/src/dxtb/_src/exlibs/xitorch/_impls/optimize/minimizer.py index 9c71f680..9e0f10f3 100644 --- a/src/dxtb/_src/exlibs/xitorch/_impls/optimize/minimizer.py +++ b/src/dxtb/_src/exlibs/xitorch/_impls/optimize/minimizer.py @@ -23,6 +23,7 @@ Implementations of minimizer functions. """ + import warnings from typing import Callable, List, Optional diff --git a/src/dxtb/_src/integral/driver/__init__.py b/src/dxtb/_src/integral/driver/__init__.py index 6c59d7e2..b8892851 100644 --- a/src/dxtb/_src/integral/driver/__init__.py +++ b/src/dxtb/_src/integral/driver/__init__.py @@ -28,6 +28,7 @@ The `PyTorch` drivers are implemented in pure Python, but are currently only available for overlap integrals. """ + from .base import IntDriver # no specific driver imports here to allow lazy loading of drivers diff --git a/src/dxtb/_src/integral/driver/manager.py b/src/dxtb/_src/integral/driver/manager.py index 3f3e4780..25c1a27c 100644 --- a/src/dxtb/_src/integral/driver/manager.py +++ b/src/dxtb/_src/integral/driver/manager.py @@ -21,6 +21,7 @@ The driver manager contains the selection logic, i.e., the it instantiates the appropriate driver based on the configuration. """ + from __future__ import annotations import logging diff --git a/src/dxtb/_src/integral/factory.py b/src/dxtb/_src/integral/factory.py index b618cfa4..05cf12e8 100644 --- a/src/dxtb/_src/integral/factory.py +++ b/src/dxtb/_src/integral/factory.py @@ -20,6 +20,7 @@ Factory functions for integral classes. """ + # pylint: disable=import-outside-toplevel from __future__ import annotations diff --git a/src/dxtb/_src/integral/types/__init__.py b/src/dxtb/_src/integral/types/__init__.py index 808067cb..679000a2 100644 --- a/src/dxtb/_src/integral/types/__init__.py +++ b/src/dxtb/_src/integral/types/__init__.py @@ -28,6 +28,7 @@ Note that the Hamiltonian is different as it does not require a driver. """ + from .dipole import * from .overlap import * from .quadrupole import * diff --git a/src/dxtb/_src/loader/__init__.py b/src/dxtb/_src/loader/__init__.py index 8c614d5f..dd4228d8 100644 --- a/src/dxtb/_src/loader/__init__.py +++ b/src/dxtb/_src/loader/__init__.py @@ -20,6 +20,7 @@ Collection of various loaders for different purposes. """ + from dxtb._src.typing import TYPE_CHECKING if TYPE_CHECKING: diff --git a/src/dxtb/_src/loader/lazy/__init__.py b/src/dxtb/_src/loader/lazy/__init__.py index 40571b35..58f4d723 100644 --- a/src/dxtb/_src/loader/lazy/__init__.py +++ b/src/dxtb/_src/loader/lazy/__init__.py @@ -69,6 +69,7 @@ del _lazy """ + from .lazy_module import * from .lazy_param import * from .lazy_var import * diff --git a/src/dxtb/_src/param/base.py b/src/dxtb/_src/param/base.py index 24587b5e..b2c7cbe5 100644 --- a/src/dxtb/_src/param/base.py +++ b/src/dxtb/_src/param/base.py @@ -28,6 +28,7 @@ .. _tblite: https://tblite.readthedocs.io """ + # pylint: disable=import-outside-toplevel from __future__ import annotations diff --git a/src/dxtb/_src/param/gfn1/__init__.py b/src/dxtb/_src/param/gfn1/__init__.py index 08730aeb..2d9b5a58 100644 --- a/src/dxtb/_src/param/gfn1/__init__.py +++ b/src/dxtb/_src/param/gfn1/__init__.py @@ -38,4 +38,5 @@ # Verify that the parameters are now loaded print(GFN1_XTB._loaded is None) # Expected output: False """ + from .load import GFN1_XTB as GFN1_XTB diff --git a/src/dxtb/_src/param/gfn2/__init__.py b/src/dxtb/_src/param/gfn2/__init__.py index 28106148..4eadef6d 100644 --- a/src/dxtb/_src/param/gfn2/__init__.py +++ b/src/dxtb/_src/param/gfn2/__init__.py @@ -38,4 +38,5 @@ # Now, the parameters should be loaded print(GFN2_XTB._loaded is None) # Expected output: False """ + from .load import GFN2_XTB as GFN2_XTB diff --git a/src/dxtb/_src/param/module/__init__.py b/src/dxtb/_src/param/module/__init__.py index 227cf825..22b6eb52 100644 --- a/src/dxtb/_src/param/module/__init__.py +++ b/src/dxtb/_src/param/module/__init__.py @@ -24,4 +24,5 @@ The :class:`.ParamModule` class automatically converts a Pydantic model into a hierarchical :class:`~torch.nn.Module` tree. """ + from .param import * diff --git a/src/dxtb/_src/param/module/param.py b/src/dxtb/_src/param/module/param.py index 6077fcdc..be9d7538 100644 --- a/src/dxtb/_src/param/module/param.py +++ b/src/dxtb/_src/param/module/param.py @@ -24,6 +24,7 @@ The :class:`.ParamModule` class automatically converts a Pydantic model into a hierarchical :class:`~torch.nn.Module` tree. """ + from __future__ import annotations import torch diff --git a/src/dxtb/_src/param/module/types.py b/src/dxtb/_src/param/module/types.py index 636ba6f6..ada79b2a 100644 --- a/src/dxtb/_src/param/module/types.py +++ b/src/dxtb/_src/param/module/types.py @@ -21,6 +21,7 @@ Types for the differentiable representation of the extended tight-binding parametrization using PyTorch. """ + from __future__ import annotations from torch import nn diff --git a/src/dxtb/_src/param/module/utils.py b/src/dxtb/_src/param/module/utils.py index 49bccc6e..b6e1a75e 100644 --- a/src/dxtb/_src/param/module/utils.py +++ b/src/dxtb/_src/param/module/utils.py @@ -24,6 +24,7 @@ The :class:`.ParamModule` class automatically converts a Pydantic model into a hierarchical :class:`~torch.nn.Module` tree. """ + from __future__ import annotations from types import SimpleNamespace diff --git a/src/dxtb/_src/scf/implicit/__init__.py b/src/dxtb/_src/scf/implicit/__init__.py index 5f5e65e2..5ee32724 100644 --- a/src/dxtb/_src/scf/implicit/__init__.py +++ b/src/dxtb/_src/scf/implicit/__init__.py @@ -28,4 +28,5 @@ Currently, the implicit SCF implementations are not fully compatible with PyTorch's composable function transforms. """ + from .default import SelfConsistentFieldImplicit diff --git a/src/dxtb/_src/scf/result.py b/src/dxtb/_src/scf/result.py index 32584125..c5263806 100644 --- a/src/dxtb/_src/scf/result.py +++ b/src/dxtb/_src/scf/result.py @@ -20,6 +20,7 @@ Result type for SCF. """ + from __future__ import annotations from dxtb._src.components.interactions.container import Charges, Potential diff --git a/src/dxtb/_src/scf/unrolling/__init__.py b/src/dxtb/_src/scf/unrolling/__init__.py index a7bccd0d..98118149 100644 --- a/src/dxtb/_src/scf/unrolling/__init__.py +++ b/src/dxtb/_src/scf/unrolling/__init__.py @@ -22,5 +22,6 @@ the implicit function theorem is not used. This is inherently more memory intensive than using the implicit function theorem. """ + from .default import SelfConsistentFieldFull from .singleshot import SelfConsistentFieldSingleShot diff --git a/src/dxtb/_src/typing/__init__.py b/src/dxtb/_src/typing/__init__.py index 98b81068..065e0e75 100644 --- a/src/dxtb/_src/typing/__init__.py +++ b/src/dxtb/_src/typing/__init__.py @@ -23,6 +23,7 @@ Since typing still significantly changes across different Python versions, all the special cases are handled here as well. """ + from . import exceptions from .builtin import * from .compat import * diff --git a/src/dxtb/_src/typing/builtin.py b/src/dxtb/_src/typing/builtin.py index 52e50828..8605ae70 100644 --- a/src/dxtb/_src/typing/builtin.py +++ b/src/dxtb/_src/typing/builtin.py @@ -20,6 +20,7 @@ This module contains all used built-in type annotations. """ + from typing import ( IO, TYPE_CHECKING, diff --git a/src/dxtb/_src/typing/compat.py b/src/dxtb/_src/typing/compat.py index 9ca23240..c5c89b4c 100644 --- a/src/dxtb/_src/typing/compat.py +++ b/src/dxtb/_src/typing/compat.py @@ -21,6 +21,7 @@ Since typing still significantly changes across different Python versions, all the special cases are handled here. """ + from __future__ import annotations import sys diff --git a/src/dxtb/_src/typing/exceptions/__init__.py b/src/dxtb/_src/typing/exceptions/__init__.py index daa2c1e9..db5de05c 100644 --- a/src/dxtb/_src/typing/exceptions/__init__.py +++ b/src/dxtb/_src/typing/exceptions/__init__.py @@ -20,6 +20,7 @@ Custom exceptions and warnings for dxtb. """ + from .integral import * from .misc import * from .pytorch import * diff --git a/src/dxtb/_src/typing/exceptions/pytorch.py b/src/dxtb/_src/typing/exceptions/pytorch.py index 04392ba1..5c8f22de 100644 --- a/src/dxtb/_src/typing/exceptions/pytorch.py +++ b/src/dxtb/_src/typing/exceptions/pytorch.py @@ -20,6 +20,7 @@ Exceptions related to PyTorch. """ + from tad_mctc.exceptions import DeviceError, DtypeError __all__ = ["DeviceError", "DtypeError"] diff --git a/src/dxtb/_src/typing/project.py b/src/dxtb/_src/typing/project.py index a8cfc43e..38e03a2c 100644 --- a/src/dxtb/_src/typing/project.py +++ b/src/dxtb/_src/typing/project.py @@ -20,6 +20,7 @@ Project-specific type annotations. """ + from __future__ import annotations import torch diff --git a/src/dxtb/_src/typing/pytorch.py b/src/dxtb/_src/typing/pytorch.py index 82c70677..8a4fc724 100644 --- a/src/dxtb/_src/typing/pytorch.py +++ b/src/dxtb/_src/typing/pytorch.py @@ -23,6 +23,7 @@ Most importantly, the `TensorLike` base class is defined, which brings tensor-like behavior (`.to` and `.type` methods) to classes. """ + from tad_mctc.typing.pytorch import ( DD, MockTensor, diff --git a/src/dxtb/_src/utils/misc.py b/src/dxtb/_src/utils/misc.py index 5b247296..f64caff4 100644 --- a/src/dxtb/_src/utils/misc.py +++ b/src/dxtb/_src/utils/misc.py @@ -25,6 +25,7 @@ - JIT enabler - Memoization decorators """ + from __future__ import annotations import torch diff --git a/src/dxtb/components/__init__.py b/src/dxtb/components/__init__.py index 37a1d7b3..e727fef4 100644 --- a/src/dxtb/components/__init__.py +++ b/src/dxtb/components/__init__.py @@ -43,6 +43,7 @@ print(disp.label) # DispersionD3 """ + from typing import TYPE_CHECKING if TYPE_CHECKING: diff --git a/src/dxtb/components/coulomb.py b/src/dxtb/components/coulomb.py index 0fcfac70..6abe410d 100644 --- a/src/dxtb/components/coulomb.py +++ b/src/dxtb/components/coulomb.py @@ -20,6 +20,7 @@ Tight-binding components for Coulomb interactions. """ + # pylint: disable=useless-import-alias from dxtb._src.components.interactions.coulomb import AES2 as AES2 from dxtb._src.components.interactions.coulomb import ES2 as ES2 diff --git a/src/dxtb/integrals/__init__.py b/src/dxtb/integrals/__init__.py index 567c94fb..90218ae4 100644 --- a/src/dxtb/integrals/__init__.py +++ b/src/dxtb/integrals/__init__.py @@ -49,6 +49,7 @@ print(calc.opts.ints.driver) # 0 """ + from typing import TYPE_CHECKING if TYPE_CHECKING: diff --git a/test/conftest.py b/test/conftest.py index b8627af0..92b41e33 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -17,6 +17,7 @@ """ Setup for pytest. """ + from __future__ import annotations import numpy as np @@ -138,10 +139,10 @@ def pytest_configure(config: pytest.Config) -> None: if config.getoption("--jit"): # pylint: disable-next=protected-access - torch.jit._state.enable() # type:ignore + torch.jit._state.enable() # type: ignore else: # pylint: disable-next=protected-access - torch.jit._state.disable() # type:ignore + torch.jit._state.disable() # type: ignore if config.getoption("--fast"): FAST_MODE = True diff --git a/test/test_calculator/test_cache/test_invalid.py b/test/test_calculator/test_cache/test_invalid.py index 9bc43c79..07c5f6bb 100644 --- a/test/test_calculator/test_cache/test_invalid.py +++ b/test/test_calculator/test_cache/test_invalid.py @@ -17,6 +17,7 @@ """ Test Calculator usage. """ + # pylint: disable=protected-access from __future__ import annotations diff --git a/test/test_calculator/test_cache/test_properties.py b/test/test_calculator/test_cache/test_properties.py index f052d6c1..72ecd4cb 100644 --- a/test/test_calculator/test_cache/test_properties.py +++ b/test/test_calculator/test_cache/test_properties.py @@ -17,6 +17,7 @@ """ Test Calculator usage. """ + # pylint: disable=protected-access from __future__ import annotations diff --git a/test/test_config/test_export.py b/test/test_config/test_export.py index 6032e1be..2853a4ea 100644 --- a/test/test_config/test_export.py +++ b/test/test_config/test_export.py @@ -17,6 +17,7 @@ """ Test JSON export. """ + from __future__ import annotations from dxtb.config import Config diff --git a/test/test_coulomb/test_es2_general.py b/test/test_coulomb/test_es2_general.py index 2783eae0..df7d573a 100644 --- a/test/test_coulomb/test_es2_general.py +++ b/test/test_coulomb/test_es2_general.py @@ -19,6 +19,7 @@ Run generic tests for energy contribution from isotropic second-order electrostatic energy (ES2). """ + from __future__ import annotations import pytest diff --git a/test/test_coulomb/test_grad_atom.py b/test/test_coulomb/test_grad_atom.py index 5d4abc62..1f608d9c 100644 --- a/test/test_coulomb/test_grad_atom.py +++ b/test/test_coulomb/test_grad_atom.py @@ -18,6 +18,7 @@ """ Run tests for gradient from isotropic second-order electrostatic energy (ES2). """ + from __future__ import annotations from math import sqrt diff --git a/test/test_coulomb/test_grad_shell.py b/test/test_coulomb/test_grad_shell.py index 21559ef1..48860ea1 100644 --- a/test/test_coulomb/test_grad_shell.py +++ b/test/test_coulomb/test_grad_shell.py @@ -18,6 +18,7 @@ """ Run tests for gradient from isotropic second-order electrostatic energy (ES2). """ + from __future__ import annotations from math import sqrt diff --git a/test/test_hamiltonian/test_general.py b/test/test_hamiltonian/test_general.py index d53013d6..10bda794 100644 --- a/test/test_hamiltonian/test_general.py +++ b/test/test_hamiltonian/test_general.py @@ -17,6 +17,7 @@ """ General test for Core GFN1Hamiltonian. """ + # pylint: disable=protected-access from __future__ import annotations diff --git a/test/test_io/test_logging.py b/test/test_io/test_logging.py index a5f823c9..a7beb876 100644 --- a/test/test_io/test_logging.py +++ b/test/test_io/test_logging.py @@ -17,6 +17,7 @@ """ Test logging utils. """ + from __future__ import annotations from dxtb._src.io.logutils import DEFAULT_LOG_CONFIG, get_logging_config diff --git a/test/test_io/test_outputs.py b/test/test_io/test_outputs.py index 065630d5..a3907e2f 100644 --- a/test/test_io/test_outputs.py +++ b/test/test_io/test_outputs.py @@ -17,6 +17,7 @@ """ Test output. """ + from __future__ import annotations from unittest.mock import MagicMock, patch diff --git a/test/test_param/test_param.py b/test/test_param/test_param.py index 18167fc8..97577b36 100644 --- a/test/test_param/test_param.py +++ b/test/test_param/test_param.py @@ -17,6 +17,7 @@ """ Test the parametrization of the Hamiltonian. """ + # pylint: disable=missing-function-docstring, protected-access from __future__ import annotations diff --git a/test/test_utils/test_misc.py b/test/test_utils/test_misc.py index 231771b3..d4d5dce4 100644 --- a/test/test_utils/test_misc.py +++ b/test/test_utils/test_misc.py @@ -18,6 +18,7 @@ """ Test additional utility functions. """ + from __future__ import annotations import pytest