diff --git a/AGENTS.md b/AGENTS.md index 2f8abea..0c4ee8a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -25,9 +25,11 @@ This repository contains DFODE-kit, a Python toolkit for sampling combustion sta ## Structure - `dfode_kit/cli/`: CLI entrypoints and subcommands -- `dfode_kit/data_operations/`: dataset I/O, labeling, augmentation, integration utilities -- `dfode_kit/dfode_core/`: models, training, preprocessing -- `dfode_kit/df_interface/`: DeepFlame/OpenFOAM-facing helpers +- `dfode_kit/cases/`: case init, presets, sampling, and DeepFlame/OpenFOAM-facing helpers +- `dfode_kit/data/`: data contracts, HDF5 I/O, and integration helpers +- `dfode_kit/data_operations/`: labeling and augmentation workflows +- `dfode_kit/models/`: model architectures and registries +- `dfode_kit/training/`: training configuration, loops, and preprocessing - `docs/agents/`: deeper agent-facing docs and workflow conventions - `tests/`: lightweight harness tests; keep them fast diff --git a/README.md b/README.md index a23d8e1..763b5d8 100644 --- a/README.md +++ b/README.md @@ -133,15 +133,12 @@ If you are working on the repository itself, see: ## Repository layout -- `dfode_kit/cli/` — canonical CLI entrypoints and subcommands -- `dfode_kit/cli_tools/` — legacy compatibility shims for older CLI import paths -- `dfode_kit/cases/` — canonical case init/preset/sampling boundaries for DeepFlame/OpenFOAM workflows -- `dfode_kit/df_interface/` — legacy compatibility shims for case-facing helpers during the cases migration -- `dfode_kit/data/` — emerging canonical package for data contracts and HDF5 I/O helpers -- `dfode_kit/data_operations/` — legacy and transitional dataset I/O, augmentation, labeling, and integration helpers -- `dfode_kit/models/` — canonical model package -- `dfode_kit/training/` — canonical training package -- `dfode_kit/dfode_core/` — legacy compatibility surface for model/training code during migration +- `dfode_kit/cli/` — CLI entrypoints and subcommands +- `dfode_kit/cases/` — case init, presets, sampling, and DeepFlame/OpenFOAM-facing helpers +- `dfode_kit/data/` — data contracts, HDF5 I/O, and integration helpers +- `dfode_kit/data_operations/` — augmentation and labeling workflows +- `dfode_kit/models/` — model architectures and registries +- `dfode_kit/training/` — training configuration, registries, training loops, and preprocessing - `canonical_cases/` — canonical flame case templates - `tutorials/` — tutorial notebooks and workflow examples - `docs/` — published project documentation diff --git a/canonical_cases/oneD_freely_propagating_flame/dfode_kit_init.ipynb b/canonical_cases/oneD_freely_propagating_flame/dfode_kit_init.ipynb index 8dca223..f24e8b4 100644 --- a/canonical_cases/oneD_freely_propagating_flame/dfode_kit_init.ipynb +++ b/canonical_cases/oneD_freely_propagating_flame/dfode_kit_init.ipynb @@ -20,7 +20,7 @@ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", - "from dfode_kit.df_interface import (\n", + "from dfode_kit.cases import (\n", " OneDFreelyPropagatingFlameConfig,\n", " setup_one_d_flame_case,\n", " df_to_h5,\n", @@ -32,7 +32,7 @@ " label_npy,\n", " integrate_h5,\n", ")\n", - "from dfode_kit.dfode_core.model.mlp import MLP\n", + "from dfode_kit.models.mlp import MLP\n", "from dfode_kit.utils import BCT\n", "\n", "DFODE_ROOT = os.environ['DFODE_ROOT']" diff --git a/dfode_kit/cli_tools/__init__.py b/dfode_kit/cli_tools/__init__.py deleted file mode 100644 index 6104fb9..0000000 --- a/dfode_kit/cli_tools/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shims for the renamed ``dfode_kit.cli_tools`` package.""" - -from dfode_kit.cli import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/command_loader.py b/dfode_kit/cli_tools/command_loader.py deleted file mode 100644 index 36eba4b..0000000 --- a/dfode_kit/cli_tools/command_loader.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.cli.command_loader`.""" - -from dfode_kit.cli.command_loader import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/commands/__init__.py b/dfode_kit/cli_tools/commands/__init__.py deleted file mode 100644 index 21eb97d..0000000 --- a/dfode_kit/cli_tools/commands/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Compatibility shims for :mod:`dfode_kit.cli.commands`.""" diff --git a/dfode_kit/cli_tools/commands/augment.py b/dfode_kit/cli_tools/commands/augment.py deleted file mode 100644 index 5f4c904..0000000 --- a/dfode_kit/cli_tools/commands/augment.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.cli.commands.augment`.""" - -from dfode_kit.cli.commands.augment import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/commands/config.py b/dfode_kit/cli_tools/commands/config.py deleted file mode 100644 index a17f3b7..0000000 --- a/dfode_kit/cli_tools/commands/config.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.cli.commands.config`.""" - -from dfode_kit.cli.commands.config import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/commands/h52npy.py b/dfode_kit/cli_tools/commands/h52npy.py deleted file mode 100644 index 1e808f6..0000000 --- a/dfode_kit/cli_tools/commands/h52npy.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.cli.commands.h52npy`.""" - -from dfode_kit.cli.commands.h52npy import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/commands/init.py b/dfode_kit/cli_tools/commands/init.py deleted file mode 100644 index a8a7c24..0000000 --- a/dfode_kit/cli_tools/commands/init.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.cli.commands.init`.""" - -from dfode_kit.cli.commands.init import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/commands/init_helpers.py b/dfode_kit/cli_tools/commands/init_helpers.py deleted file mode 100644 index 2db40d4..0000000 --- a/dfode_kit/cli_tools/commands/init_helpers.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.cli.commands.init_helpers`.""" - -from dfode_kit.cli.commands.init_helpers import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/commands/label.py b/dfode_kit/cli_tools/commands/label.py deleted file mode 100644 index bb1936d..0000000 --- a/dfode_kit/cli_tools/commands/label.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.cli.commands.label`.""" - -from dfode_kit.cli.commands.label import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/commands/run_case.py b/dfode_kit/cli_tools/commands/run_case.py deleted file mode 100644 index 494a264..0000000 --- a/dfode_kit/cli_tools/commands/run_case.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.cli.commands.run_case`.""" - -from dfode_kit.cli.commands.run_case import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/commands/run_case_helpers.py b/dfode_kit/cli_tools/commands/run_case_helpers.py deleted file mode 100644 index 2b5b87c..0000000 --- a/dfode_kit/cli_tools/commands/run_case_helpers.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.runtime.run_case`.""" - -from dfode_kit.runtime.run_case import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/commands/sample.py b/dfode_kit/cli_tools/commands/sample.py deleted file mode 100644 index d2dcd1b..0000000 --- a/dfode_kit/cli_tools/commands/sample.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.cli.commands.sample`.""" - -from dfode_kit.cli.commands.sample import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/commands/train.py b/dfode_kit/cli_tools/commands/train.py deleted file mode 100644 index 9f99574..0000000 --- a/dfode_kit/cli_tools/commands/train.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.cli.commands.train`.""" - -from dfode_kit.cli.commands.train import * # noqa: F401,F403 diff --git a/dfode_kit/cli_tools/main.py b/dfode_kit/cli_tools/main.py deleted file mode 100644 index 5732201..0000000 --- a/dfode_kit/cli_tools/main.py +++ /dev/null @@ -1,7 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.cli.main`.""" - -from dfode_kit.cli.main import * # noqa: F401,F403 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/dfode_kit/df_interface/__init__.py b/dfode_kit/df_interface/__init__.py deleted file mode 100644 index 9ae4594..0000000 --- a/dfode_kit/df_interface/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -from importlib import import_module - - -__all__ = [ - 'df_to_h5', - 'OneDFreelyPropagatingFlameConfig', - 'setup_one_d_flame_case', -] - -_ATTRIBUTE_MODULES = { - 'df_to_h5': ('dfode_kit.cases.sampling', 'df_to_h5'), - 'OneDFreelyPropagatingFlameConfig': ( - 'dfode_kit.cases.presets', - 'OneDFreelyPropagatingFlameConfig', - ), - 'setup_one_d_flame_case': ( - 'dfode_kit.cases.deepflame', - 'setup_one_d_flame_case', - ), -} - - -def __getattr__(name): - if name not in _ATTRIBUTE_MODULES: - raise AttributeError(f"module 'dfode_kit.df_interface' has no attribute '{name}'") - - module_name, attribute_name = _ATTRIBUTE_MODULES[name] - module = import_module(module_name) - value = getattr(module, attribute_name) - globals()[name] = value - return value diff --git a/dfode_kit/df_interface/case_init.py b/dfode_kit/df_interface/case_init.py deleted file mode 100644 index 17f93ca..0000000 --- a/dfode_kit/df_interface/case_init.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for the future dfode_kit.cases.init module.""" - -from dfode_kit.cases.init import * # noqa: F401,F403 diff --git a/dfode_kit/df_interface/flame_configurations.py b/dfode_kit/df_interface/flame_configurations.py deleted file mode 100644 index dee0353..0000000 --- a/dfode_kit/df_interface/flame_configurations.py +++ /dev/null @@ -1,4 +0,0 @@ -"""Compatibility shim for the future dfode_kit.cases.presets module.""" - -from dfode_kit.cases.presets import * # noqa: F401,F403 - \ No newline at end of file diff --git a/dfode_kit/df_interface/oneDflame_setup.py b/dfode_kit/df_interface/oneDflame_setup.py deleted file mode 100755 index d469142..0000000 --- a/dfode_kit/df_interface/oneDflame_setup.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Compatibility shim for the future dfode_kit.cases.deepflame module.""" - -from dfode_kit.cases.deepflame import * # noqa: F401,F403 diff --git a/dfode_kit/df_interface/sample_case.py b/dfode_kit/df_interface/sample_case.py deleted file mode 100644 index 57f3b43..0000000 --- a/dfode_kit/df_interface/sample_case.py +++ /dev/null @@ -1,4 +0,0 @@ -"""Compatibility shim for the future dfode_kit.cases.sampling module.""" - -from dfode_kit.cases.sampling import * # noqa: F401,F403 - diff --git a/dfode_kit/dfode_core/__init__.py b/dfode_kit/dfode_core/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/dfode_kit/dfode_core/model/__init__.py b/dfode_kit/dfode_core/model/__init__.py deleted file mode 100644 index 8dd28eb..0000000 --- a/dfode_kit/dfode_core/model/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -"""Compatibility shims for :mod:`dfode_kit.models`.""" - -from importlib import import_module - - -__all__ = [ - "MLP", - "build_mlp", - "create_model", - "get_model_factory", - "register_model", - "registered_models", -] - -_ATTRIBUTE_MODULES = { - "MLP": ("dfode_kit.models.mlp", "MLP"), - "build_mlp": ("dfode_kit.models.mlp", "build_mlp"), - "create_model": ("dfode_kit.models.registry", "create_model"), - "get_model_factory": ("dfode_kit.models.registry", "get_model_factory"), - "register_model": ("dfode_kit.models.registry", "register_model"), - "registered_models": ("dfode_kit.models.registry", "registered_models"), -} - - -def __getattr__(name): - if name not in _ATTRIBUTE_MODULES: - raise AttributeError(f"module 'dfode_kit.dfode_core.model' has no attribute '{name}'") - - module_name, attribute_name = _ATTRIBUTE_MODULES[name] - module = import_module(module_name) - value = getattr(module, attribute_name) - globals()[name] = value - return value diff --git a/dfode_kit/dfode_core/model/mlp.py b/dfode_kit/dfode_core/model/mlp.py deleted file mode 100644 index 03ce898..0000000 --- a/dfode_kit/dfode_core/model/mlp.py +++ /dev/null @@ -1,5 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.models.mlp`.""" - -from dfode_kit.models.mlp import MLP, build_mlp - -__all__ = ["MLP", "build_mlp"] diff --git a/dfode_kit/dfode_core/model/registry.py b/dfode_kit/dfode_core/model/registry.py deleted file mode 100644 index f4fbe08..0000000 --- a/dfode_kit/dfode_core/model/registry.py +++ /dev/null @@ -1,10 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.models.registry`.""" - -from dfode_kit.models.registry import create_model, get_model_factory, register_model, registered_models - -__all__ = [ - "create_model", - "get_model_factory", - "register_model", - "registered_models", -] diff --git a/dfode_kit/dfode_core/train/__init__.py b/dfode_kit/dfode_core/train/__init__.py deleted file mode 100644 index d7a5525..0000000 --- a/dfode_kit/dfode_core/train/__init__.py +++ /dev/null @@ -1,43 +0,0 @@ -"""Compatibility shims for :mod:`dfode_kit.training`.""" - -from importlib import import_module - - -__all__ = [ - "ModelConfig", - "OptimizerConfig", - "TrainerConfig", - "TrainingConfig", - "create_trainer", - "default_training_config", - "get_trainer_factory", - "register_trainer", - "registered_trainers", - "train", - "with_overrides", -] - -_ATTRIBUTE_MODULES = { - "ModelConfig": ("dfode_kit.training.config", "ModelConfig"), - "OptimizerConfig": ("dfode_kit.training.config", "OptimizerConfig"), - "TrainerConfig": ("dfode_kit.training.config", "TrainerConfig"), - "TrainingConfig": ("dfode_kit.training.config", "TrainingConfig"), - "create_trainer": ("dfode_kit.training.registry", "create_trainer"), - "default_training_config": ("dfode_kit.training.config", "default_training_config"), - "get_trainer_factory": ("dfode_kit.training.registry", "get_trainer_factory"), - "register_trainer": ("dfode_kit.training.registry", "register_trainer"), - "registered_trainers": ("dfode_kit.training.registry", "registered_trainers"), - "train": ("dfode_kit.training.train", "train"), - "with_overrides": ("dfode_kit.training.config", "with_overrides"), -} - - -def __getattr__(name): - if name not in _ATTRIBUTE_MODULES: - raise AttributeError(f"module 'dfode_kit.dfode_core.train' has no attribute '{name}'") - - module_name, attribute_name = _ATTRIBUTE_MODULES[name] - module = import_module(module_name) - value = getattr(module, attribute_name) - globals()[name] = value - return value diff --git a/dfode_kit/dfode_core/train/config.py b/dfode_kit/dfode_core/train/config.py deleted file mode 100644 index 66b7fce..0000000 --- a/dfode_kit/dfode_core/train/config.py +++ /dev/null @@ -1,19 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.training.config`.""" - -from dfode_kit.training.config import ( - ModelConfig, - OptimizerConfig, - TrainerConfig, - TrainingConfig, - default_training_config, - with_overrides, -) - -__all__ = [ - "ModelConfig", - "OptimizerConfig", - "TrainerConfig", - "TrainingConfig", - "default_training_config", - "with_overrides", -] diff --git a/dfode_kit/dfode_core/train/formation.py b/dfode_kit/dfode_core/train/formation.py deleted file mode 100644 index 20b18ee..0000000 --- a/dfode_kit/dfode_core/train/formation.py +++ /dev/null @@ -1,5 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.training.formation`.""" - -from dfode_kit.training.formation import formation_calculate - -__all__ = ["formation_calculate"] diff --git a/dfode_kit/dfode_core/train/registry.py b/dfode_kit/dfode_core/train/registry.py deleted file mode 100644 index 26011aa..0000000 --- a/dfode_kit/dfode_core/train/registry.py +++ /dev/null @@ -1,10 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.training.registry`.""" - -from dfode_kit.training.registry import create_trainer, get_trainer_factory, register_trainer, registered_trainers - -__all__ = [ - "create_trainer", - "get_trainer_factory", - "register_trainer", - "registered_trainers", -] diff --git a/dfode_kit/dfode_core/train/supervised_physics.py b/dfode_kit/dfode_core/train/supervised_physics.py deleted file mode 100644 index 447392d..0000000 --- a/dfode_kit/dfode_core/train/supervised_physics.py +++ /dev/null @@ -1,8 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.training.supervised_physics`.""" - -from dfode_kit.training.supervised_physics import ( - SupervisedPhysicsTrainer, - build_supervised_physics_trainer, -) - -__all__ = ["SupervisedPhysicsTrainer", "build_supervised_physics_trainer"] diff --git a/dfode_kit/dfode_core/train/train.py b/dfode_kit/dfode_core/train/train.py deleted file mode 100644 index 7fbcb32..0000000 --- a/dfode_kit/dfode_core/train/train.py +++ /dev/null @@ -1,5 +0,0 @@ -"""Compatibility shim for :mod:`dfode_kit.training.train`.""" - -from dfode_kit.training.train import train - -__all__ = ["train"] diff --git a/dfode_kit/runtime_config.py b/dfode_kit/runtime_config.py deleted file mode 100644 index aad8233..0000000 --- a/dfode_kit/runtime_config.py +++ /dev/null @@ -1 +0,0 @@ -from dfode_kit.runtime.config import * # noqa: F401,F403 diff --git a/dfode_kit/training/__init__.py b/dfode_kit/training/__init__.py index 8293bf0..92ff2bc 100644 --- a/dfode_kit/training/__init__.py +++ b/dfode_kit/training/__init__.py @@ -14,6 +14,7 @@ "get_trainer_factory", "register_trainer", "registered_trainers", + "DataPreprocessor", "train", ] @@ -28,6 +29,7 @@ "get_trainer_factory": ("dfode_kit.training.registry", "get_trainer_factory"), "register_trainer": ("dfode_kit.training.registry", "register_trainer"), "registered_trainers": ("dfode_kit.training.registry", "registered_trainers"), + "DataPreprocessor": ("dfode_kit.training.preprocess", "DataPreprocessor"), "train": ("dfode_kit.training.train", "train"), } diff --git a/dfode_kit/dfode_core/preprocess.py b/dfode_kit/training/preprocess.py similarity index 100% rename from dfode_kit/dfode_core/preprocess.py rename to dfode_kit/training/preprocess.py diff --git a/docs/agents/train-config-plan.md b/docs/agents/train-config-plan.md index 883a144..79c5252 100644 --- a/docs/agents/train-config-plan.md +++ b/docs/agents/train-config-plan.md @@ -1,7 +1,7 @@ # Training/config refactor plan ## Scope -Keep changes tightly limited to the model/training package boundary (`dfode_kit/models`, `dfode_kit/training`, plus compatibility shims under `dfode_kit/dfode_core/{model,train}`) and the train CLI surface needed to select registered components. Do not redesign data loading, labeling, or DeepFlame integration in this slice. +Keep changes tightly limited to the canonical model/training package boundary (`dfode_kit/models`, `dfode_kit/training`) and the train CLI surface needed to select registered components. Do not redesign data loading, labeling, or DeepFlame integration in this slice. ## Current audit - `dfode_kit/training/train.py` hard-codes: diff --git a/docs/architecture.md b/docs/architecture.md index 986964a..1e9f36d 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -3,10 +3,11 @@ ## Current repository structure - `dfode_kit/cli/`: CLI entrypoints and subcommands -- `dfode_kit/data_operations/`: dataset I/O, contracts, labeling, augmentation, integration utilities -- `dfode_kit/dfode_core/`: models, training, registries, preprocessing -- `dfode_kit/cases/`: explicit case init, preset, sampling, and DeepFlame-facing helpers -- `dfode_kit/df_interface/`: compatibility layer for the legacy case-facing import paths +- `dfode_kit/cases/`: explicit case init, presets, sampling, and DeepFlame-facing helpers +- `dfode_kit/data/`: contracts, HDF5 I/O, and integration utilities +- `dfode_kit/data_operations/`: augmentation and labeling workflows +- `dfode_kit/models/`: model architectures and registries +- `dfode_kit/training/`: training configuration, training loops, registries, and preprocessing - `docs/agents/`: agent-facing operational and planning docs - `tests/`: lightweight repository and harness tests diff --git a/docs/init.md b/docs/init.md index 81ed8e9..2d1a16a 100644 --- a/docs/init.md +++ b/docs/init.md @@ -39,8 +39,6 @@ This preset preserves the current hardcoded empirical logic from: - `dfode_kit/cases/presets.py` - method: `OneDFreelyPropagatingFlameConfig.update_config()` -Legacy `dfode_kit/df_interface/*` imports remain as compatibility shims during the package-topology migration. - ## Stable intent The command is a **preset instantiator**, not a claim of universal best practice. diff --git a/docs/run-case.md b/docs/run-case.md index b40fc8a..1a5c3d3 100644 --- a/docs/run-case.md +++ b/docs/run-case.md @@ -7,7 +7,7 @@ DFODE-kit provides two CLI entrypoints for running DeepFlame/OpenFOAM cases repr This document is the shared reference for both humans and AI agents. -Implementation note: runtime config helpers now live under `dfode_kit.runtime.config`, and reusable run planning/execution helpers live under `dfode_kit.runtime.run_case`. The legacy import paths remain as compatibility shims during migration. +Implementation note: runtime config helpers live under `dfode_kit.runtime.config`, and reusable run planning/execution helpers live under `dfode_kit.runtime.run_case`. ## Why a persistent runtime config exists diff --git a/tests/test_cases_shims.py b/tests/test_cases_shims.py index 42263b3..9fbb434 100644 --- a/tests/test_cases_shims.py +++ b/tests/test_cases_shims.py @@ -1,7 +1,6 @@ from dfode_kit.cases import init as cases_init -from dfode_kit.df_interface import case_init as legacy_case_init -def test_df_interface_case_init_reexports_cases_symbols(): - assert legacy_case_init.resolve_oxidizer is cases_init.resolve_oxidizer - assert legacy_case_init.DEFAULT_ONE_D_FLAME_PRESET == cases_init.DEFAULT_ONE_D_FLAME_PRESET +def test_cases_init_exports_expected_symbols(): + assert callable(cases_init.resolve_oxidizer) + assert cases_init.DEFAULT_ONE_D_FLAME_PRESET == "premixed-defaults-v1" diff --git a/tests/test_cli_main.py b/tests/test_cli_main.py index 2caa36e..1801ae8 100644 --- a/tests/test_cli_main.py +++ b/tests/test_cli_main.py @@ -140,9 +140,8 @@ def test_main_returns_two_for_missing_handler(monkeypatch, capsys): assert "Unknown command: dummy" in captured.err -def test_cli_tools_command_loader_shim_re_exports_cli_symbols(): - shim = import_module("dfode_kit.cli_tools.command_loader") +def test_cli_command_loader_module_is_importable(): direct = import_module("dfode_kit.cli.command_loader") - assert shim.load_command_specs is direct.load_command_specs - assert shim.load_command is direct.load_command + assert callable(direct.load_command_specs) + assert callable(direct.load_command) diff --git a/tests/test_run_case_cli.py b/tests/test_run_case_cli.py index bb69329..12de4fe 100644 --- a/tests/test_run_case_cli.py +++ b/tests/test_run_case_cli.py @@ -86,9 +86,6 @@ def fake_run(command, stdout=None, stderr=None, text=None): assert calls['command'] == ['bash', '-lc', 'echo hello'] - -def test_legacy_run_case_helpers_shim_matches_new_module(): - from dfode_kit.cli_tools.commands import run_case_helpers as legacy_run_case_helpers - - assert legacy_run_case_helpers.resolve_run_case_plan is run_case_helpers.resolve_run_case_plan - assert legacy_run_case_helpers.execute_run_case is run_case_helpers.execute_run_case +def test_run_case_helpers_module_is_importable_from_runtime_package(): + assert callable(run_case_helpers.resolve_run_case_plan) + assert callable(run_case_helpers.execute_run_case) diff --git a/tests/test_runtime_config.py b/tests/test_runtime_config.py index b005b5f..67e17f1 100644 --- a/tests/test_runtime_config.py +++ b/tests/test_runtime_config.py @@ -27,8 +27,6 @@ def test_validate_config_key_rejects_unknown(): raise AssertionError('expected ValueError') -def test_legacy_runtime_config_shim_matches_new_module(): - from dfode_kit import runtime_config as legacy_runtime_config - - assert legacy_runtime_config.get_config_path is runtime_config.get_config_path - assert legacy_runtime_config.resolve_runtime_config is runtime_config.resolve_runtime_config +def test_runtime_config_module_exports_expected_helpers(): + assert callable(runtime_config.get_config_path) + assert callable(runtime_config.resolve_runtime_config) diff --git a/tests/test_train_config_architecture.py b/tests/test_train_config_architecture.py index f7502ae..971dc43 100644 --- a/tests/test_train_config_architecture.py +++ b/tests/test_train_config_architecture.py @@ -81,17 +81,14 @@ def test_registry_errors_include_available_names(): assert "Unknown model 'does_not_exist'" in str(excinfo.value) -def test_legacy_dfode_core_imports_remain_available_as_shims(): +def test_canonical_training_and_model_modules_are_importable(): canonical_config = import_module("dfode_kit.training.config") canonical_model_registry = import_module("dfode_kit.models.registry") canonical_trainer_registry = import_module("dfode_kit.training.registry") - legacy_config = import_module("dfode_kit.dfode_core.train.config") - legacy_model_registry = import_module("dfode_kit.dfode_core.model.registry") - legacy_trainer_registry = import_module("dfode_kit.dfode_core.train.registry") - assert legacy_config.TrainingConfig is canonical_config.TrainingConfig - assert legacy_model_registry.register_model is canonical_model_registry.register_model - assert legacy_trainer_registry.register_trainer is canonical_trainer_registry.register_trainer + assert canonical_config.TrainingConfig is not None + assert callable(canonical_model_registry.register_model) + assert callable(canonical_trainer_registry.register_trainer) def test_training_plan_doc_exists_and_mentions_registry_design(): diff --git a/tutorials/oneD_freely_propagating_flame/1_sample_train/dfode_kit_init.ipynb b/tutorials/oneD_freely_propagating_flame/1_sample_train/dfode_kit_init.ipynb index cf27849..3bdda39 100644 --- a/tutorials/oneD_freely_propagating_flame/1_sample_train/dfode_kit_init.ipynb +++ b/tutorials/oneD_freely_propagating_flame/1_sample_train/dfode_kit_init.ipynb @@ -20,7 +20,7 @@ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", - "from dfode_kit.df_interface import (\n", + "from dfode_kit.cases import (\n", " OneDFreelyPropagatingFlameConfig,\n", " setup_one_d_flame_case,\n", " df_to_h5,\n", @@ -32,7 +32,7 @@ " label_npy,\n", " integrate_h5,\n", ")\n", - "from dfode_kit.dfode_core.model.mlp import MLP\n", + "from dfode_kit.models.mlp import MLP\n", "from dfode_kit.utils import BCT\n", "\n", "DFODE_ROOT = os.environ['DFODE_ROOT']" diff --git a/tutorials/oneD_freely_propagating_flame/1_sample_train/dfode_kit_tutorial.ipynb b/tutorials/oneD_freely_propagating_flame/1_sample_train/dfode_kit_tutorial.ipynb index 5ad9be5..8d0be27 100644 --- a/tutorials/oneD_freely_propagating_flame/1_sample_train/dfode_kit_tutorial.ipynb +++ b/tutorials/oneD_freely_propagating_flame/1_sample_train/dfode_kit_tutorial.ipynb @@ -20,7 +20,7 @@ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", - "from dfode_kit.df_interface import (\n", + "from dfode_kit.cases import (\n", " OneDFreelyPropagatingFlameConfig,\n", " setup_one_d_flame_case,\n", " df_to_h5,\n", @@ -33,7 +33,7 @@ " integrate_h5,\n", " calculate_error,\n", ")\n", - "from dfode_kit.dfode_core.model.mlp import MLP\n", + "from dfode_kit.models.mlp import MLP\n", "from dfode_kit.utils import BCT\n", "\n", "DFODE_ROOT = os.environ['DFODE_ROOT']\n", @@ -250,7 +250,7 @@ "source": [ "import torch\n", "import cantera as ct\n", - "from dfode_kit.dfode_core.train.formation import formation_calculate\n", + "from dfode_kit.training.formation import formation_calculate\n", "\n", "source_file = 'dataset.npy'\n", "time_step = 1e-06\n", diff --git a/tutorials/twoD_HIT_flame/1_sample_train/dfode_kit_init.ipynb b/tutorials/twoD_HIT_flame/1_sample_train/dfode_kit_init.ipynb index ca59f50..2790b23 100644 --- a/tutorials/twoD_HIT_flame/1_sample_train/dfode_kit_init.ipynb +++ b/tutorials/twoD_HIT_flame/1_sample_train/dfode_kit_init.ipynb @@ -20,7 +20,7 @@ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", - "from dfode_kit.df_interface import (\n", + "from dfode_kit.cases import (\n", " OneDFreelyPropagatingFlameConfig,\n", " setup_one_d_flame_case,\n", " df_to_h5,\n", @@ -32,7 +32,7 @@ " label_npy,\n", " integrate_h5,\n", ")\n", - "from dfode_kit.dfode_core.model.mlp import MLP\n", + "from dfode_kit.models.mlp import MLP\n", "from dfode_kit.utils import BCT\n", "\n", "DFODE_ROOT = os.environ['DFODE_ROOT']" diff --git a/tutorials/twoD_HIT_flame/1_sample_train/dfode_kit_tutorial.ipynb b/tutorials/twoD_HIT_flame/1_sample_train/dfode_kit_tutorial.ipynb index 917344b..5d5d347 100644 --- a/tutorials/twoD_HIT_flame/1_sample_train/dfode_kit_tutorial.ipynb +++ b/tutorials/twoD_HIT_flame/1_sample_train/dfode_kit_tutorial.ipynb @@ -20,7 +20,7 @@ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", - "from dfode_kit.df_interface import (\n", + "from dfode_kit.cases import (\n", " OneDFreelyPropagatingFlameConfig,\n", " setup_one_d_flame_case,\n", " df_to_h5,\n", @@ -33,7 +33,7 @@ " integrate_h5,\n", " calculate_error,\n", ")\n", - "from dfode_kit.dfode_core.model.mlp import MLP\n", + "from dfode_kit.models.mlp import MLP\n", "from dfode_kit.utils import BCT\n", "\n", "DFODE_ROOT = os.environ['DFODE_ROOT']\n", @@ -257,7 +257,7 @@ "source": [ "import torch\n", "import cantera as ct\n", - "from dfode_kit.dfode_core.train.formation import formation_calculate\n", + "from dfode_kit.training.formation import formation_calculate\n", "\n", "source_file = 'dataset.npy'\n", "time_step = 1e-06\n",