diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
new file mode 100644
index 00000000..26fa2c1c
--- /dev/null
+++ b/.git-blame-ignore-revs
@@ -0,0 +1,11 @@
+# List of revisions that can be ignored with git-blame(1).
+#
+# See `blame.ignoreRevsFile` in git-config(1) to enable it by default, or
+# use it with `--ignore-revs-file` manually with git-blame.
+#
+# To "install" it:
+#
+# git config --local blame.ignoreRevsFile .gitblameignore
+
+# run ruff format
+0b1812b80088fee1931f7f4d19046da56f662199
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index dd75236c..c3501b7c 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -10,20 +10,13 @@ exclude: |
default_language_version:
python: python3.10
repos:
-- repo: https://github.com/asottile/reorder-python-imports
- rev: v3.12.0
+- repo: https://github.com/astral-sh/ruff-pre-commit
+ # Ruff version.
+ rev: v0.9.4
hooks:
- - id: reorder-python-imports
- args:
- - --application-directories=.:src
-- repo: https://github.com/psf/black
- rev: 23.12.1
- hooks:
- - id: black
- args:
- - --safe
- - --quiet
- language_version: python3
+ - id: ruff
+ args: [--fix]
+ - id: ruff-format
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
diff --git a/pyproject.toml b/pyproject.toml
index b1615dcb..ab62895c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,3 +4,30 @@ requires = [
"wheel",
]
build-backend = "setuptools.build_meta"
+
+[tool.ruff]
+target-version = "py310"
+src = [
+ "src",
+ "tests",
+]
+format.docstring-code-format = true
+lint.select = ['E4', 'E7', 'E9', 'F', 'I']
+lint.ignore = [
+ "E402",
+ "E711",
+ "E712",
+ "E721",
+ "E722",
+ "E731",
+ "E741",
+ "F401",
+ "F403",
+ "F405",
+ "F507",
+ "F601",
+ "F722",
+ "F811",
+ "F821",
+ "F841",
+]
diff --git a/src/alfasim_sdk/__init__.py b/src/alfasim_sdk/__init__.py
index 96cf23af..cd7f75bf 100644
--- a/src/alfasim_sdk/__init__.py
+++ b/src/alfasim_sdk/__init__.py
@@ -1,4 +1,5 @@
"""Top-level package for alfasim-sdk."""
+
import pluggy
from alfasim_sdk._internal import version
@@ -21,340 +22,252 @@ def get_alfasim_sdk_api_path():
"""
Return the directory that contains the alfasim_sdk_api with the header files
"""
- from alfasim_sdk._internal import hook_specs
from pathlib import Path
+ from alfasim_sdk._internal import hook_specs
+
return str(Path(hook_specs.__file__).parents[1])
# CLI:
-from alfasim_sdk._internal.cli import console_main
+# ALFACase: Utilities
+from alfasim_sdk._internal.alfacase.alfacase import (
+ convert_alfacase_to_description,
+ convert_description_to_alfacase,
+ generate_alfacase_file,
+)
+from alfasim_sdk._internal.alfacase.alfatable import (
+ generate_alfatable_file,
+ load_pvt_model_table_parameters_description_from_alfatable,
+)
# ALFACase: Descriptions
-from alfasim_sdk._internal.alfacase.case_description import AnnulusDescription
-from alfasim_sdk._internal.alfacase.case_description import BipDescription
-from alfasim_sdk._internal.alfacase.case_description import AlfasimVersionInfo
-from alfasim_sdk._internal.alfacase.case_description import CaseDescription
-from alfasim_sdk._internal.alfacase.case_description import CaseOutputDescription
-from alfasim_sdk._internal.alfacase.case_description import CasingDescription
-from alfasim_sdk._internal.alfacase.case_description import CasingSectionDescription
-from alfasim_sdk._internal.alfacase.case_description import CompositionDescription
from alfasim_sdk._internal.alfacase.case_description import (
+ AlfasimVersionInfo,
+ AnnulusDescription,
+ AnnulusEquipmentDescription,
+ BipDescription,
+ CaseDescription,
+ CaseOutputDescription,
+ CasingDescription,
+ CasingSectionDescription,
+ CombinedFluidDescription,
+ CompositionalFluidDescription,
+ CompositionDescription,
CompressorEquipmentDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
CompressorPressureTableDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import CvTableDescription
-from alfasim_sdk._internal.alfacase.case_description import EnvironmentDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ ControllerInputSignalPropertiesDescription,
+ ControllerNodePropertiesDescription,
+ ControllerOutputSignalPropertiesDescription,
+ ControllerTrendDescription,
+ CvTableDescription,
+ EnvironmentDescription,
EnvironmentPropertyDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import EquipmentDescription
-from alfasim_sdk._internal.alfacase.case_description import AnnulusEquipmentDescription
-from alfasim_sdk._internal.alfacase.case_description import CombinedFluidDescription
-from alfasim_sdk._internal.alfacase.case_description import (
- CompositionalFluidDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import FormationDescription
-from alfasim_sdk._internal.alfacase.case_description import FormationLayerDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ EquipmentDescription,
+ EquipmentTrendDescription,
+ FetkovichIPRDescription,
+ ForchheimerIPRDescription,
+ FormationDescription,
+ FormationLayerDescription,
GasLiftValveEquipmentDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
+ GlobalTrendDescription,
HeatSourceEquipmentDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import HeavyComponentDescription
-from alfasim_sdk._internal.alfacase.case_description import IPRCurveDescription
-from alfasim_sdk._internal.alfacase.case_description import IPRModelsDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ HeavyComponentDescription,
InitialConditionsDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
InitialPressuresDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
InitialTemperaturesDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
InitialTracersMassFractionsDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
InitialVelocitiesDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
InitialVolumeFractionsDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
InternalNodePropertiesDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import LeakEquipmentDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ InternalReferencePluginTableColumn,
+ IPRCurveDescription,
+ IPRModelsDescription,
+ LeakEquipmentDescription,
LengthAndElevationDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import LightComponentDescription
-from alfasim_sdk._internal.alfacase.case_description import LinearIPRDescription
-from alfasim_sdk._internal.alfacase.case_description import VogelIPRDescription
-from alfasim_sdk._internal.alfacase.case_description import FetkovichIPRDescription
-from alfasim_sdk._internal.alfacase.case_description import ForchheimerIPRDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ LightComponentDescription,
+ LinearIPRDescription,
MassSourceEquipmentDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
MassSourceNodePropertiesDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import MaterialDescription
-from alfasim_sdk._internal.alfacase.case_description import NodeDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ MaterialDescription,
+ NodeDescription,
NumericalOptionsDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import OpenHoleDescription
-from alfasim_sdk._internal.alfacase.case_description import PackerDescription
-from alfasim_sdk._internal.alfacase.case_description import PhysicsDescription
-from alfasim_sdk._internal.alfacase.case_description import PigEquipmentDescription
-from alfasim_sdk._internal.alfacase.case_description import PipeDescription
-from alfasim_sdk._internal.alfacase.case_description import PipeSegmentsDescription
-from alfasim_sdk._internal.alfacase.case_description import PluginDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ OpenHoleDescription,
+ OverallPipeTrendDescription,
+ PackerDescription,
+ PhysicsDescription,
+ PigEquipmentDescription,
+ PipeDescription,
+ PipeSegmentsDescription,
+ PluginDescription,
+ PositionalPipeTrendDescription,
PressureContainerDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
- InternalReferencePluginTableColumn,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
- TracerReferencePluginTableColumn,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
PressureNodePropertiesDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import ProfileDescription
-from alfasim_sdk._internal.alfacase.case_description import ProfileOutputDescription
-from alfasim_sdk._internal.alfacase.case_description import PumpEquipmentDescription
-from alfasim_sdk._internal.alfacase.case_description import (
- PvtModelCompositionalDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
+ ProfileDescription,
+ ProfileOutputDescription,
+ PumpEquipmentDescription,
PvtModelCombinedDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
- PvtModelCorrelationDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import PvtModelsDescription
-from alfasim_sdk._internal.alfacase.case_description import (
- PvtModelPtTableParametersDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
+ PvtModelCompositionalDescription,
PvtModelConstantPropertiesDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
+ PvtModelCorrelationDescription,
PvtModelPhTableParametersDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
+ PvtModelPtTableParametersDescription,
+ PvtModelsDescription,
ReferencedPressureContainerDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
ReferencedTemperaturesContainerDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
ReferencedTracersMassFractionsContainerDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
ReferencedVelocitiesContainerDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
ReferencedVolumeFractionsContainerDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
ReservoirInflowEquipmentDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
SeparatorNodePropertiesDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import SpeedCurveDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ SeparatorTrendDescription,
+ SpeedCurveDescription,
SurgeVolumeOptionsDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import TableIPRDescription
-from alfasim_sdk._internal.alfacase.case_description import TablePumpDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ TableIPRDescription,
+ TablePumpDescription,
TemperaturesContainerDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import TimeOptionsDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ TimeOptionsDescription,
TracerModelConstantCoefficientsDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import TracersDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ TracerReferencePluginTableColumn,
+ TracersDescription,
TracersMassFractionsContainerDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
TrendsOutputDescription,
- PositionalPipeTrendDescription,
- OverallPipeTrendDescription,
- GlobalTrendDescription,
- EquipmentTrendDescription,
- SeparatorTrendDescription,
- ControllerTrendDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import TubingDescription
-from alfasim_sdk._internal.alfacase.case_description import ValveEquipmentDescription
-from alfasim_sdk._internal.alfacase.case_description import (
+ TubingDescription,
+ ValveEquipmentDescription,
VelocitiesContainerDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
+ VogelIPRDescription,
VolumeFractionsContainerDescription,
+ WallDescription,
+ WallLayerDescription,
+ WellDescription,
+ XAndYDescription,
)
-from alfasim_sdk._internal.alfacase.case_description import WallDescription
-from alfasim_sdk._internal.alfacase.case_description import WallLayerDescription
-from alfasim_sdk._internal.alfacase.case_description import WellDescription
-from alfasim_sdk._internal.alfacase.case_description import XAndYDescription
-
-from alfasim_sdk._internal.alfacase.case_description import (
- ControllerNodePropertiesDescription,
-)
-from alfasim_sdk._internal.alfacase.case_description import (
- ControllerInputSignalPropertiesDescription,
- ControllerOutputSignalPropertiesDescription,
-)
-
-# ALFACase: Utilities
-from alfasim_sdk._internal.alfacase.alfacase import convert_alfacase_to_description
-from alfasim_sdk._internal.alfacase.alfacase import convert_description_to_alfacase
-from alfasim_sdk._internal.alfacase.alfacase import generate_alfacase_file
-from alfasim_sdk._internal.alfacase.alfatable import generate_alfatable_file
-from alfasim_sdk._internal.alfacase.alfatable import (
- load_pvt_model_table_parameters_description_from_alfatable,
-)
+from alfasim_sdk._internal.cli import console_main
# Constants
-from alfasim_sdk._internal.constants import BUBBLE_FIELD
-from alfasim_sdk._internal.constants import CompressorSpeedType
-from alfasim_sdk._internal.constants import ControllerType
-from alfasim_sdk._internal.constants import CorrelationsGasViscosity
-from alfasim_sdk._internal.constants import CorrelationsOilViscosity
-from alfasim_sdk._internal.constants import CorrelationPackage
-from alfasim_sdk._internal.constants import CorrelationPackageType
-from alfasim_sdk._internal.constants import CorrelationsSurfaceTension
-from alfasim_sdk._internal.constants import DEFAULT_TEMPERATURE_IN_K
-from alfasim_sdk._internal.constants import DrainageRateMode
-from alfasim_sdk._internal.constants import DROPLET_FIELD
-from alfasim_sdk._internal.constants import EmulsionModelType
-from alfasim_sdk._internal.constants import EmulsionRelativeViscosityModelType
-from alfasim_sdk._internal.constants import EmulsionDropletSizeModelType
-from alfasim_sdk._internal.constants import EmulsionInversionPointModelType
-from alfasim_sdk._internal.constants import EnergyModel
-from alfasim_sdk._internal.constants import EnergyModelPrimaryVariable
-from alfasim_sdk._internal.constants import EquationOfStateType
-from alfasim_sdk._internal.constants import EquipmentAttachmentLocation
-from alfasim_sdk._internal.constants import EvaluationStrategyType
-from alfasim_sdk._internal.constants import EXTRAS_REQUIRED_VERSION_KEY
-from alfasim_sdk._internal.constants import FlashModel
-from alfasim_sdk._internal.constants import FlowDirection
-from alfasim_sdk._internal.constants import FlowPatternModel
-from alfasim_sdk._internal.constants import FLUID_GAS
-from alfasim_sdk._internal.constants import FLUID_OIL
-from alfasim_sdk._internal.constants import FLUID_PHASE_NAMES
-from alfasim_sdk._internal.constants import FLUID_WATER
-from alfasim_sdk._internal.constants import GAS_FIELD
-from alfasim_sdk._internal.constants import GAS_LAYER
-from alfasim_sdk._internal.constants import GAS_PHASE
-from alfasim_sdk._internal.constants import GasLiftValveOpeningType
-from alfasim_sdk._internal.constants import HydrodynamicModelType
-from alfasim_sdk._internal.constants import InitialConditionStrategyType
-from alfasim_sdk._internal.constants import InterpolationType
-from alfasim_sdk._internal.constants import LeakLocation
-from alfasim_sdk._internal.constants import LeakModel
-from alfasim_sdk._internal.constants import LeakType
-from alfasim_sdk._internal.constants import MassInflowSplitType
-from alfasim_sdk._internal.constants import MassSourceType
-from alfasim_sdk._internal.constants import MaterialType
-from alfasim_sdk._internal.constants import MultiInputType
-from alfasim_sdk._internal.constants import NodeCellType
-from alfasim_sdk._internal.constants import NonlinearSolverType
-from alfasim_sdk._internal.constants import OIL_FIELD
-from alfasim_sdk._internal.constants import OIL_LAYER
-from alfasim_sdk._internal.constants import OIL_PHASE
-from alfasim_sdk._internal.constants import OutputAttachmentLocation
-from alfasim_sdk._internal.constants import PigRoutingMode
-from alfasim_sdk._internal.constants import PigTrappingMode
from alfasim_sdk._internal.constants import (
+ BUBBLE_FIELD,
+ DEFAULT_TEMPERATURE_IN_K,
+ DROPLET_FIELD,
+ EXTRAS_REQUIRED_VERSION_KEY,
+ FLUID_GAS,
+ FLUID_OIL,
+ FLUID_PHASE_NAMES,
+ FLUID_WATER,
+ GAS_FIELD,
+ GAS_LAYER,
+ GAS_PHASE,
+ OIL_FIELD,
+ OIL_LAYER,
+ OIL_PHASE,
+ SOLID_PHASE,
+ WATER_DROPLET_IN_OIL_FIELD,
+ WATER_FIELD,
+ WATER_LAYER,
+ WATER_PHASE,
+ CompressorSpeedType,
+ ControllerType,
+ CorrelationPackage,
+ CorrelationPackageType,
+ CorrelationsGasViscosity,
+ CorrelationsOilViscosity,
+ CorrelationsSurfaceTension,
+ DrainageRateMode,
+ EmulsionDropletSizeModelType,
+ EmulsionInversionPointModelType,
+ EmulsionModelType,
+ EmulsionRelativeViscosityModelType,
+ EnergyModel,
+ EnergyModelPrimaryVariable,
+ EquationOfStateType,
+ EquipmentAttachmentLocation,
+ EvaluationStrategyType,
+ FlashModel,
+ FlowDirection,
+ FlowPatternModel,
+ FluidMaterialConvectionCorrelation,
+ ForchheimerCoefficientsOption,
+ GasLiftValveOpeningType,
+ HydrodynamicModelType,
+ InitialConditionStrategyType,
+ InterpolationType,
+ LeakLocation,
+ LeakModel,
+ LeakType,
+ MassInflowSplitType,
+ MassSourceType,
+ MaterialType,
+ MultiInputType,
+ NodeCellType,
+ NonlinearSolverType,
+ OutputAttachmentLocation,
+ PigRoutingMode,
+ PigTrappingMode,
PipeEnvironmentHeatTransferCoefficientModelType,
+ PipeThermalModelType,
+ PipeThermalPositionInput,
+ PumpThermalEfficiencyModel,
+ PumpType,
+ PumpViscosityModel,
+ PVTCompositionalViscosityModel,
+ SeparatorGeometryType,
+ SimulationModeType,
+ SimulationRegimeType,
+ SolidsModelType,
+ SurfaceTensionType,
+ SurgeVolumeTimeMode,
+ TableInputType,
+ TracerModelType,
+ ValveOpeningType,
+ ValveType,
+ WellConnectionPort,
+ WellIndexPhaseType,
)
-from alfasim_sdk._internal.constants import PipeThermalModelType
-from alfasim_sdk._internal.constants import PipeThermalPositionInput
-from alfasim_sdk._internal.constants import PumpType
-from alfasim_sdk._internal.constants import PumpViscosityModel
-from alfasim_sdk._internal.constants import PumpThermalEfficiencyModel
-from alfasim_sdk._internal.constants import PVTCompositionalViscosityModel
-from alfasim_sdk._internal.constants import SeparatorGeometryType
-from alfasim_sdk._internal.constants import SimulationModeType
-from alfasim_sdk._internal.constants import SimulationRegimeType
-from alfasim_sdk._internal.constants import SOLID_PHASE
-from alfasim_sdk._internal.constants import SolidsModelType
-from alfasim_sdk._internal.constants import SurfaceTensionType
-from alfasim_sdk._internal.constants import SurgeVolumeTimeMode
-from alfasim_sdk._internal.constants import TableInputType
-from alfasim_sdk._internal.constants import TracerModelType
-from alfasim_sdk._internal.constants import ValveOpeningType
-from alfasim_sdk._internal.constants import ValveType
-from alfasim_sdk._internal.constants import WATER_DROPLET_IN_OIL_FIELD
-from alfasim_sdk._internal.constants import WATER_FIELD
-from alfasim_sdk._internal.constants import WATER_LAYER
-from alfasim_sdk._internal.constants import WATER_PHASE
-from alfasim_sdk._internal.constants import WellConnectionPort
-from alfasim_sdk._internal.constants import WellIndexPhaseType
-from alfasim_sdk._internal.constants import ForchheimerCoefficientsOption
-from alfasim_sdk._internal.constants import FluidMaterialConvectionCorrelation
-
-
-# Plugins: Layouts imports
-from alfasim_sdk._internal.layout import tab
-from alfasim_sdk._internal.layout import tabs
-from alfasim_sdk._internal.layout import group
# Plugins: Context
from alfasim_sdk._internal.context import Context
+# Plugins: Layouts imports
+from alfasim_sdk._internal.layout import group, tab, tabs
+
# Plugins: Models imports
-from alfasim_sdk._internal.models import container_model
-from alfasim_sdk._internal.models import data_model
+from alfasim_sdk._internal.models import container_model, data_model
# Plugins: Status imports
-from alfasim_sdk._internal.status import WarningMessage
-from alfasim_sdk._internal.status import ErrorMessage
+from alfasim_sdk._internal.status import ErrorMessage, WarningMessage
# Plugins: Types for configure_fields hook
-from alfasim_sdk._internal.types import AddField
-
# Plugins: Types for configure_phases hook
-from alfasim_sdk._internal.types import AddPhase
-from alfasim_sdk._internal.types import UpdatePhase
-
# Plugins: Types for configure_layers hook
-from alfasim_sdk._internal.types import AddLayer
-from alfasim_sdk._internal.types import UpdateLayer
-
# Plugins: Types for UI customization
-from alfasim_sdk._internal.types import BaseField
-from alfasim_sdk._internal.types import Boolean
-from alfasim_sdk._internal.types import Enum
-from alfasim_sdk._internal.types import FileContent
-from alfasim_sdk._internal.types import MultipleReference
-from alfasim_sdk._internal.types import Quantity
-from alfasim_sdk._internal.types import Reference
-from alfasim_sdk._internal.types import String
-from alfasim_sdk._internal.types import Table
-from alfasim_sdk._internal.types import TableColumn
-from alfasim_sdk._internal.types import TracerType
+from alfasim_sdk._internal.types import (
+ AddField,
+ AddLayer,
+ AddPhase,
+ BaseField,
+ Boolean,
+ Enum,
+ FileContent,
+ MultipleReference,
+ Quantity,
+ Reference,
+ String,
+ Table,
+ TableColumn,
+ TracerType,
+ UpdateLayer,
+ UpdatePhase,
+)
# Plugins: Type for alfasim_get_additional_variables hook
-from alfasim_sdk._internal.variables import SecondaryVariable
-
# Plugins: Constants used on SecondaryVariable
-from alfasim_sdk._internal.variables import Visibility
-from alfasim_sdk._internal.variables import Scope
-from alfasim_sdk._internal.variables import Type
-from alfasim_sdk._internal.variables import Location
+from alfasim_sdk._internal.variables import (
+ Location,
+ Scope,
+ SecondaryVariable,
+ Type,
+ Visibility,
+)
__all__ = [
"AddField",
diff --git a/src/alfasim_sdk/_internal/alfacase/alfacase.py b/src/alfasim_sdk/_internal/alfacase/alfacase.py
index a87b5b69..f7d4c7fc 100644
--- a/src/alfasim_sdk/_internal/alfacase/alfacase.py
+++ b/src/alfasim_sdk/_internal/alfacase/alfacase.py
@@ -79,6 +79,7 @@ def convert_description_to_alfacase(
"""
import attr
from strictyaml import YAML
+
from .case_to_alfacase import convert_dict_to_valid_alfacase_format
alfacase_description_dict = attr.asdict(alfacase_description, recurse=False)
@@ -96,7 +97,9 @@ def convert_alfacase_to_description(
"""
Return a :class:`alfasim_sdk._internal.alfacase.case_description` with all information provided on file_yaml.
"""
- from alfasim_sdk._internal.alfacase.alfacase_to_case import load_case_description
- from alfasim_sdk._internal.alfacase.alfacase_to_case import DescriptionDocument
+ from alfasim_sdk._internal.alfacase.alfacase_to_case import (
+ DescriptionDocument,
+ load_case_description,
+ )
return load_case_description(DescriptionDocument.from_file(file_alfacase))
diff --git a/src/alfasim_sdk/_internal/alfacase/alfacase_to_case.py b/src/alfasim_sdk/_internal/alfacase/alfacase_to_case.py
index 02f142ec..f71846f1 100644
--- a/src/alfasim_sdk/_internal/alfacase/alfacase_to_case.py
+++ b/src/alfasim_sdk/_internal/alfacase/alfacase_to_case.py
@@ -1,24 +1,14 @@
import enum
import inspect
-from functools import lru_cache
-from functools import partial
+from functools import lru_cache, partial
from numbers import Number
from pathlib import Path
-from typing import Any
-from typing import Callable
-from typing import Dict
-from typing import List
-from typing import Optional
-from typing import Type
-from typing import TypeVar
-from typing import Union
+from typing import Any, Callable, Dict, List, Optional, Type, TypeVar, Union
import attr
from attr.validators import instance_of
from barril.curve.curve import Curve
-from barril.units import Array
-from barril.units import Scalar
-from barril.units import UnitDatabase
+from barril.units import Array, Scalar, UnitDatabase
from strictyaml import YAML
from alfasim_sdk._internal import constants
diff --git a/src/alfasim_sdk/_internal/alfacase/alfatable.py b/src/alfasim_sdk/_internal/alfacase/alfatable.py
index f938fed8..058a83b9 100644
--- a/src/alfasim_sdk/_internal/alfacase/alfatable.py
+++ b/src/alfasim_sdk/_internal/alfacase/alfatable.py
@@ -33,9 +33,9 @@ def load_pvt_model_table_parameters_description_from_alfatable(
"""
Load the content from the alfatable in the given file_path. The validation is turned off due to performance issues.
"""
- from strictyaml.ruamel.main import YAML
- from barril.units import Scalar
import numpy as np
+ from barril.units import Scalar
+ from strictyaml.ruamel.main import YAML
yaml = YAML(typ="safe", pure=True)
content = yaml.load(Path(file_path))
diff --git a/src/alfasim_sdk/_internal/alfacase/case_description.py b/src/alfasim_sdk/_internal/alfacase/case_description.py
index c326c99f..98a46554 100644
--- a/src/alfasim_sdk/_internal/alfacase/case_description.py
+++ b/src/alfasim_sdk/_internal/alfacase/case_description.py
@@ -2,44 +2,36 @@
from datetime import datetime
from numbers import Number
from pathlib import Path
-from typing import Any
-from typing import Dict
-from typing import Iterator
-from typing import List
-from typing import Optional
-from typing import Set
-from typing import Tuple
-from typing import Union
+from typing import Any, Dict, Iterator, List, Optional, Set, Tuple, Union
import attr
import numpy as np
-from attr.validators import in_
-from attr.validators import instance_of
-from attr.validators import optional
+from attr.validators import in_, instance_of, optional
from barril.curve.curve import Curve
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
-from ..validators import non_empty_str
-from .case_description_attributes import attrib_array
-from .case_description_attributes import attrib_curve
-from .case_description_attributes import attrib_dict_of
-from .case_description_attributes import attrib_enum
-from .case_description_attributes import attrib_instance
-from .case_description_attributes import attrib_instance_list
-from .case_description_attributes import attrib_scalar
-from .case_description_attributes import collapse_array_repr
-from .case_description_attributes import dict_of
-from .case_description_attributes import dict_of_array
-from .case_description_attributes import dict_with_scalar
-from .case_description_attributes import InvalidReferenceError
-from .case_description_attributes import list_of_optional_integers
-from .case_description_attributes import list_of_strings
-from .case_description_attributes import Numpy1DArray
-from .case_description_attributes import numpy_array_validator
-from .case_description_attributes import PhaseName
from alfasim_sdk._internal import constants
+from ..validators import non_empty_str
+from .case_description_attributes import (
+ InvalidReferenceError,
+ Numpy1DArray,
+ PhaseName,
+ attrib_array,
+ attrib_curve,
+ attrib_dict_of,
+ attrib_enum,
+ attrib_instance,
+ attrib_instance_list,
+ attrib_scalar,
+ collapse_array_repr,
+ dict_of,
+ dict_of_array,
+ dict_with_scalar,
+ list_of_optional_integers,
+ list_of_strings,
+ numpy_array_validator,
+)
# [[[cog
# # This cog has no output, it just declares and imports symbols used by cogs in this module.
@@ -842,9 +834,9 @@ def _validate_pressure_ratio_table(self, attribute, value):
@isentropic_efficiency_table.validator
def _validate_isentropic_efficiency_table(self, attribute, value):
isen_eff = np.array(value.GetValues("-"))
- assert np.all(
- np.logical_and(isen_eff > 0, isen_eff <= 1.0)
- ), "Isentropic efficiency must be greater than 0 and lower or equal to 1"
+ assert np.all(np.logical_and(isen_eff > 0, isen_eff <= 1.0)), (
+ "Isentropic efficiency must be greater than 0 and lower or equal to 1"
+ )
@attr.s(frozen=True, slots=True)
@@ -993,9 +985,9 @@ class PigEquipmentDescription:
@diameter.validator
def _validate_diameter(self, attribute, value):
- assert (
- isinstance(value, Scalar) and value.GetCategory() == "diameter"
- ), "Invalid diameter"
+ assert isinstance(value, Scalar) and value.GetCategory() == "diameter", (
+ "Invalid diameter"
+ )
@attr.s(frozen=True, slots=True)
@@ -1028,9 +1020,9 @@ class ValveEquipmentDescription:
@diameter.validator
def _validate_diameter(self, attribute, value):
- assert (
- isinstance(value, Scalar) and value.GetCategory() == "diameter"
- ), "Invalid diameter"
+ assert isinstance(value, Scalar) and value.GetCategory() == "diameter", (
+ "Invalid diameter"
+ )
@attr.s(frozen=True, slots=True)
@@ -1098,9 +1090,9 @@ class LeakEquipmentDescription:
@diameter.validator
def _validate_diameter(self, attribute, value):
- assert (
- isinstance(value, Scalar) and value.GetCategory() == "diameter"
- ), "Invalid diameter"
+ assert isinstance(value, Scalar) and value.GetCategory() == "diameter", (
+ "Invalid diameter"
+ )
@attr.s(frozen=True, slots=True, kw_only=True)
@@ -1872,15 +1864,15 @@ class SeparatorNodePropertiesDescription:
@diameter.validator
def _validate_diameter(self, attribute, value):
- assert (
- isinstance(value, Scalar) and value.GetCategory() == "diameter"
- ), "Invalid diameter"
+ assert isinstance(value, Scalar) and value.GetCategory() == "diameter", (
+ "Invalid diameter"
+ )
@length.validator
def _validate_length(self, attribute, value):
- assert (
- isinstance(value, Scalar) and value.GetCategory() == "length"
- ), "Invalid length"
+ assert isinstance(value, Scalar) and value.GetCategory() == "length", (
+ "Invalid length"
+ )
@gas_separation_efficiency.validator
def _validate_gas_separation_efficiency(self, attribute, value):
@@ -2074,9 +2066,9 @@ class CasingSectionDescription:
@outer_diameter.validator
@inner_diameter.validator
def _validate_diameter(self, attribute, value):
- assert (
- isinstance(value, Scalar) and value.GetCategory() == "diameter"
- ), "Invalid diameter"
+ assert isinstance(value, Scalar) and value.GetCategory() == "diameter", (
+ "Invalid diameter"
+ )
@attr.s(frozen=True, slots=True, kw_only=True)
@@ -2099,9 +2091,9 @@ class TubingDescription:
@outer_diameter.validator
@inner_diameter.validator
def _validate_diameter(self, attribute, value):
- assert (
- isinstance(value, Scalar) and value.GetCategory() == "diameter"
- ), "Invalid diameter"
+ assert isinstance(value, Scalar) and value.GetCategory() == "diameter", (
+ "Invalid diameter"
+ )
@attr.s(frozen=True, slots=True, kw_only=True)
@@ -2134,9 +2126,9 @@ class OpenHoleDescription:
@diameter.validator
def _validate_diameter(self, attribute, value):
- assert (
- isinstance(value, Scalar) and value.GetCategory() == "diameter"
- ), "Invalid diameter"
+ assert isinstance(value, Scalar) and value.GetCategory() == "diameter", (
+ "Invalid diameter"
+ )
@attr.s(frozen=True, slots=True, kw_only=True)
@@ -2169,9 +2161,9 @@ class GasLiftValveEquipmentDescription:
@diameter.validator
def _validate_diameter(self, attribute, value):
- assert (
- isinstance(value, Scalar) and value.GetCategory() == "diameter"
- ), "Invalid diameter"
+ assert isinstance(value, Scalar) and value.GetCategory() == "diameter", (
+ "Invalid diameter"
+ )
@attr.s()
@@ -3373,9 +3365,7 @@ class PvtModelsDescription:
PvtModelsDescription(
default_model="PVT1",
- tables={
- 'PVT1': Path('./my_tab_file.tab')
- },
+ tables={"PVT1": Path("./my_tab_file.tab")},
)
.. tab:: Schema
@@ -3405,7 +3395,7 @@ class PvtModelsDescription:
@staticmethod
def get_pvt_file_and_model_name(
- value: Union[str, Path]
+ value: Union[str, Path],
) -> Tuple[Path, Optional[str]]:
"""
Parse the value provided from the user to get the path for the pvt file and if defined, the pvt model.
@@ -3434,11 +3424,11 @@ class TracersDescription:
.. include:: /alfacase_definitions/TracersDescription.txt
"""
- constant_coefficients: Dict[
- str, TracerModelConstantCoefficientsDescription
- ] = attr.ib(
- default=attr.Factory(dict),
- validator=dict_of(TracerModelConstantCoefficientsDescription),
+ constant_coefficients: Dict[str, TracerModelConstantCoefficientsDescription] = (
+ attr.ib(
+ default=attr.Factory(dict),
+ validator=dict_of(TracerModelConstantCoefficientsDescription),
+ )
)
diff --git a/src/alfasim_sdk/_internal/alfacase/case_description_attributes.py b/src/alfasim_sdk/_internal/alfacase/case_description_attributes.py
index 0e4c29cf..0223a1b2 100644
--- a/src/alfasim_sdk/_internal/alfacase/case_description_attributes.py
+++ b/src/alfasim_sdk/_internal/alfacase/case_description_attributes.py
@@ -3,27 +3,13 @@
from enum import EnumMeta
from functools import partial
from numbers import Number
-from typing import Any
-from typing import Callable
-from typing import Dict
-from typing import List
-from typing import NewType
-from typing import Optional
-from typing import Sequence
-from typing import Tuple
-from typing import Union
+from typing import Any, Callable, Dict, List, NewType, Optional, Sequence, Tuple, Union
import attr
import numpy as np
-from attr.validators import deep_iterable
-from attr.validators import deep_mapping
-from attr.validators import in_
-from attr.validators import instance_of
-from attr.validators import optional
+from attr.validators import deep_iterable, deep_mapping, in_, instance_of, optional
from barril.curve.curve import Curve
-from barril.units import Array
-from barril.units import Scalar
-
+from barril.units import Array, Scalar
Numpy1DArray = NewType("Numpy1DArray", np.ndarray)
PhaseName = str
diff --git a/src/alfasim_sdk/_internal/alfacase/case_to_alfacase.py b/src/alfasim_sdk/_internal/alfacase/case_to_alfacase.py
index 854245c4..0f39509a 100644
--- a/src/alfasim_sdk/_internal/alfacase/case_to_alfacase.py
+++ b/src/alfasim_sdk/_internal/alfacase/case_to_alfacase.py
@@ -1,22 +1,17 @@
import math
from enum import Enum
from functools import partial
-from typing import Any
-from typing import Dict
-from typing import List
-from typing import Union
+from typing import Any, Dict, List, Union
import attr
import numpy as np
from barril.curve.curve import Curve
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
from alfasim_sdk import MultiInputType
from alfasim_sdk._internal import constants
from alfasim_sdk._internal.alfacase import case_description
-from alfasim_sdk._internal.alfacase.generate_schema import IGNORED_PROPERTIES
-from alfasim_sdk._internal.alfacase.generate_schema import is_attrs
+from alfasim_sdk._internal.alfacase.generate_schema import IGNORED_PROPERTIES, is_attrs
ATTRIBUTES = Union[Scalar, Array, Curve, Enum, np.ndarray, List, List[Enum]]
diff --git a/src/alfasim_sdk/_internal/alfacase/generate_case_description_docstring.py b/src/alfasim_sdk/_internal/alfacase/generate_case_description_docstring.py
index 8f5bd5c8..a80e6311 100644
--- a/src/alfasim_sdk/_internal/alfacase/generate_case_description_docstring.py
+++ b/src/alfasim_sdk/_internal/alfacase/generate_case_description_docstring.py
@@ -1,12 +1,6 @@
import enum
from pathlib import Path
-from typing import Any
-from typing import Callable
-from typing import Dict
-from typing import List
-from typing import Sequence
-from typing import Tuple
-from typing import Type
+from typing import Any, Callable, Dict, List, Sequence, Tuple, Type
import attr
from attr._make import Attribute
@@ -14,22 +8,23 @@
from barril.units import Array
from barril.units._scalar import Scalar
-from alfasim_sdk._internal.alfacase.generate_schema import IGNORED_PROPERTIES
-from alfasim_sdk._internal.alfacase.generate_schema import is_array
-from alfasim_sdk._internal.alfacase.generate_schema import is_attrs
-from alfasim_sdk._internal.alfacase.generate_schema import is_boolean
-from alfasim_sdk._internal.alfacase.generate_schema import is_curve
-from alfasim_sdk._internal.alfacase.generate_schema import is_dict
-from alfasim_sdk._internal.alfacase.generate_schema import is_enum
-from alfasim_sdk._internal.alfacase.generate_schema import is_float
-from alfasim_sdk._internal.alfacase.generate_schema import is_int
-from alfasim_sdk._internal.alfacase.generate_schema import is_list
-from alfasim_sdk._internal.alfacase.generate_schema import is_path
-from alfasim_sdk._internal.alfacase.generate_schema import is_scalar
-from alfasim_sdk._internal.alfacase.generate_schema import is_str
-from alfasim_sdk._internal.alfacase.generate_schema import is_union
-from alfasim_sdk._internal.alfacase.generate_schema import obtain_schema_name
-
+from alfasim_sdk._internal.alfacase.generate_schema import (
+ IGNORED_PROPERTIES,
+ is_array,
+ is_attrs,
+ is_boolean,
+ is_curve,
+ is_dict,
+ is_enum,
+ is_float,
+ is_int,
+ is_list,
+ is_path,
+ is_scalar,
+ is_str,
+ is_union,
+ obtain_schema_name,
+)
INDENT = " "
@@ -126,7 +121,7 @@ def _generate_declaration_for_class(class_: Any) -> List[str]:
"""Return all attributes for the given Class with CaseDescription definition."""
class_fields = attr.fields_dict(class_)
return [
- f"{INDENT*2}class {class_.__name__}",
+ f"{INDENT * 2}class {class_.__name__}",
*_get_declaration(class_fields, LIST_OF_CASE_ATTRIBUTES),
]
diff --git a/src/alfasim_sdk/_internal/alfacase/generate_schema.py b/src/alfasim_sdk/_internal/alfacase/generate_schema.py
index 1bea850d..a49981a8 100644
--- a/src/alfasim_sdk/_internal/alfacase/generate_schema.py
+++ b/src/alfasim_sdk/_internal/alfacase/generate_schema.py
@@ -6,14 +6,12 @@
from contextlib import contextmanager
from enum import EnumMeta
from pathlib import Path
-from typing import List
-from typing import Set
+from typing import List, Set
import attr
import typing_inspect
from barril.curve.curve import Curve
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
from strictyaml.utils import flatten
from typing_inspect import is_optional_type
@@ -44,7 +42,7 @@ def is_list(type_: type) -> bool:
def list_to_alfacase_schema(type_: type, indent: int) -> str:
list_value = typing_inspect.get_args(type_)[0]
- return f"Seq({_get_attr_value(list_value, indent=indent+1)})"
+ return f"Seq({_get_attr_value(list_value, indent=indent + 1)})"
def is_float(type_: type) -> bool:
@@ -373,7 +371,7 @@ def get_attr_class_type(type_):
classes = []
for key, value in attr.fields_dict(class_).items():
- if needs_schema(value.type) and not key in IGNORED_PROPERTIES:
+ if needs_schema(value.type) and key not in IGNORED_PROPERTIES:
classes.append(get_attr_class_type(value.type))
return set(flatten(classes))
diff --git a/src/alfasim_sdk/_internal/alfacase/plugin_alfacase_to_case.py b/src/alfasim_sdk/_internal/alfacase/plugin_alfacase_to_case.py
index 95059716..c8b2cb3b 100644
--- a/src/alfasim_sdk/_internal/alfacase/plugin_alfacase_to_case.py
+++ b/src/alfasim_sdk/_internal/alfacase/plugin_alfacase_to_case.py
@@ -1,51 +1,45 @@
import itertools
from functools import partial
-from pathlib import Path
-from pathlib import PurePosixPath
+from pathlib import Path, PurePosixPath
from types import ModuleType
-from typing import Any
-from typing import Callable
-from typing import Dict
-from typing import List
-from typing import Optional
-from typing import Type
-from typing import Union
+from typing import Any, Callable, Dict, List, Optional, Type, Union
import attr
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
from typing_extensions import TypeGuard
from alfasim_sdk import BaseField
-from alfasim_sdk._internal.alfacase.alfacase_to_case import DescriptionDocument
-from alfasim_sdk._internal.alfacase.alfacase_to_case import load_value
-from alfasim_sdk._internal.alfacase.alfacase_to_case import to_case_values
-from alfasim_sdk._internal.alfacase.case_description import CaseDescription
-from alfasim_sdk._internal.alfacase.case_description import (
- InternalReferencePluginTableColumn,
+from alfasim_sdk._internal.alfacase.alfacase_to_case import (
+ DescriptionDocument,
+ load_value,
+ to_case_values,
)
-from alfasim_sdk._internal.alfacase.case_description import PluginDescription
-from alfasim_sdk._internal.alfacase.case_description import PluginFileContent
-from alfasim_sdk._internal.alfacase.case_description import PluginInternalReference
-from alfasim_sdk._internal.alfacase.case_description import PluginMultipleReference
-from alfasim_sdk._internal.alfacase.case_description import PluginTableContainer
-from alfasim_sdk._internal.alfacase.case_description import PluginTracerReference
from alfasim_sdk._internal.alfacase.case_description import (
+ CaseDescription,
+ InternalReferencePluginTableColumn,
+ PluginDescription,
+ PluginFileContent,
+ PluginInternalReference,
+ PluginMultipleReference,
+ PluginTableContainer,
+ PluginTracerReference,
TracerReferencePluginTableColumn,
)
from alfasim_sdk._internal.alfacase.case_description_attributes import (
InvalidPluginDataError,
)
from alfasim_sdk._internal.alfacase.plugin_introspection import get_attributes
-from alfasim_sdk._internal.types import Boolean
-from alfasim_sdk._internal.types import Enum
-from alfasim_sdk._internal.types import FileContent
-from alfasim_sdk._internal.types import MultipleReference
-from alfasim_sdk._internal.types import Quantity
-from alfasim_sdk._internal.types import Reference
-from alfasim_sdk._internal.types import String
-from alfasim_sdk._internal.types import Table
-from alfasim_sdk._internal.types import TracerType
+from alfasim_sdk._internal.types import (
+ Boolean,
+ Enum,
+ FileContent,
+ MultipleReference,
+ Quantity,
+ Reference,
+ String,
+ Table,
+ TracerType,
+)
_CHILDREN_LIST_KEY = "_children_list"
@@ -271,8 +265,7 @@ def _convert_enum(
if isinstance(value, str) and (value in type_from_plugin.values):
return value
raise InvalidPluginDataError(
- f"Can not convert to an enum: {value!r}"
- f" (valid values are {type_from_plugin.values!r}"
+ f"Can not convert to an enum: {value!r} (valid values are {type_from_plugin.values!r}"
)
diff --git a/src/alfasim_sdk/_internal/alfacase/plugin_introspection.py b/src/alfasim_sdk/_internal/alfacase/plugin_introspection.py
index 1dcfc8f0..a12f758f 100644
--- a/src/alfasim_sdk/_internal/alfacase/plugin_introspection.py
+++ b/src/alfasim_sdk/_internal/alfacase/plugin_introspection.py
@@ -3,9 +3,7 @@
import attr
from alfasim_sdk import BaseField
-from alfasim_sdk._internal.types import Group
-from alfasim_sdk._internal.types import Tab
-from alfasim_sdk._internal.types import Tabs
+from alfasim_sdk._internal.types import Group, Tab, Tabs
def _is_tab(value: BaseField) -> bool:
diff --git a/src/alfasim_sdk/_internal/alfacase/schema.py b/src/alfasim_sdk/_internal/alfacase/schema.py
index 90c130dd..788855bb 100644
--- a/src/alfasim_sdk/_internal/alfacase/schema.py
+++ b/src/alfasim_sdk/_internal/alfacase/schema.py
@@ -1,3 +1,4 @@
+# isort: skip_file
# fmt: off
# #[[[cog
# import cog
diff --git a/src/alfasim_sdk/_internal/alfasim_sdk_utils.py b/src/alfasim_sdk/_internal/alfasim_sdk_utils.py
index 1d5861b0..c0b0f7ec 100644
--- a/src/alfasim_sdk/_internal/alfasim_sdk_utils.py
+++ b/src/alfasim_sdk/_internal/alfasim_sdk_utils.py
@@ -1,14 +1,8 @@
-from typing import Any
-from typing import Dict
-from typing import Optional
-from typing import Tuple
+from typing import Any, Dict, Optional, Tuple
import attr
-from alfasim_sdk._internal.types import BaseField
-from alfasim_sdk._internal.types import Group
-from alfasim_sdk._internal.types import Tab
-from alfasim_sdk._internal.types import Tabs
+from alfasim_sdk._internal.types import BaseField, Group, Tab, Tabs
def get_attr_class(
diff --git a/src/alfasim_sdk/_internal/cli.py b/src/alfasim_sdk/_internal/cli.py
index 23dda335..156e652a 100644
--- a/src/alfasim_sdk/_internal/cli.py
+++ b/src/alfasim_sdk/_internal/cli.py
@@ -6,7 +6,6 @@
import click
from hookman.hookman_generator import HookManGenerator
-
CONTEXT_SETTINGS = dict(help_option_names=["-h", "--help"])
plugin_dir_option = click.option(
diff --git a/src/alfasim_sdk/_internal/context.py b/src/alfasim_sdk/_internal/context.py
index 6814edb2..6f98e309 100644
--- a/src/alfasim_sdk/_internal/context.py
+++ b/src/alfasim_sdk/_internal/context.py
@@ -1,20 +1,17 @@
-from typing import List
-from typing import Optional
+from typing import List, Optional
import attr
-from attr.validators import deep_iterable
-from attr.validators import in_
-from attr.validators import instance_of
-from attr.validators import optional
+from attr.validators import deep_iterable, in_, instance_of, optional
from barril.units import Scalar
-from alfasim_sdk._internal.constants import EmulsionDropletSizeModelType
-from alfasim_sdk._internal.constants import EmulsionInversionPointModelType
-from alfasim_sdk._internal.constants import EmulsionRelativeViscosityModelType
-from alfasim_sdk._internal.constants import HydrodynamicModelType
-from alfasim_sdk._internal.constants import SolidsModelType
-from alfasim_sdk._internal.validators import list_of_strings
-from alfasim_sdk._internal.validators import non_empty_str
+from alfasim_sdk._internal.constants import (
+ EmulsionDropletSizeModelType,
+ EmulsionInversionPointModelType,
+ EmulsionRelativeViscosityModelType,
+ HydrodynamicModelType,
+ SolidsModelType,
+)
+from alfasim_sdk._internal.validators import list_of_strings, non_empty_str
@attr.s(frozen=True)
@@ -200,6 +197,7 @@ class MyModel:
name = String(value="ALFAsim", caption="Field")
scalar = Quantity(value=1, unit="degC", caption="Field")
+
@alfasim_sdk.hookimpl
def alfasim_get_data_model_type():
return [MyModel]
@@ -209,10 +207,10 @@ def alfasim_get_data_model_type():
.. code-block:: console
- >>> ctx.get_model('MyModel')
+ >>> ctx.get_model("MyModel")
MyModel(name='ALFAsim', scalar=Scalar(1.0, 'degC', 'temperature'))
- >>> ctx.get_model('MyModel').name
+ >>> ctx.get_model("MyModel").name
'ALFAsim'
At runtime, you can also verify the names of the models defined by a given plugin.
@@ -276,6 +274,7 @@ class MyModel:
name = String(value="ALFAsim", caption="Field")
scalar = Quantity(value=1, unit="degC", caption="Field")
+
@alfasim_sdk.hookimpl
def alfasim_get_data_model_type():
return [MyModel]
diff --git a/src/alfasim_sdk/_internal/hook_specs_gui.py b/src/alfasim_sdk/_internal/hook_specs_gui.py
index 5cf3912c..e7191e35 100644
--- a/src/alfasim_sdk/_internal/hook_specs_gui.py
+++ b/src/alfasim_sdk/_internal/hook_specs_gui.py
@@ -44,10 +44,12 @@ def alfasim_get_data_model_type():
from alfasim_sdk import data_model
from alfasim_sdk import Quantity
+
@data_model(icon="", caption="My Plugin")
class MyModel:
distance = Quantity(value=1, unit="m", caption="Distance")
+
@alfasim_sdk.hookimpl
def alfasim_get_data_model_type():
return [MyModel]
@@ -69,14 +71,15 @@ def alfasim_get_data_model_type():
from alfasim_sdk import data_model, container_model
from alfasim_sdk import Quantity, String
+
@data_model(icon="", caption="My Child")
class ChildModel:
distance = Quantity(value=1, unit="m", caption="Distance")
- @container_model(icon='', caption='My Container', model=ChildModel)
+ @container_model(icon="", caption="My Container", model=ChildModel)
class MyModelContainer:
- my_string = String(value='Initial Value', caption='My String')
+ my_string = String(value="Initial Value", caption="My String")
@alfasim_sdk.hookimpl
@@ -96,17 +99,20 @@ def alfasim_get_data_model_type():
from alfasim_sdk import data_model, container_model
from alfasim_sdk import Quantity, String
+
@data_model(icon="", caption="My Model")
class MyModel:
distance = Quantity(value=1, unit="m", caption="Distance")
+
@data_model(icon="", caption="My Child")
class ChildModel:
distance = Quantity(value=1, unit="m", caption="Distance")
- @container_model(icon='', caption='My Container', model=ChildModel)
+
+ @container_model(icon="", caption="My Container", model=ChildModel)
class MyModelContainer:
- my_string = String(value='Initial Value', caption='My String')
+ my_string = String(value="Initial Value", caption="My String")
@alfasim_sdk.hookimpl
@@ -141,18 +147,20 @@ def alfasim_get_additional_variables():
from alfasim_sdk import Location
from alfasim_sdk import Scope
+
@alfasim_sdk.hookimpl
def alfasim_get_additional_variables():
return [
SecondaryVariable(
- name='dummy_variable',
- caption='Plugin 1',
- unit='m',
+ name="dummy_variable",
+ caption="Plugin 1",
+ unit="m",
visibility=Visibility.Internal,
location=Location.Center,
multifield_scope=Scope.Global,
checked_on_gui_default=True,
- )]
+ )
+ ]
"""
@@ -194,12 +202,11 @@ def alfasim_get_status(
from alfasim_sdk import Quantity
from alfasim_sdk import ErrorMessage
+
# Define MyModel used in this plugin
@data_model(icon="", caption="My Plugin Model")
class MyModel:
- distance = Quantity(
- value=1, unit="m", caption="Distance"
- )
+ distance = Quantity(value=1, unit="m", caption="Distance")
@alfasim_sdk.hookimpl
@@ -252,10 +259,10 @@ def alfasim_configure_fields(ctx: Context):
@alfasim_sdk.hookimpl
def alfasim_configure_fields(ctx):
- return [
- AddField(name='plugin_continuous_field'),
- AddField(name='plugin_dispersed_field'),
- ]
+ return [
+ AddField(name="plugin_continuous_field"),
+ AddField(name="plugin_dispersed_field"),
+ ]
"""
@@ -280,17 +287,17 @@ def alfasim_configure_layers(ctx: Context):
@alfasim_sdk.hookimpl
def alfasim_configure_layers(ctx):
- return [
- AddLayer(
- name='plugin_layer',
- fields=['plugin_continuous_field'],
- continuous_field='plugin_continuous_field',
- ),
- UpdateLayer(
- name=OIL_LAYER,
- additional_fields=['plugin_dispersed_field'],
- ),
- ]
+ return [
+ AddLayer(
+ name="plugin_layer",
+ fields=["plugin_continuous_field"],
+ continuous_field="plugin_continuous_field",
+ ),
+ UpdateLayer(
+ name=OIL_LAYER,
+ additional_fields=["plugin_dispersed_field"],
+ ),
+ ]
The image below shows the new added phase on the application.
@@ -320,12 +327,12 @@ def alfasim_configure_phases(ctx: Context):
def alfasim_configure_phases(ctx):
return [
AddPhase(
- name='plugin_phase',
+ name="plugin_phase",
fields=[
- 'plugin_continuous_field',
- 'plugin_dispersed_field',
+ "plugin_continuous_field",
+ "plugin_dispersed_field",
],
- primary_field='plugin_continuous_field',
+ primary_field="plugin_continuous_field",
is_solid=False,
)
]
@@ -358,7 +365,7 @@ def alfasim_configure_phases(ctx):
return [
UpdatePhase(
name=OIL_PHASE,
- additional_fields=['plugin_dispersed_field'],
+ additional_fields=["plugin_dispersed_field"],
)
]
@@ -386,9 +393,10 @@ def alfasim_get_phase_properties_calculated_from_plugin():
from alfasim_sdk import GAS_PHASE
+
@alfasim_sdk.hookimpl
def alfasim_get_phase_properties_calculated_from_plugin():
- return [GAS_PHASE, 'solid']
+ return [GAS_PHASE, "solid"]
"""
@@ -439,7 +447,7 @@ def alfasim_get_user_defined_tracers_from_plugin():
@alfasim_sdk.hookimpl
def alfasim_get_user_defined_tracers_from_plugin():
- return ['my_tracer']
+ return ["my_tracer"]
.. note::
The tracer added in the `user-defined tracers from plugin` list will not be considered as a standard tracer, which
diff --git a/src/alfasim_sdk/_internal/layout.py b/src/alfasim_sdk/_internal/layout.py
index ca802c74..ceb2da09 100644
--- a/src/alfasim_sdk/_internal/layout.py
+++ b/src/alfasim_sdk/_internal/layout.py
@@ -4,9 +4,7 @@
import attr
from alfasim_sdk._internal.alfasim_sdk_utils import get_attr_class
-from alfasim_sdk._internal.types import Group
-from alfasim_sdk._internal.types import Tab
-from alfasim_sdk._internal.types import Tabs
+from alfasim_sdk._internal.types import Group, Tab, Tabs
def tabs() -> Callable:
@@ -27,7 +25,6 @@ class MyModel:
@tabs()
class MainPage:
-
@tab(caption="Fist Tab")
class Tab1:
field_1 = String(caption="First Tab", value="Default")
diff --git a/src/alfasim_sdk/_internal/models.py b/src/alfasim_sdk/_internal/models.py
index 6a77969d..c72cdf11 100644
--- a/src/alfasim_sdk/_internal/models.py
+++ b/src/alfasim_sdk/_internal/models.py
@@ -1,6 +1,5 @@
import functools
-from typing import Callable
-from typing import Optional
+from typing import Callable, Optional
from alfasim_sdk._internal.alfasim_sdk_utils import get_attr_class
@@ -47,9 +46,9 @@ class ChildModel:
distance = Quantity(value=1, unit="m", caption="Distance")
- @container_model(icon='', caption='My Container', model=ChildModel)
+ @container_model(icon="", caption="My Container", model=ChildModel)
class MyModelContainer:
- my_string = String(value='Initial Value', caption='My String')
+ my_string = String(value="Initial Value", caption="My String")
@alfasim_sdk.hookimpl
@@ -142,14 +141,14 @@ def data_model(*, caption: str, icon: Optional[str] = None) -> Callable:
.. code-block:: python
- @data_model(icon='', caption='My Plugin')
+ @data_model(icon="", caption="My Plugin")
class MyModel:
- distance = Quantity(value=1, unit='m', caption='Distance')
+ distance = Quantity(value=1, unit="m", caption="Distance")
@alfasim_sdk.hookimpl
def alfasim_get_data_model_type():
- return [MyModel]
+ return [MyModel]
.. image:: /_static/images/api/data_model_example_1_1.png
:scale: 90%
diff --git a/src/alfasim_sdk/_internal/types.py b/src/alfasim_sdk/_internal/types.py
index b8701a8f..8c0835af 100644
--- a/src/alfasim_sdk/_internal/types.py
+++ b/src/alfasim_sdk/_internal/types.py
@@ -1,19 +1,12 @@
import numbers
-from typing import Callable
-from typing import List
-from typing import Optional
-from typing import Sequence
-from typing import Union
+from typing import Callable, List, Optional, Sequence, Union
import attr
from attr import attrib
from attr._make import Attribute
-from attr.validators import instance_of
-from attr.validators import is_callable
-from attr.validators import optional
+from attr.validators import instance_of, is_callable, optional
-from alfasim_sdk._internal.validators import non_empty_str
-from alfasim_sdk._internal.validators import valid_unit
+from alfasim_sdk._internal.validators import non_empty_str, valid_unit
@attr.s(kw_only=True, frozen=True)
@@ -74,19 +67,20 @@ class BaseField:
.. code-block:: python
- @data_model(icon='', caption='My Plugin')
+ @data_model(icon="", caption="My Plugin")
class MyModel:
- my_string_1= String(
- value='String 1',
- caption='My String 1',
+ my_string_1 = String(
+ value="String 1",
+ caption="My String 1",
tooltip="Some Text
More Information",
)
my_string_2 = String(
- value='String 2',
- caption='My String 2',
+ value="String 2",
+ caption="My String 2",
tooltip="∩ ∪ ∫ ∬ ∮",
)
+
@alfasim_sdk.hookimpl
def alfasim_get_data_model_type():
return [MyModel]
@@ -126,16 +120,18 @@ def alfasim_get_data_model_type():
def my_check(self, ctx):
return self.bool_value
+
@data_model(icon="", caption="My Plugin")
class MyModel:
bool_value = Boolean(value=True, caption="Enabled")
N_ions = Quantity(
- caption='Number of Ions',
+ caption="Number of Ions",
value=1,
- unit='-',
+ unit="-",
enable_expr=my_check,
)
+
@alfasim_sdk.hookimpl
def alfasim_get_data_model_type():
return [MyModel]
@@ -496,9 +492,7 @@ class MultipleReference(BaseReference):
@data_model(icon="", caption="My Plugin")
class MyModel:
- tracer_ref = MultipleReference(
- ref_type=TracerType, caption="Tracer Type"
- )
+ tracer_ref = MultipleReference(ref_type=TracerType, caption="Tracer Type")
.. image:: /_static/images/api/multiplereference_field_example_1.png
@@ -590,9 +584,7 @@ class Quantity(BaseField):
@data_model(icon="", caption="My Plugin")
class MyModel:
- quantity_field = Quantity(
- value=1, unit="degC", caption="Quantity Field"
- )
+ quantity_field = Quantity(value=1, unit="degC", caption="Quantity Field")
.. image:: /_static/images/api/quantity_field_example.png
@@ -684,13 +676,15 @@ class Table(BaseField):
class FlowType:
name = String(value="Flow", caption="Name")
+
@container_model(caption="Flow Types", model=FlowType, icon="")
class FlowTypeContainer:
pass
+
@data_model(icon="", caption="My Model")
class MyModel:
- table_field=Table(
+ table_field = Table(
rows=[
TableColumn(
id="temperature",
diff --git a/src/alfasim_sdk/_internal/validators.py b/src/alfasim_sdk/_internal/validators.py
index f453bd7b..4de28ae2 100644
--- a/src/alfasim_sdk/_internal/validators.py
+++ b/src/alfasim_sdk/_internal/validators.py
@@ -1,8 +1,7 @@
from typing import Any
from attr._make import Attribute
-from attr.validators import deep_iterable
-from attr.validators import instance_of
+from attr.validators import deep_iterable, instance_of
def non_empty_str(self: Any, attribute: Attribute, value: str) -> None:
diff --git a/src/alfasim_sdk/_internal/variables.py b/src/alfasim_sdk/_internal/variables.py
index dfcc94cd..9d82fa9d 100644
--- a/src/alfasim_sdk/_internal/variables.py
+++ b/src/alfasim_sdk/_internal/variables.py
@@ -4,12 +4,10 @@
import attr
from attr import attrib
-from attr.validators import instance_of
-from attr.validators import optional
+from attr.validators import instance_of, optional
from barril.units import UnitDatabase
-from alfasim_sdk._internal.validators import non_empty_str
-from alfasim_sdk._internal.validators import valid_unit
+from alfasim_sdk._internal.validators import non_empty_str, valid_unit
class Visibility(Enum):
diff --git a/src/alfasim_sdk/default_tasks.py b/src/alfasim_sdk/default_tasks.py
index 6302202f..f207714a 100644
--- a/src/alfasim_sdk/default_tasks.py
+++ b/src/alfasim_sdk/default_tasks.py
@@ -3,17 +3,12 @@
import subprocess
import sys
from pathlib import Path
-from typing import Any
-from typing import Union
+from typing import Any, Union
from zipfile import ZipFile
-from colorama import Fore
-from colorama import Style
+from colorama import Fore, Style
from hookman.hookman_generator import HookManGenerator
-from invoke import Collection
-from invoke import Exit
-from invoke import Task
-from invoke import task
+from invoke import Collection, Exit, Task, task
from strictyaml.ruamel import YAML
sdk_ns = Collection()
@@ -186,9 +181,9 @@ def compile(ctx, cmake_extra_args="", debug=False, clean=False):
],
)
- assert (
- shared_lib_path.exists()
- ), "Compilation task failed, shared lib was not created"
+ assert shared_lib_path.exists(), (
+ "Compilation task failed, shared lib was not created"
+ )
if package_dir.exists():
shutil.rmtree(package_dir)
@@ -228,11 +223,11 @@ def package_only(ctx, package_name="", dst=""):
hook_specs_file_path = _get_hook_specs_file_path()
hm = HookManGenerator(hook_spec_file_path=hook_specs_file_path)
- from alfasim_sdk._internal.constants import EXTRAS_REQUIRED_VERSION_KEY
from alfasim_sdk._internal.alfasim_sdk_utils import (
get_current_version,
get_extras_default_required_version,
)
+ from alfasim_sdk._internal.constants import EXTRAS_REQUIRED_VERSION_KEY
plugin_id = str(plugin_dir.name)
if not package_name:
diff --git a/src/alfasim_sdk/result_reader/__init__.py b/src/alfasim_sdk/result_reader/__init__.py
index 7f8a0a16..51848884 100644
--- a/src/alfasim_sdk/result_reader/__init__.py
+++ b/src/alfasim_sdk/result_reader/__init__.py
@@ -1,5 +1,4 @@
from .aggregator import ALFASimResultMetadata
from .reader import Results
-
__all__ = ["ALFASimResultMetadata", "Results"]
diff --git a/src/alfasim_sdk/result_reader/aggregator.py b/src/alfasim_sdk/result_reader/aggregator.py
index 156c17e3..4b4f5068 100644
--- a/src/alfasim_sdk/result_reader/aggregator.py
+++ b/src/alfasim_sdk/result_reader/aggregator.py
@@ -8,63 +8,46 @@
from collections import namedtuple
from contextlib import contextmanager
from pathlib import Path
-from typing import Any
-from typing import Callable
-from typing import DefaultDict
-from typing import Dict
-from typing import Iterator
-from typing import List
-from typing import Literal
-from typing import NamedTuple
-from typing import Optional
-from typing import Sequence
-from typing import Tuple
-from typing import Type
-from typing import TypeVar
-from typing import Union
+from typing import (
+ Any,
+ Callable,
+ DefaultDict,
+ Dict,
+ Iterator,
+ List,
+ Literal,
+ NamedTuple,
+ Optional,
+ Sequence,
+ Tuple,
+ Type,
+ TypeVar,
+ Union,
+)
import attr
import h5py
import numpy
import numpy as np
-from typing_extensions import Self
-from typing_extensions import TypedDict
+from typing_extensions import Self, TypedDict
from alfasim_sdk.result_reader.aggregator_constants import (
GLOBAL_SENSITIVITY_ANALYSIS_GROUP_NAME,
-)
-from alfasim_sdk.result_reader.aggregator_constants import (
HISTORY_MATCHING_DETERMINISTIC_DSET_NAME,
-)
-from alfasim_sdk.result_reader.aggregator_constants import HISTORY_MATCHING_GROUP_NAME
-from alfasim_sdk.result_reader.aggregator_constants import (
+ HISTORY_MATCHING_GROUP_NAME,
HISTORY_MATCHING_HISTORIC_DATA_GROUP_NAME,
-)
-from alfasim_sdk.result_reader.aggregator_constants import (
HISTORY_MATCHING_PROBABILISTIC_DSET_NAME,
-)
-from alfasim_sdk.result_reader.aggregator_constants import META_GROUP_NAME
-from alfasim_sdk.result_reader.aggregator_constants import PROFILES_GROUP_NAME
-from alfasim_sdk.result_reader.aggregator_constants import (
+ META_GROUP_NAME,
+ PROFILES_GROUP_NAME,
PROFILES_STATISTICS_DSET_NAME_SUFFIX,
-)
-from alfasim_sdk.result_reader.aggregator_constants import RESULT_FILE_LOCKING_MODE
-from alfasim_sdk.result_reader.aggregator_constants import RESULT_FILE_PREFIX
-from alfasim_sdk.result_reader.aggregator_constants import TIME_SET_DSET_NAME
-from alfasim_sdk.result_reader.aggregator_constants import TRENDS_GROUP_NAME
-from alfasim_sdk.result_reader.aggregator_constants import (
+ RESULT_FILE_LOCKING_MODE,
+ RESULT_FILE_PREFIX,
+ TIME_SET_DSET_NAME,
+ TRENDS_GROUP_NAME,
UNCERTAINTY_PROPAGATION_DSET_MEAN_RESULT,
-)
-from alfasim_sdk.result_reader.aggregator_constants import (
UNCERTAINTY_PROPAGATION_DSET_REALIZATION_OUTPUTS,
-)
-from alfasim_sdk.result_reader.aggregator_constants import (
UNCERTAINTY_PROPAGATION_DSET_STD_RESULT,
-)
-from alfasim_sdk.result_reader.aggregator_constants import (
UNCERTAINTY_PROPAGATION_GROUP_META_ATTR_NAME,
-)
-from alfasim_sdk.result_reader.aggregator_constants import (
UNCERTAINTY_PROPAGATION_GROUP_NAME,
)
@@ -466,7 +449,7 @@ def map_meta_items(
}
def map_historic_data_infos(
- infos: List[Dict[str, Any]]
+ infos: List[Dict[str, Any]],
) -> List[HistoricDataCurveMetadata]:
return [HistoricDataCurveMetadata.from_dict(info) for info in infos]
@@ -1179,9 +1162,7 @@ def read_trends_statistics(ts_index: int) -> None:
start_index, stop_index = partial_indices[-1] # The most recent.
if start_index < stop_index:
- statistics = trends_statistics[
- output_id
- ] # type: Dict[str, numpy.ndarray]
+ statistics = trends_statistics[output_id] # type: Dict[str, numpy.ndarray]
data_index = meta["index"]
min_value, max_value = trends_statistic[:, data_index]
statistics["min"] = numpy.nanmin((min_value, statistics["min"]))
@@ -1670,21 +1651,21 @@ def _read_time_sets(
_TREND_ID_ATTR: [initial_trends_time_step_index, final_trends_time_step_index],
}
if initial_profiles_time_step_index is None:
- time_step_index_range_to_read[_PROFILE_ID_ATTR][
- 0
- ] = result_metadata.time_steps_boundaries[0][0]
+ time_step_index_range_to_read[_PROFILE_ID_ATTR][0] = (
+ result_metadata.time_steps_boundaries[0][0]
+ )
if final_profiles_time_step_index is None:
- time_step_index_range_to_read[_PROFILE_ID_ATTR][
- 1
- ] = result_metadata.time_steps_boundaries[1][0]
+ time_step_index_range_to_read[_PROFILE_ID_ATTR][1] = (
+ result_metadata.time_steps_boundaries[1][0]
+ )
if initial_trends_time_step_index is None:
- time_step_index_range_to_read[_TREND_ID_ATTR][
- 0
- ] = result_metadata.time_steps_boundaries[0][1]
+ time_step_index_range_to_read[_TREND_ID_ATTR][0] = (
+ result_metadata.time_steps_boundaries[0][1]
+ )
if final_trends_time_step_index is None:
- time_step_index_range_to_read[_TREND_ID_ATTR][
- 1
- ] = result_metadata.time_steps_boundaries[1][1]
+ time_step_index_range_to_read[_TREND_ID_ATTR][1] = (
+ result_metadata.time_steps_boundaries[1][1]
+ )
cache = {}
for time_set_key in time_sets_key_list:
@@ -1756,7 +1737,7 @@ def _read_time_set(
def _concatenate_values(
- data_dict: Dict[Any, List[numpy.ndarray]]
+ data_dict: Dict[Any, List[numpy.ndarray]],
) -> Dict[Any, numpy.ndarray]:
"""
Concatenate the values in the given dict.
@@ -1772,7 +1753,7 @@ def _concatenate_values(
def map_output_key_to_time_set_key(
- all_metadata: Dict[int, Dict]
+ all_metadata: Dict[int, Dict],
) -> Dict[OutputKeyType, TimeSetKeyType]:
"""
Operates on the complete metadata mapping "output key"s to they respective "time set key".
@@ -1791,7 +1772,7 @@ def map_output_key_to_time_set_key(
def map_base_time_set_to_time_set_keys(
- output_key_to_time_set_key_dict: Dict[OutputKeyType, TimeSetKeyType]
+ output_key_to_time_set_key_dict: Dict[OutputKeyType, TimeSetKeyType],
) -> Dict[int, Tuple[TimeSetKeyType, ...]]:
"""
Maps base time steps to the "time set key"s where they are found.
diff --git a/src/alfasim_sdk/result_reader/reader.py b/src/alfasim_sdk/result_reader/reader.py
index 5aaa2760..0544c212 100644
--- a/src/alfasim_sdk/result_reader/reader.py
+++ b/src/alfasim_sdk/result_reader/reader.py
@@ -1,54 +1,42 @@
from __future__ import annotations
from pathlib import Path
-from typing import Any
-from typing import Callable
-from typing import Dict
-from typing import Sequence
-from typing import Tuple
-from typing import Union
+from typing import Any, Callable, Dict, Sequence, Tuple, Union
import attr
import numpy as np
from attr import define
from barril.curve.curve import Curve
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
from typing_extensions import Self
-from alfasim_sdk.result_reader.aggregator import ALFASimResultMetadata
-from alfasim_sdk.result_reader.aggregator import GlobalSensitivityAnalysisMetadata
-from alfasim_sdk.result_reader.aggregator import GSAOutputKey
-from alfasim_sdk.result_reader.aggregator import HistoricDataCurveMetadata
-from alfasim_sdk.result_reader.aggregator import HistoryMatchingMetadata
-from alfasim_sdk.result_reader.aggregator import HMOutputKey
from alfasim_sdk.result_reader.aggregator import (
+ ALFASimResultMetadata,
+ GlobalSensitivityAnalysisMetadata,
+ GSAOutputKey,
+ HistoricDataCurveMetadata,
+ HistoryMatchingMetadata,
+ HMOutputKey,
+ UncertaintyPropagationAnalysesMetaData,
+ UPOutputKey,
+ UPResult,
read_global_sensitivity_analysis_meta_data,
-)
-from alfasim_sdk.result_reader.aggregator import read_global_sensitivity_coefficients
-from alfasim_sdk.result_reader.aggregator import (
+ read_global_sensitivity_coefficients,
read_history_matching_historic_data_curves,
-)
-from alfasim_sdk.result_reader.aggregator import read_history_matching_metadata
-from alfasim_sdk.result_reader.aggregator import read_history_matching_result
-from alfasim_sdk.result_reader.aggregator import read_metadata
-from alfasim_sdk.result_reader.aggregator import read_profiles_data
-from alfasim_sdk.result_reader.aggregator import read_profiles_domain_data
-from alfasim_sdk.result_reader.aggregator import read_time_sets
-from alfasim_sdk.result_reader.aggregator import read_trends_data
-from alfasim_sdk.result_reader.aggregator import (
+ read_history_matching_metadata,
+ read_history_matching_result,
+ read_metadata,
+ read_profiles_data,
+ read_profiles_domain_data,
+ read_time_sets,
+ read_trends_data,
read_uncertainty_propagation_analyses_meta_data,
+ read_uncertainty_propagation_results,
+ read_uq_time_set,
)
-from alfasim_sdk.result_reader.aggregator import read_uncertainty_propagation_results
-from alfasim_sdk.result_reader.aggregator import read_uq_time_set
-from alfasim_sdk.result_reader.aggregator import UncertaintyPropagationAnalysesMetaData
-from alfasim_sdk.result_reader.aggregator import UPOutputKey
-from alfasim_sdk.result_reader.aggregator import UPResult
from alfasim_sdk.result_reader.aggregator_constants import (
GLOBAL_SENSITIVITY_ANALYSIS_GROUP_NAME,
-)
-from alfasim_sdk.result_reader.aggregator_constants import RESULTS_FOLDER_NAME
-from alfasim_sdk.result_reader.aggregator_constants import (
+ RESULTS_FOLDER_NAME,
UNCERTAINTY_PROPAGATION_GROUP_NAME,
)
diff --git a/src/alfasim_sdk/testing/fixtures.py b/src/alfasim_sdk/testing/fixtures.py
index 50b8b4af..ab7da43a 100644
--- a/src/alfasim_sdk/testing/fixtures.py
+++ b/src/alfasim_sdk/testing/fixtures.py
@@ -5,18 +5,14 @@
import uuid
from pathlib import Path
from subprocess import CalledProcessError
-from typing import Iterator
-from typing import List
-from typing import Optional
-from typing import Union
+from typing import Iterator, List, Optional, Union
import pytest
import strictyaml
from _pytest.compat import assert_never
from _pytest.monkeypatch import MonkeyPatch
-from alfasim_sdk import convert_alfacase_to_description
-from alfasim_sdk import generate_alfacase_file
+from alfasim_sdk import convert_alfacase_to_description, generate_alfacase_file
from alfasim_sdk._internal.alfacase.alfacase_to_case import DescriptionDocument
from alfasim_sdk._internal.alfacase.case_description import CaseDescription
from alfasim_sdk._internal.alfacase.case_description_attributes import DescriptionError
@@ -125,8 +121,7 @@ def add_plugin_from_yaml(self, plugin_conf: str) -> None:
alfacase_content = DescriptionDocument(content, self.alfacase_file)
plugin_description = load_plugin(alfacase_content)
assert plugin_description is not None, (
- "Can not load the plugin info,"
- " maybe you forgot to call `add_plugin_folder`"
+ "Can not load the plugin info, maybe you forgot to call `add_plugin_folder`"
)
self._case.plugins.append(plugin_description)
@@ -172,7 +167,7 @@ def list_log(log_file):
name = log_file.name
header_len = 4 + len(name) + 4
- return f'{"=" * header_len}\n=== {log_file.name} ===\n{"=" * header_len}\n{contents}'
+ return f"{'=' * header_len}\n=== {log_file.name} ===\n{'=' * header_len}\n{contents}"
results = Results(self.alfacase_data_folder)
log_calc = results.log_calc
@@ -192,8 +187,7 @@ def get_runner(self) -> List[str]:
"""
runner_from_env = os.environ.get("ALFASIM_RUNNER")
assert runner_from_env is not None, (
- "Can not locate the simulator."
- " Set the environment variable 'ALFASIM_RUNNER'."
+ "Can not locate the simulator. Set the environment variable 'ALFASIM_RUNNER'."
)
return runner_from_env.split(" ")
diff --git a/tasks.py b/tasks.py
index f4906934..cdfa3e88 100644
--- a/tasks.py
+++ b/tasks.py
@@ -38,16 +38,16 @@ def cog(ctx, check=False):
- on `_internal/alfacase/schema.py` to generate the schema for strictyaml;
- generate some documentation files;
"""
- ctx.run(command=f"cog -rc {case_description_source_file_path()}", warn=True)
- ctx.run(command=f"cog -rc {schema_file_path()}", warn=True)
+ ctx.run(command=f"cog -rc {case_description_source_file_path()}")
+ ctx.run(command=f"cog -rc {schema_file_path()}")
- from alfasim_sdk._internal.alfacase.generate_schema import (
- get_all_classes_that_needs_schema,
- )
from alfasim_sdk._internal.alfacase.case_description import CaseDescription
from alfasim_sdk._internal.alfacase.generate_case_description_docstring import (
generate_definition,
)
+ from alfasim_sdk._internal.alfacase.generate_schema import (
+ get_all_classes_that_needs_schema,
+ )
alfacase_definitions_path().mkdir(parents=True, exist_ok=True)
alfacase_definitions_cogged_files = set()
@@ -61,8 +61,8 @@ def write_alfacase_definitions_cogged_file(filename, content):
write_alfacase_definitions_cogged_file(f"{class_.__name__}.txt", output)
from alfasim_sdk._internal.alfacase.generate_case_description_docstring import (
- generate_list_of_units,
CATEGORIES_USED_ON_DESCRIPTION,
+ generate_list_of_units,
)
for category in CATEGORIES_USED_ON_DESCRIPTION:
diff --git a/tests/alfacase/test_alfacase_to_case.py b/tests/alfacase/test_alfacase_to_case.py
index 326452e6..74bd0085 100644
--- a/tests/alfacase/test_alfacase_to_case.py
+++ b/tests/alfacase/test_alfacase_to_case.py
@@ -6,40 +6,40 @@
import numpy
import pytest
import strictyaml
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
from strictyaml import YAML
from strictyaml.ruamel.comments import CommentedMap
-from ..common_testing.alfasim_sdk_common_testing import filled_case_descriptions
-from ..common_testing.alfasim_sdk_common_testing import get_acme_tab_file_path
-from ..common_testing.alfasim_sdk_common_testing.filled_case_descriptions import (
- ensure_descriptions_are_equal,
-)
from alfasim_sdk import convert_description_to_alfacase
-from alfasim_sdk._internal.alfacase import alfacase_to_case
-from alfasim_sdk._internal.alfacase import case_description
-from alfasim_sdk._internal.alfacase import schema
-from alfasim_sdk._internal.alfacase.alfacase_to_case import DescriptionDocument
-from alfasim_sdk._internal.alfacase.alfacase_to_case import get_array_loader
-from alfasim_sdk._internal.alfacase.alfacase_to_case import get_scalar_loader
+from alfasim_sdk._internal.alfacase import alfacase_to_case, case_description, schema
from alfasim_sdk._internal.alfacase.alfacase_to_case import (
+ DescriptionDocument,
+ get_array_loader,
+ get_scalar_loader,
load_mass_source_node_properties_description,
+ load_physics_description,
+ load_pvt_models_description,
)
-from alfasim_sdk._internal.alfacase.alfacase_to_case import load_physics_description
-from alfasim_sdk._internal.alfacase.alfacase_to_case import load_pvt_models_description
from alfasim_sdk._internal.alfacase.case_description_attributes import DescriptionError
-from alfasim_sdk._internal.alfacase.generate_schema import convert_to_snake_case
from alfasim_sdk._internal.alfacase.generate_schema import (
+ IGNORED_PROPERTIES,
+ convert_to_snake_case,
get_all_classes_that_needs_schema,
+ is_attrs,
)
-from alfasim_sdk._internal.alfacase.generate_schema import IGNORED_PROPERTIES
-from alfasim_sdk._internal.alfacase.generate_schema import is_attrs
from alfasim_sdk._internal.alfacase.schema import (
mass_source_node_properties_description_schema,
)
from alfasim_sdk._internal.constants import MultiInputType
+from ..common_testing.alfasim_sdk_common_testing import (
+ filled_case_descriptions,
+ get_acme_tab_file_path,
+)
+from ..common_testing.alfasim_sdk_common_testing.filled_case_descriptions import (
+ ensure_descriptions_are_equal,
+)
+
@attr.s(frozen=True)
class AlfacaseTestConfig:
@@ -132,9 +132,9 @@ def ensure_description_has_all_properties(
key for key in obtained_keys if key not in IGNORED_PROPERTIES
}
- assert (
- expected_keys == obtained_keys
- ), f"Error: missing the following key(s): {set(expected_keys).symmetric_difference(set(obtained_keys))}"
+ assert expected_keys == obtained_keys, (
+ f"Error: missing the following key(s): {set(expected_keys).symmetric_difference(set(obtained_keys))}"
+ )
return AlfacaseHelper(tmp_path)
diff --git a/tests/alfacase/test_alfatable.py b/tests/alfacase/test_alfatable.py
index f8b35e65..87253fe4 100644
--- a/tests/alfacase/test_alfatable.py
+++ b/tests/alfacase/test_alfatable.py
@@ -2,10 +2,12 @@
import numpy as np
-from alfasim_sdk import convert_alfacase_to_description
-from alfasim_sdk import generate_alfacase_file
-from alfasim_sdk import generate_alfatable_file
-from alfasim_sdk import PvtModelPtTableParametersDescription
+from alfasim_sdk import (
+ PvtModelPtTableParametersDescription,
+ convert_alfacase_to_description,
+ generate_alfacase_file,
+ generate_alfatable_file,
+)
def test_alfatable_has_flow_style_for_numpy_array(tmp_path):
diff --git a/tests/alfacase/test_case_description.py b/tests/alfacase/test_case_description.py
index 216de499..d40f83b6 100644
--- a/tests/alfacase/test_case_description.py
+++ b/tests/alfacase/test_case_description.py
@@ -1,50 +1,36 @@
import re
import textwrap
from textwrap import dedent
-from typing import Any
-from typing import Callable
+from typing import Any, Callable
import attr
import pytest
from attr._make import _CountingAttr
from barril.curve.curve import Curve
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
-from ..common_testing.alfasim_sdk_common_testing.case_builders import (
- build_simple_segment,
-)
-from alfasim_sdk import MaterialDescription
-from alfasim_sdk import NodeCellType
+from alfasim_sdk import MaterialDescription, NodeCellType
from alfasim_sdk._internal import constants
from alfasim_sdk._internal.alfacase import case_description
-from alfasim_sdk._internal.alfacase.case_description_attributes import attrib_array
-from alfasim_sdk._internal.alfacase.case_description_attributes import attrib_curve
-from alfasim_sdk._internal.alfacase.case_description_attributes import attrib_enum
from alfasim_sdk._internal.alfacase.case_description_attributes import (
+ InvalidReferenceError,
+ attrib_array,
+ attrib_curve,
+ attrib_enum,
attrib_instance,
-)
-from alfasim_sdk._internal.alfacase.case_description_attributes import (
attrib_instance_list,
-)
-from alfasim_sdk._internal.alfacase.case_description_attributes import attrib_scalar
-from alfasim_sdk._internal.alfacase.case_description_attributes import (
+ attrib_scalar,
collapse_array_repr,
-)
-from alfasim_sdk._internal.alfacase.case_description_attributes import (
generate_multi_input,
-)
-from alfasim_sdk._internal.alfacase.case_description_attributes import (
generate_multi_input_dict,
-)
-from alfasim_sdk._internal.alfacase.case_description_attributes import (
- InvalidReferenceError,
-)
-from alfasim_sdk._internal.alfacase.case_description_attributes import (
numpy_array_validator,
+ to_array,
+ to_curve,
+)
+
+from ..common_testing.alfasim_sdk_common_testing.case_builders import (
+ build_simple_segment,
)
-from alfasim_sdk._internal.alfacase.case_description_attributes import to_array
-from alfasim_sdk._internal.alfacase.case_description_attributes import to_curve
# Note: the table parameters descriptions have the same methods, so it could
@@ -64,8 +50,8 @@ def test_physics_description_path_validator(tmp_path):
"""
Ensure PhysicsDescription.restart_filepath only accepts created files
"""
- from pathlib import Path
import re
+ from pathlib import Path
expected_error = re.escape(
f"'restart_filepath' must be {Path} (got '' that is a {str})."
@@ -405,7 +391,8 @@ def test_remove_pvt_entry_from_pvt_models_when_pvt_model_is_invalid(
case = attr.evolve(
default_case,
pvt_models=case_description.PvtModelsDescription(
- default_model="PVT1", tables={"PVT1": f"{tmp_path/'dummy.tab'}|INVALID"}
+ default_model="PVT1",
+ tables={"PVT1": f"{tmp_path / 'dummy.tab'}|INVALID"},
),
)
case.reset_invalid_references()
@@ -413,7 +400,7 @@ def test_remove_pvt_entry_from_pvt_models_when_pvt_model_is_invalid(
assert case.pvt_models.default_model is None
case = case_description.CaseDescription(
pvt_models=case_description.PvtModelsDescription(
- default_model="PVT2", tables={"PVT2": f"{tmp_path/'dummy.tab'}|PVT2"}
+ default_model="PVT2", tables={"PVT2": f"{tmp_path / 'dummy.tab'}|PVT2"}
)
)
case.reset_invalid_references()
@@ -570,7 +557,8 @@ def test_pvt_model_from_file_is_in_valid(self, default_case, tmp_path):
case = attr.evolve(
default_case,
pvt_models=case_description.PvtModelsDescription(
- default_model="PVT1", tables={"PVT1": f"{tmp_path/'dummy.tab'}|INVALID"}
+ default_model="PVT1",
+ tables={"PVT1": f"{tmp_path / 'dummy.tab'}|INVALID"},
),
)
expect_message = "'INVALID' could not be found on 'dummy.tab', available models are: 'PVT1, PVT2'"
@@ -583,7 +571,7 @@ def test_pvt_model_from_file_is_in_valid(self, default_case, tmp_path):
# Ensure the test finishes in a valid state
case = case_description.CaseDescription(
pvt_models=case_description.PvtModelsDescription(
- default_model="PVT2", tables={"PVT2": f"{tmp_path/'dummy.tab'}|PVT2"}
+ default_model="PVT2", tables={"PVT2": f"{tmp_path / 'dummy.tab'}|PVT2"}
)
)
case.ensure_valid_references()
diff --git a/tests/alfacase/test_case_to_alfacase.py b/tests/alfacase/test_case_to_alfacase.py
index 3b3cb890..5e9e4ecd 100644
--- a/tests/alfacase/test_case_to_alfacase.py
+++ b/tests/alfacase/test_case_to_alfacase.py
@@ -2,18 +2,20 @@
from pathlib import Path
import pytest
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
-from ..common_testing.alfasim_sdk_common_testing.case_builders import (
- build_simple_segment,
+from alfasim_sdk import (
+ MultiInputType,
+ NumericalOptionsDescription,
+ convert_description_to_alfacase,
)
-from alfasim_sdk import convert_description_to_alfacase
-from alfasim_sdk import MultiInputType
-from alfasim_sdk import NumericalOptionsDescription
from alfasim_sdk._internal.alfacase import case_description
from alfasim_sdk._internal.alfacase.alfacase_to_case import DescriptionDocument
+from ..common_testing.alfasim_sdk_common_testing.case_builders import (
+ build_simple_segment,
+)
+
def test_convert_description_to_alfacase_with_empty_dict(datadir: Path) -> None:
"""
diff --git a/tests/alfacase/test_generate_case_schema.py b/tests/alfacase/test_generate_case_schema.py
index 66a3f15f..1110c31b 100644
--- a/tests/alfacase/test_generate_case_schema.py
+++ b/tests/alfacase/test_generate_case_schema.py
@@ -1,27 +1,22 @@
from pathlib import Path
from textwrap import dedent
-from typing import Dict
-from typing import List
-from typing import Optional
-from typing import Union
+from typing import Dict, List, Optional, Union
import attr
import pytest
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
-from alfasim_sdk import CaseDescription
-from alfasim_sdk import CompressorEquipmentDescription
-from alfasim_sdk._internal.alfacase.case_description_attributes import attrib_enum
-from alfasim_sdk._internal.alfacase.case_description_attributes import attrib_instance
+from alfasim_sdk import CaseDescription, CompressorEquipmentDescription
from alfasim_sdk._internal.alfacase.case_description_attributes import (
+ Numpy1DArray,
+ attrib_enum,
+ attrib_instance,
attrib_instance_list,
+ attrib_scalar,
)
-from alfasim_sdk._internal.alfacase.case_description_attributes import attrib_scalar
-from alfasim_sdk._internal.alfacase.case_description_attributes import Numpy1DArray
-from alfasim_sdk._internal.alfacase.generate_schema import _obtain_referred_type
-from alfasim_sdk._internal.alfacase.generate_schema import generate_alfacase_schema
from alfasim_sdk._internal.alfacase.generate_schema import (
+ _obtain_referred_type,
+ generate_alfacase_schema,
get_all_classes_that_needs_schema,
)
from alfasim_sdk._internal.alfacase.schema import case_description_schema
@@ -495,9 +490,7 @@ def test_get_cases_class():
"WellDescription",
"XAndYDescription",
}
- assert (
- obtained == expected
- ), f"""
+ assert obtained == expected, f"""
Missing in the expected: {obtained.difference(expected) or None}.
Extra in expected: {expected.difference(obtained) or None}
"""
diff --git a/tests/alfacase/test_generate_list_of_units.py b/tests/alfacase/test_generate_list_of_units.py
index 2cf0f78d..51491589 100644
--- a/tests/alfacase/test_generate_list_of_units.py
+++ b/tests/alfacase/test_generate_list_of_units.py
@@ -2,8 +2,6 @@
from alfasim_sdk._internal.alfacase.generate_case_description_docstring import (
CATEGORIES_USED_ON_DESCRIPTION,
-)
-from alfasim_sdk._internal.alfacase.generate_case_description_docstring import (
generate_list_of_units,
)
diff --git a/tests/alfacase/test_plugin_alfacase_to_case.py b/tests/alfacase/test_plugin_alfacase_to_case.py
index c83ab60d..f78df4ca 100644
--- a/tests/alfacase/test_plugin_alfacase_to_case.py
+++ b/tests/alfacase/test_plugin_alfacase_to_case.py
@@ -2,29 +2,23 @@
import textwrap
from datetime import datetime
from pathlib import Path
-from typing import Any
-from typing import Callable
-from typing import List
+from typing import Any, Callable, List
from unittest.mock import ANY
import pytest
from _pytest.monkeypatch import MonkeyPatch
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
from pytest_mock import MockerFixture
-from alfasim_sdk import convert_alfacase_to_description
-from alfasim_sdk import PluginDescription
-from alfasim_sdk._internal.alfacase.case_description import CaseDescription
+from alfasim_sdk import PluginDescription, convert_alfacase_to_description
from alfasim_sdk._internal.alfacase.case_description import (
+ CaseDescription,
InternalReferencePluginTableColumn,
-)
-from alfasim_sdk._internal.alfacase.case_description import PluginFileContent
-from alfasim_sdk._internal.alfacase.case_description import PluginInternalReference
-from alfasim_sdk._internal.alfacase.case_description import PluginMultipleReference
-from alfasim_sdk._internal.alfacase.case_description import PluginTableContainer
-from alfasim_sdk._internal.alfacase.case_description import PluginTracerReference
-from alfasim_sdk._internal.alfacase.case_description import (
+ PluginFileContent,
+ PluginInternalReference,
+ PluginMultipleReference,
+ PluginTableContainer,
+ PluginTracerReference,
TracerReferencePluginTableColumn,
)
from alfasim_sdk._internal.alfacase.case_description_attributes import (
@@ -32,11 +26,7 @@
)
from alfasim_sdk._internal.alfacase.plugin_alfacase_to_case import (
dump_file_contents_and_update_plugins,
-)
-from alfasim_sdk._internal.alfacase.plugin_alfacase_to_case import (
get_plugin_module_candidates,
-)
-from alfasim_sdk._internal.alfacase.plugin_alfacase_to_case import (
load_plugin_data_structure,
)
diff --git a/tests/common_testing/alfasim_sdk_common_testing/case_builders.py b/tests/common_testing/alfasim_sdk_common_testing/case_builders.py
index 42bb4fb9..626bb0f2 100644
--- a/tests/common_testing/alfasim_sdk_common_testing/case_builders.py
+++ b/tests/common_testing/alfasim_sdk_common_testing/case_builders.py
@@ -1,5 +1,4 @@
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
from alfasim_sdk._internal import constants
from alfasim_sdk._internal.alfacase import case_description
@@ -125,12 +124,12 @@ def build_compressor_pressure_table_description(
making it a explicit table with all combinations.
"""
expected_size = len(speed_entries) * len(corrected_mass_flow_rate_entries)
- assert expected_size == len(
- pressure_ratio_table
- ), f"Missing pressure entries. Expected {expected_size} but got {len(pressure_ratio_table)}"
- assert expected_size == len(
- isentropic_efficiency_table
- ), f"Missing isentropic efficiency entries. Expected {expected_size} but got {len(isentropic_efficiency_table)}"
+ assert expected_size == len(pressure_ratio_table), (
+ f"Missing pressure entries. Expected {expected_size} but got {len(pressure_ratio_table)}"
+ )
+ assert expected_size == len(isentropic_efficiency_table), (
+ f"Missing isentropic efficiency entries. Expected {expected_size} but got {len(isentropic_efficiency_table)}"
+ )
adjusted_speeds = []
adjusted_flow_rates = []
diff --git a/tests/common_testing/alfasim_sdk_common_testing/filled_case_descriptions.py b/tests/common_testing/alfasim_sdk_common_testing/filled_case_descriptions.py
index 47ac3a93..fae4aaf9 100644
--- a/tests/common_testing/alfasim_sdk_common_testing/filled_case_descriptions.py
+++ b/tests/common_testing/alfasim_sdk_common_testing/filled_case_descriptions.py
@@ -2,16 +2,15 @@
import numpy as np
from barril.curve.curve import Curve
-from barril.units import Array
-from barril.units import Scalar
+from barril.units import Array, Scalar
-from . import case_builders
-from . import get_acme_tab_file_path
from alfasim_sdk import LeakLocation
from alfasim_sdk._internal import constants
from alfasim_sdk._internal.alfacase import case_description
from alfasim_sdk._internal.alfacase.alfacase_to_case import get_category_for
+from . import case_builders, get_acme_tab_file_path
+
BIP_DESCRIPTION = case_description.BipDescription(
component_1="C1", component_2="C2", value=0.5
)
@@ -988,9 +987,9 @@ def ensure_descriptions_are_equal(
if is_ndarray or (
is_list and isinstance(first(expected_value, None), np.ndarray)
):
- assert np.array_equal(
- obtained_description_dict[key], expected_value
- ), f"Not equal on {path}{key}"
+ assert np.array_equal(obtained_description_dict[key], expected_value), (
+ f"Not equal on {path}{key}"
+ )
continue # pragma no cover [bug on coverage.py: https://github.com/nedbat/coveragepy/issues/198]
is_array = isinstance(expected_value, Array)
@@ -998,9 +997,9 @@ def ensure_descriptions_are_equal(
unit = expected_value.GetUnit()
obtained_values = np.array(obtained_description_dict[key].GetValues(unit))
expected_values = np.array(expected_value.GetValues(unit))
- assert np.allclose(
- obtained_values, expected_values
- ), f"Not equal on {path}{key}\nObtained={obtained_values} != {expected_values}"
+ assert np.allclose(obtained_values, expected_values), (
+ f"Not equal on {path}{key}\nObtained={obtained_values} != {expected_values}"
+ )
continue # pragma no cover [bug on coverage.py
is_curve = isinstance(expected_value, Curve)
@@ -1009,21 +1008,21 @@ def ensure_descriptions_are_equal(
domain_unit = expected_value.GetDomain().GetUnit()
expected_domain_values = expected_value.GetDomain().GetValues(domain_unit)
obtained_domain_values = obtained_curve.GetDomain().GetValues(domain_unit)
- assert np.allclose(
- expected_domain_values, obtained_domain_values
- ), f"Not equal on {path}{key}\nObtained={obtained_values} != {expected_values}"
+ assert np.allclose(expected_domain_values, obtained_domain_values), (
+ f"Not equal on {path}{key}\nObtained={obtained_values} != {expected_values}"
+ )
image_unit = expected_value.GetImage().GetUnit()
expected_image_values = expected_value.GetImage().GetValues(image_unit)
obtained_image_values = obtained_curve.GetImage().GetValues(image_unit)
- assert np.allclose(
- expected_image_values, obtained_image_values
- ), f"Not equal on {path}{key}\nObtained={obtained_values} != {expected_values}"
+ assert np.allclose(expected_image_values, obtained_image_values), (
+ f"Not equal on {path}{key}\nObtained={obtained_values} != {expected_values}"
+ )
continue # pragma no cover [bug on coverage.py: https://github.com/nedbat/coveragepy/issues/198]
# Skip the check when materials or walls only has defaults values
if key in ("materials", "walls") and first(expected_value, None) is None:
continue
- assert (
- obtained_description_dict[key] == expected_value
- ), f'Not equal on {path}{key}\nAttribute "{key}" doesn\'t match, obtained "{obtained_description_dict[key]}" while "{expected_value}" was expected.'
+ assert obtained_description_dict[key] == expected_value, (
+ f'Not equal on {path}{key}\nAttribute "{key}" doesn\'t match, obtained "{obtained_description_dict[key]}" while "{expected_value}" was expected.'
+ )
diff --git a/tests/conftest.py b/tests/conftest.py
index 5a3a9f73..a70ee185 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -3,8 +3,7 @@
import shutil
import textwrap
from pathlib import Path
-from typing import Dict
-from typing import List
+from typing import Dict, List
import h5py
import numpy as np
@@ -17,34 +16,19 @@
)
from alfasim_sdk.result_reader.aggregator_constants import (
GLOBAL_SENSITIVITY_ANALYSIS_GROUP_NAME,
-)
-from alfasim_sdk.result_reader.aggregator_constants import (
HISTORY_MATCHING_DETERMINISTIC_DSET_NAME,
-)
-from alfasim_sdk.result_reader.aggregator_constants import HISTORY_MATCHING_GROUP_NAME
-from alfasim_sdk.result_reader.aggregator_constants import (
+ HISTORY_MATCHING_GROUP_NAME,
HISTORY_MATCHING_PROBABILISTIC_DSET_NAME,
-)
-from alfasim_sdk.result_reader.aggregator_constants import META_GROUP_NAME
-from alfasim_sdk.result_reader.aggregator_constants import TIME_SET_DSET_NAME
-from alfasim_sdk.result_reader.aggregator_constants import (
+ META_GROUP_NAME,
+ TIME_SET_DSET_NAME,
UNCERTAINTY_PROPAGATION_DSET_MEAN_RESULT,
-)
-from alfasim_sdk.result_reader.aggregator_constants import (
UNCERTAINTY_PROPAGATION_DSET_REALIZATION_OUTPUTS,
-)
-from alfasim_sdk.result_reader.aggregator_constants import (
UNCERTAINTY_PROPAGATION_DSET_STD_RESULT,
-)
-from alfasim_sdk.result_reader.aggregator_constants import (
UNCERTAINTY_PROPAGATION_GROUP_META_ATTR_NAME,
-)
-from alfasim_sdk.result_reader.aggregator_constants import (
UNCERTAINTY_PROPAGATION_GROUP_NAME,
)
from alfasim_sdk.result_reader.reader import Results
-
pytest_plugins = [
"alfasim_sdk.testing.fixtures",
]
diff --git a/tests/plugins/test_context.py b/tests/plugins/test_context.py
index 64a23770..cf696fc9 100644
--- a/tests/plugins/test_context.py
+++ b/tests/plugins/test_context.py
@@ -3,18 +3,22 @@
import pytest
from barril.units import Scalar
-from alfasim_sdk._internal.constants import EmulsionDropletSizeModelType
-from alfasim_sdk._internal.constants import EmulsionInversionPointModelType
-from alfasim_sdk._internal.constants import EmulsionRelativeViscosityModelType
-from alfasim_sdk._internal.constants import HydrodynamicModelType
-from alfasim_sdk._internal.constants import SolidsModelType
-from alfasim_sdk._internal.context import EdgeInfo
-from alfasim_sdk._internal.context import EmulsionModelInfo
-from alfasim_sdk._internal.context import HydrodynamicModelInfo
-from alfasim_sdk._internal.context import NodeInfo
-from alfasim_sdk._internal.context import PhysicsOptionsInfo
-from alfasim_sdk._internal.context import PipelineInfo
-from alfasim_sdk._internal.context import PipelineSegmentInfo
+from alfasim_sdk._internal.constants import (
+ EmulsionDropletSizeModelType,
+ EmulsionInversionPointModelType,
+ EmulsionRelativeViscosityModelType,
+ HydrodynamicModelType,
+ SolidsModelType,
+)
+from alfasim_sdk._internal.context import (
+ EdgeInfo,
+ EmulsionModelInfo,
+ HydrodynamicModelInfo,
+ NodeInfo,
+ PhysicsOptionsInfo,
+ PipelineInfo,
+ PipelineSegmentInfo,
+)
def test_plugin_info():
diff --git a/tests/plugins/test_layout.py b/tests/plugins/test_layout.py
index a31a8f54..0f7cd67e 100644
--- a/tests/plugins/test_layout.py
+++ b/tests/plugins/test_layout.py
@@ -1,13 +1,12 @@
import pytest
-from alfasim_sdk._internal.layout import tab
-from alfasim_sdk._internal.layout import tabs
+from alfasim_sdk._internal.layout import tab, tabs
from alfasim_sdk._internal.types import String
def test_group():
- from alfasim_sdk._internal.models import data_model
from alfasim_sdk._internal.layout import group
+ from alfasim_sdk._internal.models import data_model
@data_model(caption="Foo")
class ValidClass:
@@ -65,9 +64,9 @@ class Tab2:
def test_tabs():
- from alfasim_sdk._internal.types import String
- from alfasim_sdk._internal.layout import tabs, tab
+ from alfasim_sdk._internal.layout import tab, tabs
from alfasim_sdk._internal.models import data_model
+ from alfasim_sdk._internal.types import String
error_msg = "Error on attribute 'a' expecting a class decorated with @tab but received a String type"
with pytest.raises(TypeError, match=error_msg):
diff --git a/tests/plugins/test_models.py b/tests/plugins/test_models.py
index 4e80c147..e1011a09 100644
--- a/tests/plugins/test_models.py
+++ b/tests/plugins/test_models.py
@@ -91,11 +91,11 @@ def test_attribute_order():
from alfasim_sdk._internal.models import data_model
from alfasim_sdk._internal.types import (
Boolean,
- Reference,
- TracerType,
Enum,
- String,
Quantity,
+ Reference,
+ String,
+ TracerType,
)
@data_model(icon="", caption="caption")
diff --git a/tests/plugins/test_status.py b/tests/plugins/test_status.py
index eb107954..e43169a7 100644
--- a/tests/plugins/test_status.py
+++ b/tests/plugins/test_status.py
@@ -2,8 +2,7 @@
import pytest
-from alfasim_sdk import ErrorMessage
-from alfasim_sdk import WarningMessage
+from alfasim_sdk import ErrorMessage, WarningMessage
@pytest.mark.parametrize("status_class", [WarningMessage, ErrorMessage])
diff --git a/tests/plugins/test_types.py b/tests/plugins/test_types.py
index 447138b2..48c2d338 100644
--- a/tests/plugins/test_types.py
+++ b/tests/plugins/test_types.py
@@ -2,8 +2,7 @@
import pytest
-from alfasim_sdk._internal.types import MultipleReference
-from alfasim_sdk._internal.types import Reference
+from alfasim_sdk._internal.types import MultipleReference, Reference
@pytest.mark.parametrize("expression_type", ["enable_expr", "visible_expr"])
@@ -81,8 +80,8 @@ def test_enum():
@pytest.mark.parametrize("class_", [Reference, MultipleReference])
def test_reference(class_):
+ from alfasim_sdk._internal.models import container_model, data_model
from alfasim_sdk._internal.types import TracerType
- from alfasim_sdk._internal.models import data_model, container_model
@data_model(caption="caption")
class Data:
@@ -160,7 +159,7 @@ def test_table():
def test_table_column():
- from alfasim_sdk._internal.types import TableColumn, Quantity
+ from alfasim_sdk._internal.types import Quantity, TableColumn
with pytest.raises(
TypeError, match="value must be a Quantity or a Reference, got a ."
diff --git a/tests/plugins/test_variables.py b/tests/plugins/test_variables.py
index 55a32e79..76eaf903 100644
--- a/tests/plugins/test_variables.py
+++ b/tests/plugins/test_variables.py
@@ -24,11 +24,11 @@
)
def test_validation(attr, expected_type_error, expected_message):
from alfasim_sdk._internal.variables import (
- Visibility,
Location,
Scope,
SecondaryVariable,
Type,
+ Visibility,
)
attrs = dict(
diff --git a/tests/results/test_aggregator.py b/tests/results/test_aggregator.py
index 41eb0637..f4377ccf 100644
--- a/tests/results/test_aggregator.py
+++ b/tests/results/test_aggregator.py
@@ -3,8 +3,7 @@
import re
import shutil
from pathlib import Path
-from typing import List
-from typing import Literal
+from typing import List, Literal
import numpy
import pytest
@@ -12,39 +11,33 @@
from pytest_mock import MockerFixture
from pytest_regressions.num_regression import NumericRegressionFixture
-from alfasim_sdk.result_reader.aggregator import concatenate_metadata
-from alfasim_sdk.result_reader.aggregator import GSAOutputKey
-from alfasim_sdk.result_reader.aggregator import HistoricDataCurveMetadata
-from alfasim_sdk.result_reader.aggregator import HistoryMatchingMetadata
-from alfasim_sdk.result_reader.aggregator import HMOutputKey
-from alfasim_sdk.result_reader.aggregator import open_result_files
from alfasim_sdk.result_reader.aggregator import (
+ GSAOutputKey,
+ HistoricDataCurveMetadata,
+ HistoryMatchingMetadata,
+ HMOutputKey,
+ ResultsNeedFullReloadError,
+ TimeSetInfoItem,
+ UPOutputKey,
+ concatenate_metadata,
+ open_result_files,
read_global_sensitivity_analysis_meta_data,
-)
-from alfasim_sdk.result_reader.aggregator import read_global_sensitivity_coefficients
-from alfasim_sdk.result_reader.aggregator import (
+ read_global_sensitivity_coefficients,
read_history_matching_historic_data_curves,
-)
-from alfasim_sdk.result_reader.aggregator import read_history_matching_metadata
-from alfasim_sdk.result_reader.aggregator import read_history_matching_result
-from alfasim_sdk.result_reader.aggregator import read_metadata
-from alfasim_sdk.result_reader.aggregator import read_profiles_local_statistics
-from alfasim_sdk.result_reader.aggregator import read_time_sets
-from alfasim_sdk.result_reader.aggregator import read_trends_data
-from alfasim_sdk.result_reader.aggregator import (
+ read_history_matching_metadata,
+ read_history_matching_result,
+ read_metadata,
+ read_profiles_local_statistics,
+ read_time_sets,
+ read_trends_data,
read_uncertainty_propagation_analyses_meta_data,
-)
-from alfasim_sdk.result_reader.aggregator import read_uncertainty_propagation_results
-from alfasim_sdk.result_reader.aggregator import (
+ read_uncertainty_propagation_results,
read_uq_time_set,
)
-from alfasim_sdk.result_reader.aggregator import ResultsNeedFullReloadError
-from alfasim_sdk.result_reader.aggregator import TimeSetInfoItem
-from alfasim_sdk.result_reader.aggregator import UPOutputKey
from alfasim_sdk.result_reader.aggregator_constants import (
GLOBAL_SENSITIVITY_ANALYSIS_GROUP_NAME,
+ RESULTS_FOLDER_NAME,
)
-from alfasim_sdk.result_reader.aggregator_constants import RESULTS_FOLDER_NAME
from alfasim_sdk.result_reader.reader import Results
diff --git a/tests/results/test_result_reader.py b/tests/results/test_result_reader.py
index 6b934b92..2fe87c69 100644
--- a/tests/results/test_result_reader.py
+++ b/tests/results/test_result_reader.py
@@ -8,27 +8,30 @@
import numpy as np
import pytest
from barril.curve.curve import Curve
-from barril.units import Array
-from barril.units import Scalar
-
-from alfasim_sdk.result_reader.aggregator import GlobalSensitivityAnalysisMetadata
-from alfasim_sdk.result_reader.aggregator import GSAOutputKey
-from alfasim_sdk.result_reader.aggregator import HistoricDataCurveMetadata
-from alfasim_sdk.result_reader.aggregator import HistoryMatchingMetadata
-from alfasim_sdk.result_reader.aggregator import HMOutputKey
-from alfasim_sdk.result_reader.aggregator import read_history_matching_metadata
-from alfasim_sdk.result_reader.aggregator import read_history_matching_result
-from alfasim_sdk.result_reader.aggregator import UncertaintyPropagationAnalysesMetaData
-from alfasim_sdk.result_reader.aggregator import UPOutputKey
-from alfasim_sdk.result_reader.reader import GlobalSensitivityAnalysisResults
-from alfasim_sdk.result_reader.reader import GlobalTrendMetadata
-from alfasim_sdk.result_reader.reader import HistoryMatchingDeterministicResults
-from alfasim_sdk.result_reader.reader import HistoryMatchingProbabilisticResults
-from alfasim_sdk.result_reader.reader import OverallTrendMetadata
-from alfasim_sdk.result_reader.reader import PositionalTrendMetadata
-from alfasim_sdk.result_reader.reader import ProfileMetadata
-from alfasim_sdk.result_reader.reader import Results
-from alfasim_sdk.result_reader.reader import UncertaintyPropagationResults
+from barril.units import Array, Scalar
+
+from alfasim_sdk.result_reader.aggregator import (
+ GlobalSensitivityAnalysisMetadata,
+ GSAOutputKey,
+ HistoricDataCurveMetadata,
+ HistoryMatchingMetadata,
+ HMOutputKey,
+ UncertaintyPropagationAnalysesMetaData,
+ UPOutputKey,
+ read_history_matching_metadata,
+ read_history_matching_result,
+)
+from alfasim_sdk.result_reader.reader import (
+ GlobalSensitivityAnalysisResults,
+ GlobalTrendMetadata,
+ HistoryMatchingDeterministicResults,
+ HistoryMatchingProbabilisticResults,
+ OverallTrendMetadata,
+ PositionalTrendMetadata,
+ ProfileMetadata,
+ Results,
+ UncertaintyPropagationResults,
+)
def test_fail_to_get_curves(results: Results) -> None:
diff --git a/tests/test_alfasim_sdk_utils.py b/tests/test_alfasim_sdk_utils.py
index b871b115..ba273b09 100644
--- a/tests/test_alfasim_sdk_utils.py
+++ b/tests/test_alfasim_sdk_utils.py
@@ -26,8 +26,7 @@ def test_get_metadata() -> None:
from alfasim_sdk._internal.alfasim_sdk_utils import get_metadata
@data_model(icon="model.png", caption="PLUGIN DEV MODEL")
- class Model:
- ...
+ class Model: ...
assert get_metadata(Model)["caption"] == "PLUGIN DEV MODEL"
assert get_metadata(Model)["icon"] == "model.png"
diff --git a/tests/test_case_builders.py b/tests/test_case_builders.py
index c23d6c67..97922bef 100644
--- a/tests/test_case_builders.py
+++ b/tests/test_case_builders.py
@@ -1,25 +1,16 @@
import pytest
from barril.units import Array
+from alfasim_sdk._internal import constants
+
from .common_testing.alfasim_sdk_common_testing.case_builders import (
build_compressor_pressure_table_description,
-)
-from .common_testing.alfasim_sdk_common_testing.case_builders import (
build_constant_initial_pressure_description,
-)
-from .common_testing.alfasim_sdk_common_testing.case_builders import (
build_constant_initial_temperatures_description,
-)
-from .common_testing.alfasim_sdk_common_testing.case_builders import (
build_constant_pvt_table,
-)
-from .common_testing.alfasim_sdk_common_testing.case_builders import (
build_linear_initial_pressure_description,
-)
-from .common_testing.alfasim_sdk_common_testing.case_builders import (
build_linear_initial_temperatures_description,
)
-from alfasim_sdk._internal import constants
def test_build_constant_initial_temperatures_description():
diff --git a/tests/test_invoke.py b/tests/test_invoke.py
index 2024fe8e..0363f9d8 100644
--- a/tests/test_invoke.py
+++ b/tests/test_invoke.py
@@ -11,7 +11,6 @@
from alfasim_sdk._internal.alfasim_sdk_utils import get_current_version
-
plugin_id = "acme"
invoke_cmd = shutil.which("invoke")
alfasim_sdk_cmd = shutil.which("alfasim-sdk")