From a12d3f793137db5dbc81c35acc125b09f16740c6 Mon Sep 17 00:00:00 2001 From: Atharva Arya <55894364+atharva-2001@users.noreply.github.com> Date: Wed, 25 Sep 2024 22:30:46 +0530 Subject: [PATCH] Ruff `tardis/io` (#2827) * ruff io auto safe fixes * ruff io auto unsafe fixes * black tardis/io/util.py * black tardis/io/model/readers/arepo.py --- tardis/io/atom_data/__init__.py | 4 +- tardis/io/atom_data/base.py | 4 +- tardis/io/atom_data/util.py | 10 ++--- tardis/io/configuration/config_internal.py | 10 +++-- tardis/io/configuration/config_reader.py | 8 ++-- tardis/io/configuration/config_validator.py | 5 +-- .../configuration/tests/test_config_reader.py | 10 ++--- .../tests/test_configuration_namespace.py | 7 +-- tardis/io/logger/__init__.py | 2 +- tardis/io/logger/colored_logger.py | 1 - tardis/io/logger/logger.py | 7 ++- tardis/io/logger/montecarlo_tracking.py | 1 - tardis/io/logger/tests/test_logging.py | 14 +++--- tardis/io/model/__init__.py | 3 +- tardis/io/model/readers/arepo.py | 43 ++++++------------- tardis/io/model/readers/artis.py | 3 +- tardis/io/model/readers/base.py | 13 +++--- tardis/io/model/readers/blondin_toymodel.py | 4 +- tardis/io/model/readers/cmfgen.py | 5 +-- tardis/io/model/readers/cmfgen_deprecated.py | 9 ++-- tardis/io/model/readers/csvy.py | 7 +-- tardis/io/model/readers/generic_readers.py | 1 - tardis/io/model/readers/stella.py | 1 - .../model/readers/tests/test_arepo_parser.py | 22 +++++----- .../model/readers/tests/test_ascii_readers.py | 12 ++---- .../model/readers/tests/test_cmfgen_reader.py | 5 +-- .../model/readers/tests/test_csvy_reader.py | 12 +++--- .../model/readers/tests/test_stella_reader.py | 6 +-- tardis/io/tests/test_HDFWriter.py | 4 +- tardis/io/tests/test_atomic.py | 4 +- tardis/io/tests/test_decay.py | 4 +- tardis/io/tests/test_model_reader.py | 1 - tardis/io/util.py | 11 ++--- 33 files changed, 104 insertions(+), 149 deletions(-) diff --git a/tardis/io/atom_data/__init__.py b/tardis/io/atom_data/__init__.py index 39d2bbdfef1..af7e471a7dd 100644 --- a/tardis/io/atom_data/__init__.py +++ b/tardis/io/atom_data/__init__.py @@ -1,6 +1,6 @@ """ -Getting and handling the atomic data. +Getting and handling the atomic data. """ -from tardis.io.atom_data.base import AtomData from tardis.io.atom_data.atom_web_download import download_atom_data +from tardis.io.atom_data.base import AtomData diff --git a/tardis/io/atom_data/base.py b/tardis/io/atom_data/base.py index 3f53408a210..33e8e4bbca2 100644 --- a/tardis/io/atom_data/base.py +++ b/tardis/io/atom_data/base.py @@ -1,9 +1,9 @@ import logging +from dataclasses import dataclass import numpy as np import pandas as pd from astropy.units import Quantity -from dataclasses import dataclass from tardis import constants as const from tardis.io.atom_data.collision_data import ( @@ -264,7 +264,7 @@ def from_hdf(cls, fname=None): ) if nonavailable: logger.info( - "Non provided Atomic Data: {0}".format( + "Non provided Atomic Data: {}".format( ", ".join(nonavailable) ) ) diff --git a/tardis/io/atom_data/util.py b/tardis/io/atom_data/util.py index ce4b2765bce..3f4f5eb52b7 100644 --- a/tardis/io/atom_data/util.py +++ b/tardis/io/atom_data/util.py @@ -1,12 +1,11 @@ -import os import logging +import os from pathlib import Path -from tardis.io.configuration.config_internal import get_data_dir from tardis.io.atom_data.atom_web_download import ( get_atomic_repo_config, - download_atom_data, ) +from tardis.io.configuration.config_internal import get_data_dir logger = logging.getLogger(__name__) @@ -25,7 +24,6 @@ def resolve_atom_data_fname(fname): : Path resolved fpath """ - fname = Path(fname) if os.path.exists(fname): return fname @@ -41,13 +39,13 @@ def resolve_atom_data_fname(fname): atom_data_name = fname.stem atom_repo_config = get_atomic_repo_config() if atom_data_name in atom_repo_config: - raise IOError( + raise OSError( f"Atom Data {fname} not found in path or in TARDIS data repo - it is available as download:\n" f"from tardis.io.atom_data.util import download_atom_data\n" f"download_atom_data('{atom_data_name}')" ) - raise IOError( + raise OSError( f"Atom Data {fname} is not found in current path or in TARDIS data repo. {atom_data_name} " "is also not a standard known TARDIS atom dataset." ) diff --git a/tardis/io/configuration/config_internal.py b/tardis/io/configuration/config_internal.py index 5c622be66ae..408eb80f66a 100644 --- a/tardis/io/configuration/config_internal.py +++ b/tardis/io/configuration/config_internal.py @@ -1,11 +1,13 @@ -import logging, shutil -import yaml +import logging import os +import shutil from pathlib import Path -from tardis import __path__ as TARDIS_PATH +import yaml from astropy.config import get_config_dir +from tardis import __path__ as TARDIS_PATH + TARDIS_PATH = Path(TARDIS_PATH[0]) DEFAULT_CONFIG_PATH = ( TARDIS_PATH / "data" / "default_tardis_internal_config.yml" @@ -46,6 +48,6 @@ def get_data_dir(): data_dir = DEFAULT_DATA_DIR if not os.path.exists(data_dir): - raise IOError(f"Data directory specified in {data_dir} does not exist") + raise OSError(f"Data directory specified in {data_dir} does not exist") return Path(data_dir) diff --git a/tardis/io/configuration/config_reader.py b/tardis/io/configuration/config_reader.py index bc67fe0324f..c4efb949031 100644 --- a/tardis/io/configuration/config_reader.py +++ b/tardis/io/configuration/config_reader.py @@ -85,7 +85,7 @@ def __init__(self, value=None): "Cannot specify both model and csvy_model in main config file." ) if hasattr(self, "csvy_model"): - model = dict() + model = {} csvy_model_path = os.path.join(self.config_dirname, self.csvy_model) csvy_yml = load_yaml_from_csvy(csvy_model_path) if "v_inner_boundary" in csvy_yml: @@ -109,13 +109,13 @@ def __setitem__(self, key, value): dict.__setitem__(self, key, value) def __getitem__(self, key): - return super(ConfigurationNameSpace, self).__getitem__(key) + return super().__getitem__(key) def __getattr__(self, item): if item in self: return self[item] else: - super(ConfigurationNameSpace, self).__getattribute__(item) + super().__getattribute__(item) __setattr__ = __setitem__ @@ -447,7 +447,7 @@ def parse_convergence_section(convergence_section_dict): return convergence_section_dict def __init__(self, config_dict): - super(Configuration, self).__init__(config_dict) + super().__init__(config_dict) def quantity_representer(dumper, data): diff --git a/tardis/io/configuration/config_validator.py b/tardis/io/configuration/config_validator.py index 5205ac9d205..dd061b311c1 100644 --- a/tardis/io/configuration/config_validator.py +++ b/tardis/io/configuration/config_validator.py @@ -40,13 +40,12 @@ def set_defaults(validator, properties, instance, schema): if "default" in subschema: instance.setdefault(property, subschema["default"]) - for error in validate_properties( + yield from validate_properties( validator, properties, instance, schema, - ): - yield error + ) return validators.extend( validator_class, diff --git a/tardis/io/configuration/tests/test_config_reader.py b/tardis/io/configuration/tests/test_config_reader.py index 784797a2f03..5fb3557c268 100644 --- a/tardis/io/configuration/tests/test_config_reader.py +++ b/tardis/io/configuration/tests/test_config_reader.py @@ -1,16 +1,14 @@ # tests for the config reader module -import os -from attr import validate -import pytest import pandas as pd -from numpy.testing import assert_almost_equal +import pytest +from astropy.units import Quantity from jsonschema.exceptions import ValidationError +from numpy.testing import assert_almost_equal from tardis.io.configuration import config_reader -from astropy.units import Quantity from tardis.io.configuration.config_reader import Configuration -from tardis.plasma.exceptions import PlasmaConfigError from tardis.plasma.assembly.legacy_assembly import assemble_plasma +from tardis.plasma.exceptions import PlasmaConfigError def test_convergence_section_parser(): diff --git a/tardis/io/configuration/tests/test_configuration_namespace.py b/tardis/io/configuration/tests/test_configuration_namespace.py index c9445c8f1ec..3d32f476e56 100644 --- a/tardis/io/configuration/tests/test_configuration_namespace.py +++ b/tardis/io/configuration/tests/test_configuration_namespace.py @@ -1,10 +1,11 @@ -from tardis.io.configuration.config_reader import ConfigurationNameSpace -import pytest -from astropy import units as u import os +import pytest +from astropy import units as u from numpy.testing import assert_almost_equal +from tardis.io.configuration.config_reader import ConfigurationNameSpace + simple_config_dict = { "a": {"b": {"param1": 1, "param2": [0, 1, 2 * u.km], "param3": 4.0 * u.km}} } diff --git a/tardis/io/logger/__init__.py b/tardis/io/logger/__init__.py index 78bc5622358..d8a1c931684 100644 --- a/tardis/io/logger/__init__.py +++ b/tardis/io/logger/__init__.py @@ -1,3 +1,3 @@ """ -Managing the logging output. +Managing the logging output. """ diff --git a/tardis/io/logger/colored_logger.py b/tardis/io/logger/colored_logger.py index a03d88a1fac..3f049c93a68 100644 --- a/tardis/io/logger/colored_logger.py +++ b/tardis/io/logger/colored_logger.py @@ -80,4 +80,3 @@ def __init__(self, name): console.setFormatter(color_formatter) self.addHandler(console) - return diff --git a/tardis/io/logger/logger.py b/tardis/io/logger/logger.py index 70fcabcc4e9..44da5fa187f 100644 --- a/tardis/io/logger/logger.py +++ b/tardis/io/logger/logger.py @@ -1,7 +1,7 @@ import logging import sys -from tardis.io.logger.colored_logger import ColoredFormatter, formatter_message +from tardis.io.logger.colored_logger import ColoredFormatter logging.captureWarnings(True) logger = logging.getLogger("tardis") @@ -25,7 +25,7 @@ DEFAULT_SPECIFIC_STATE = False -class FilterLog(object): +class FilterLog: """ Filter Log Class for Filtering Logging Output to a particular level @@ -77,7 +77,6 @@ def logging_state(log_level, tardis_config, specific_log_level): specific_log_level: boolean Allows to set specific logging levels. Logs of the `log_level` level would be output. """ - if "debug" in tardis_config: specific_log_level = ( tardis_config["debug"]["specific_log_level"] @@ -115,7 +114,7 @@ def logging_state(log_level, tardis_config, specific_log_level): specific_log_level = tardis_config["debug"]["specific_log_level"] logging_level = logging_level.upper() - if not logging_level in LOGGING_LEVELS: + if logging_level not in LOGGING_LEVELS: raise ValueError( f"Passed Value for log_level = {logging_level} is Invalid. Must be one of the following {list(LOGGING_LEVELS.keys())}" ) diff --git a/tardis/io/logger/montecarlo_tracking.py b/tardis/io/logger/montecarlo_tracking.py index f3d37fa4876..d4216a0f031 100644 --- a/tardis/io/logger/montecarlo_tracking.py +++ b/tardis/io/logger/montecarlo_tracking.py @@ -1,5 +1,4 @@ import logging -from functools import wraps DEBUG_MODE = False LOG_FILE = False diff --git a/tardis/io/logger/tests/test_logging.py b/tardis/io/logger/tests/test_logging.py index 7ab6d8e638b..ee6df7d5c06 100644 --- a/tardis/io/logger/tests/test_logging.py +++ b/tardis/io/logger/tests/test_logging.py @@ -1,11 +1,11 @@ -import pytest import logging +import pytest + +from tardis import run_tardis from tardis.io.configuration.config_reader import Configuration -from tardis.simulation import Simulation from tardis.io.logger.logger import LOGGING_LEVELS -from tardis import run_tardis -import pytest +from tardis.simulation import Simulation pytestmark = pytest.mark.skip( reason="logging testing slow and disabled for now" @@ -67,7 +67,7 @@ def test_logging_config( specific_log_level=specific_log_level, ) for record in caplog.records: - if specific_log_level == True: + if specific_log_level is True: assert record.levelno == LOGGING_LEVELS[log_level.upper()] else: assert record.levelno >= LOGGING_LEVELS[log_level.upper()] @@ -85,7 +85,7 @@ def test_logging_config_yaml( caplog.clear() run_tardis(config=config) for record in caplog.records: - if specific_log_level == True: + if specific_log_level is True: assert record.levelno == LOGGING_LEVELS[log_level.upper()] else: assert record.levelno >= LOGGING_LEVELS[log_level.upper()] @@ -107,7 +107,7 @@ def test_logging_both_specified( specific_log_level=specific_log_level, ) for record in caplog.records: - if specific_log_level == True: + if specific_log_level is True: assert record.levelno == LOGGING_LEVELS[log_level.upper()] else: assert record.levelno >= LOGGING_LEVELS[log_level.upper()] diff --git a/tardis/io/model/__init__.py b/tardis/io/model/__init__.py index 9a877f17b98..7f3011d3ee5 100644 --- a/tardis/io/model/__init__.py +++ b/tardis/io/model/__init__.py @@ -1,4 +1,3 @@ -from tardis.io.model.readers.stella import read_stella_model - # from tardis.io.model.stella import read_stella_model from tardis.io.model.readers.cmfgen import read_cmfgen_model +from tardis.io.model.readers.stella import read_stella_model diff --git a/tardis/io/model/readers/arepo.py b/tardis/io/model/readers/arepo.py index a60acd983a8..98a1bc63b94 100644 --- a/tardis/io/model/readers/arepo.py +++ b/tardis/io/model/readers/arepo.py @@ -1,8 +1,8 @@ -import os import argparse +import os -import numpy as np import matplotlib.pyplot as plt +import numpy as np from scipy import stats @@ -45,7 +45,6 @@ def __init__( of-sight to the x-axis. Only usable with snapshots. Default: 0.0 """ - try: import gadget_snap except ModuleNotFoundError: @@ -145,7 +144,6 @@ def __init__(self, pos, vel, rho, mass, xnuc, time): Time of the data """ - self.pos = pos self.vel = vel self.rho = rho @@ -190,7 +188,6 @@ def plot_profile(self, save=None, dpi=600, **kwargs): ------- fig : matplotlib figure object """ - fig, (ax1, ax2) = plt.subplots(2, 1, figsize=[9.8, 9.6]) # Positive direction plots @@ -253,7 +250,7 @@ def plot_profile(self, save=None, dpi=600, **kwargs): labels, loc="upper left", bbox_to_anchor=(1.05, 1.05), - title="Time = {:.2f} s".format(self.time), + title=f"Time = {self.time:.2f} s", ) if save is not None: plt.savefig( @@ -280,7 +277,6 @@ def rebin(self, nshells): self : Profile object """ - self.vel_prof_p, bins_p = stats.binned_statistic( self.pos_prof_p, self.vel_prof_p * self.mass_prof_p, @@ -406,7 +402,6 @@ def export( filename : str Name of the actual saved file """ - # Find a free filename if str(filename).endswith(".csvy"): filename = str(filename).replace(".csvy", "") @@ -426,12 +421,8 @@ def export( [ "---\n", "name: csvy_full\n", - "model_density_time_0: {:g} day\n".format( - self.time / (3600 * 24) - ), # TODO astropy units - "model_isotope_time_0: {:g} day\n".format( - self.time / (3600 / 24) - ), # TODO astropy units + f"model_density_time_0: {self.time / (3600 * 24):g} day\n", # TODO astropy units + f"model_isotope_time_0: {self.time / (3600 / 24):g} day\n", # TODO astropy units "description: Config file for TARDIS from Arepo snapshot.\n", "tardis_model_config_version: v1.0\n", "datatype:\n", @@ -450,27 +441,19 @@ def export( f.write( "".join( [ - " - name: %s\n" % spec.capitalize(), - " desc: fractional %s abundance.\n" - % spec.capitalize(), + f" - name: {spec.capitalize()}\n", + f" desc: fractional {spec.capitalize()} abundance.\n", ] ) ) - f.write( - "".join( - [ - "\n", - "---\n", - ] - ) - ) + f.write("\n---\n") # WRITE DATA datastring = ["velocity,", "density,"] for spec in self.species[:-1]: - datastring.append("%s," % spec.capitalize()) - datastring.append("%s" % self.species[-1].capitalize()) + datastring.append(f"{spec.capitalize()},") + datastring.append(f"{self.species[-1].capitalize()}") f.write("".join(datastring)) # Rebin data to nshells @@ -498,8 +481,8 @@ def export( for i in inds: f.write("\n") for ii in range(len(exp) - 1): - f.write("%g," % exp[ii][i]) - f.write("%g" % exp[-1][i]) + f.write(f"{exp[ii][i]:g},") + f.write(f"{exp[-1][i]:g}") return filename @@ -553,7 +536,6 @@ def create_profile( profile : ConeProfile object """ - # Convert Cartesian coordinates into cylindrical coordinates # P(x,y,z) -> P(x,r,theta) cyl = np.array( @@ -720,7 +702,6 @@ def create_profile( profile : FullProfile object """ - pos_p = np.sqrt( (self.pos[0]) ** 2 + (self.pos[1]) ** 2 + (self.pos[2]) ** 2 ).flatten() diff --git a/tardis/io/model/readers/artis.py b/tardis/io/model/readers/artis.py index 21a353d0d94..e2963cdb57a 100644 --- a/tardis/io/model/readers/artis.py +++ b/tardis/io/model/readers/artis.py @@ -1,6 +1,6 @@ import numpy as np -from astropy import units as u import pandas as pd +from astropy import units as u def read_artis_density(fname): @@ -24,7 +24,6 @@ def read_artis_density(fname): data : pandas.DataFrame data frame containing index, velocity (in km/s) and density """ - with open(fname) as fh: for i, line in enumerate(open(fname)): if i == 0: diff --git a/tardis/io/model/readers/base.py b/tardis/io/model/readers/base.py index ec0ac37dd54..6df9633758c 100644 --- a/tardis/io/model/readers/base.py +++ b/tardis/io/model/readers/base.py @@ -1,3 +1,7 @@ +import numpy as np +import pandas as pd + +from tardis.io.model.readers.artis import read_artis_density from tardis.io.model.readers.cmfgen_deprecated import ( read_cmfgen_composition, read_cmfgen_density, @@ -5,17 +9,11 @@ from tardis.io.model.readers.generic_readers import ( ConfigurationError, read_csv_composition, - read_simple_ascii_mass_fractions, read_simple_ascii_density, + read_simple_ascii_mass_fractions, ) -import numpy as np -import pandas as pd - -from tardis.io.model.readers.artis import read_artis_density - - def read_mass_fractions_file( mass_fractions_filename, mass_fractions_filetype, @@ -36,7 +34,6 @@ def read_mass_fractions_file( outer_boundary_index : int index of the outer shell, default None """ - file_parsers = { "simple_ascii": read_simple_ascii_mass_fractions, "artis": read_simple_ascii_mass_fractions, diff --git a/tardis/io/model/readers/blondin_toymodel.py b/tardis/io/model/readers/blondin_toymodel.py index e1fbd22e688..b5b2dd9db15 100644 --- a/tardis/io/model/readers/blondin_toymodel.py +++ b/tardis/io/model/readers/blondin_toymodel.py @@ -28,7 +28,7 @@ def read_blondin_toymodel(fname): blondin_csv : pandas.DataFrame DataFrame containing the csv part of the toymodel """ - with open(fname, "r") as fh: + with open(fname) as fh: for line in fh: if line.startswith("#idx"): break @@ -91,7 +91,7 @@ def read_blondin_toymodel(fname): ) blondin_csv["velocity"] = new_velocities - with open(fname, "r") as fh: + with open(fname) as fh: t0_string = T0_PATTERN.findall(fh.read())[0] t0 = parse_quantity(t0_string.replace("DAYS", "day")) diff --git a/tardis/io/model/readers/cmfgen.py b/tardis/io/model/readers/cmfgen.py index 77865a3a5d4..3ab63589a36 100644 --- a/tardis/io/model/readers/cmfgen.py +++ b/tardis/io/model/readers/cmfgen.py @@ -1,8 +1,8 @@ +import dataclasses import re + import pandas as pd from astropy import units as u -from pathlib import Path -import dataclasses @dataclasses.dataclass @@ -26,7 +26,6 @@ def read_cmfgen_model(fname): Parameters ---------- - fname : str Returns diff --git a/tardis/io/model/readers/cmfgen_deprecated.py b/tardis/io/model/readers/cmfgen_deprecated.py index 898f7a5dc2c..fd750acc94c 100644 --- a/tardis/io/model/readers/cmfgen_deprecated.py +++ b/tardis/io/model/readers/cmfgen_deprecated.py @@ -1,12 +1,10 @@ -from tardis.io.model.readers.util import read_csv_isotope_mass_fractions -from tardis.util.base import parse_quantity - +import warnings import pandas as pd from astropy import units as u - -import warnings +from tardis.io.model.readers.util import read_csv_isotope_mass_fractions +from tardis.util.base import parse_quantity def read_cmfgen_density(fname: str): @@ -81,7 +79,6 @@ def read_cmfgen_composition(fname, delimiter=r"\s+"): fname : str filename of the csv file """ - warnings.warn( "The current CMFGEN model parser is deprecated", DeprecationWarning ) diff --git a/tardis/io/model/readers/csvy.py b/tardis/io/model/readers/csvy.py index 7e6c1f1c73b..62d77473eb5 100644 --- a/tardis/io/model/readers/csvy.py +++ b/tardis/io/model/readers/csvy.py @@ -1,9 +1,11 @@ import logging + import numpy as np +import pandas as pd +import yaml from radioactivedecay import Nuclide from radioactivedecay.utils import Z_DICT, elem_to_Z -import yaml -import pandas as pd + from tardis.io.util import YAMLLoader from tardis.util.base import is_valid_nuclide_or_elem @@ -110,7 +112,6 @@ def parse_csv_mass_fractions(csvy_data): mass_fractions : pandas.DataFrame isotope_mass_fraction : pandas.MultiIndex """ - mass_fraction_col_names = [ name for name in csvy_data.columns if is_valid_nuclide_or_elem(name) ] diff --git a/tardis/io/model/readers/generic_readers.py b/tardis/io/model/readers/generic_readers.py index 38acb03fec3..ac24226e253 100644 --- a/tardis/io/model/readers/generic_readers.py +++ b/tardis/io/model/readers/generic_readers.py @@ -1,4 +1,3 @@ -from pathlib import Path from typing import Any, Tuple import numpy as np diff --git a/tardis/io/model/readers/stella.py b/tardis/io/model/readers/stella.py index 41074c8c725..30f34888115 100644 --- a/tardis/io/model/readers/stella.py +++ b/tardis/io/model/readers/stella.py @@ -31,7 +31,6 @@ def read_stella_model(fname): Parameters ---------- - fname : str Returns diff --git a/tardis/io/model/readers/tests/test_arepo_parser.py b/tardis/io/model/readers/tests/test_arepo_parser.py index 7d831f3df3f..fd88eaaec8f 100644 --- a/tardis/io/model/readers/tests/test_arepo_parser.py +++ b/tardis/io/model/readers/tests/test_arepo_parser.py @@ -1,9 +1,11 @@ +import json +import os from pathlib import Path -from tardis.io.model.readers import arepo -import pytest + import numpy as np -import os -import json +import pytest + +from tardis.io.model.readers import arepo @pytest.fixture() @@ -13,7 +15,7 @@ def arepo_snapshot_fname(tardis_regression_path): @pytest.fixture def get_cone_csvy_model(arepo_snapshot_fname, example_model_file_dir): - with open(arepo_snapshot_fname, "r") as json_file: + with open(arepo_snapshot_fname) as json_file: data = json.loads(json.load(json_file)) pos, vel, rho, mass, nucs, time = ( @@ -45,7 +47,7 @@ def get_cone_csvy_model(arepo_snapshot_fname, example_model_file_dir): 20, example_model_file_dir / "arepo_parser_test.csvy" ) - with open(testfile, "r") as file: + with open(testfile) as file: data = file.readlines() print(testfile) @@ -56,7 +58,7 @@ def get_cone_csvy_model(arepo_snapshot_fname, example_model_file_dir): @pytest.fixture def get_full_csvy_model(arepo_snapshot_fname, example_model_file_dir): - with open(arepo_snapshot_fname, "r") as json_file: + with open(arepo_snapshot_fname) as json_file: data = json.loads(json.load(json_file)) pos, vel, rho, mass, nucs, time = ( @@ -86,7 +88,7 @@ def get_full_csvy_model(arepo_snapshot_fname, example_model_file_dir): 20, example_model_file_dir / "arepo_parser_test.csvy" ) - with open(testfile, "r") as file: + with open(testfile) as file: data = file.readlines() os.remove(testfile) @@ -97,7 +99,7 @@ def get_full_csvy_model(arepo_snapshot_fname, example_model_file_dir): @pytest.fixture def get_cone_reference_data(example_model_file_dir): with open( - example_model_file_dir / "arepo_cone_reference_model.csvy", "r" + example_model_file_dir / "arepo_cone_reference_model.csvy" ) as file: data = file.readlines() @@ -107,7 +109,7 @@ def get_cone_reference_data(example_model_file_dir): @pytest.fixture def get_full_reference_data(example_model_file_dir): with open( - example_model_file_dir / "arepo_full_reference_model.csvy", "r" + example_model_file_dir / "arepo_full_reference_model.csvy" ) as file: data = file.readlines() diff --git a/tardis/io/model/readers/tests/test_ascii_readers.py b/tardis/io/model/readers/tests/test_ascii_readers.py index 10fb6bf5bca..7e338054cfa 100644 --- a/tardis/io/model/readers/tests/test_ascii_readers.py +++ b/tardis/io/model/readers/tests/test_ascii_readers.py @@ -1,20 +1,14 @@ import os -from astropy import units as u -from tardis import io -from tardis.io.model.readers.generic_readers import ConfigurationError import numpy.testing as npt - import pytest +from astropy import units as u -import numpy as np - -from pathlib import Path from tardis.io.model.readers.base import read_density_file - from tardis.io.model.readers.generic_readers import ( - read_simple_ascii_mass_fractions, + ConfigurationError, read_simple_ascii_density, + read_simple_ascii_mass_fractions, ) test_data_directory = os.path.dirname(__file__) diff --git a/tardis/io/model/readers/tests/test_cmfgen_reader.py b/tardis/io/model/readers/tests/test_cmfgen_reader.py index 25ba9fefc87..34832a1289c 100644 --- a/tardis/io/model/readers/tests/test_cmfgen_reader.py +++ b/tardis/io/model/readers/tests/test_cmfgen_reader.py @@ -1,9 +1,8 @@ -import numpy as np - from pathlib import Path +import numpy as np from pytest import fixture -from astropy import units as u + from tardis.io.model.readers.cmfgen import read_cmfgen_model MODEL_DATA_PATH = Path(__file__).parent / "data" diff --git a/tardis/io/model/readers/tests/test_csvy_reader.py b/tardis/io/model/readers/tests/test_csvy_reader.py index daf283eca55..c87525da348 100644 --- a/tardis/io/model/readers/tests/test_csvy_reader.py +++ b/tardis/io/model/readers/tests/test_csvy_reader.py @@ -1,12 +1,12 @@ +import os from pathlib import Path + +import numpy.testing as npt +import pytest + import tardis -from tardis.io.model.readers import csvy from tardis.io.configuration.config_validator import validate_dict -from jsonschema import exceptions as json_schema_exc -import pytest -import os -from astropy import units as u -import numpy.testing as npt +from tardis.io.model.readers import csvy @pytest.fixture diff --git a/tardis/io/model/readers/tests/test_stella_reader.py b/tardis/io/model/readers/tests/test_stella_reader.py index ace192118c9..055cae778ff 100644 --- a/tardis/io/model/readers/tests/test_stella_reader.py +++ b/tardis/io/model/readers/tests/test_stella_reader.py @@ -1,9 +1,9 @@ -import numpy as np - from pathlib import Path -from pytest import fixture +import numpy as np from astropy import units as u +from pytest import fixture + from tardis.io.model import read_stella_model MODEL_DATA_PATH = Path(__file__).parent / "data" diff --git a/tardis/io/tests/test_HDFWriter.py b/tardis/io/tests/test_HDFWriter.py index bc7be113880..d890817834e 100644 --- a/tardis/io/tests/test_HDFWriter.py +++ b/tardis/io/tests/test_HDFWriter.py @@ -2,12 +2,10 @@ import pandas as pd import pytest from astropy import units as u - -from numpy.testing import assert_almost_equal, assert_array_almost_equal +from numpy.testing import assert_array_almost_equal from tardis.io.util import HDFWriterMixin - # Test Cases # DataFrame diff --git a/tardis/io/tests/test_atomic.py b/tardis/io/tests/test_atomic.py index 5fdf4c9ba41..4c810b8a7f2 100644 --- a/tardis/io/tests/test_atomic.py +++ b/tardis/io/tests/test_atomic.py @@ -1,7 +1,7 @@ import pytest - -from astropy.tests.helper import assert_quantity_allclose from astropy import units as u +from astropy.tests.helper import assert_quantity_allclose + from tardis import constants as const diff --git a/tardis/io/tests/test_decay.py b/tardis/io/tests/test_decay.py index b8a317fca1c..3dee2f0410e 100644 --- a/tardis/io/tests/test_decay.py +++ b/tardis/io/tests/test_decay.py @@ -1,8 +1,8 @@ -import pytest import pandas as pd +import pytest +from numpy.testing import assert_almost_equal from tardis.model.matter.decay import IsotopicMassFraction -from numpy.testing import assert_almost_equal @pytest.fixture diff --git a/tardis/io/tests/test_model_reader.py b/tardis/io/tests/test_model_reader.py index d1ed9808a75..6694c5dca77 100644 --- a/tardis/io/tests/test_model_reader.py +++ b/tardis/io/tests/test_model_reader.py @@ -1,4 +1,3 @@ -import h5py import numpy as np import pytest from astropy import units as u diff --git a/tardis/io/util.py b/tardis/io/util.py index 06937aaec7f..8d1e1e9de12 100644 --- a/tardis/io/util.py +++ b/tardis/io/util.py @@ -59,7 +59,7 @@ def quantity_from_str(text): return u.Quantity(value, unit_str) -class MockRegexPattern(object): +class MockRegexPattern: """ A mock class to be used in place of a compiled regular expression when a type check is needed instead of a regex match. @@ -188,9 +188,9 @@ def check_equality(item1, item2): return True -class HDFWriterMixin(object): +class HDFWriterMixin: def __new__(cls, *args, **kwargs): - instance = super(HDFWriterMixin, cls).__new__(cls) + instance = super().__new__(cls) instance.optional_hdf_properties = [] instance.__init__(*args, **kwargs) return instance @@ -382,9 +382,7 @@ def to_hdf( If the HDF file path already exists, whether to overwrite it or not """ self.collection = collection - super(PlasmaWriterMixin, self).to_hdf( - file_path_or_buf, path, name, overwrite - ) + super().to_hdf(file_path_or_buf, path, name, overwrite) @lru_cache(maxsize=None) @@ -400,7 +398,6 @@ def download_from_url(url, dst, checksum, src=None, retries=3): src : tuple List of URLs to use as mirrors """ - cached_file_path = download_file(url, sources=src, pkgname="tardis") with open(cached_file_path, "rb") as f: