diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index be279bc9..558ef5d5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -30,7 +30,7 @@ jobs: run: pip install -e ".[tests]" - name: Run tests with coverage - run: pytest --cov=cala --cov-report=xml + run: pytest --log-cli-level=DEBUG --cov=cala --cov-report=xml - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 diff --git a/pdm.lock b/pdm.lock index 16127fbd..67c41550 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "dev", "docs", "gui", "tests"] strategy = [] lock_version = "4.5.0" -content_hash = "sha256:d02754f2363ec34c50db0fe7d4a94b017e21816863471a002e007ed0fd85e128" +content_hash = "sha256:b791ad4b9d500b62299dfc14d6b10c6b75e16de030f5c33a1234c6b6c7372f5d" [[metadata.targets]] requires_python = ">=3.11" @@ -1821,11 +1821,10 @@ files = [ [[package]] name = "noob" -version = "0.1.1.dev209" +version = "0.1.1.dev231" requires_python = ">=3.11" git = "https://github.com/miniscope/noob.git" -ref = "scheduler-optimize" -revision = "1cafe617372795c5bfe9c6953416b309572e1676" +revision = "30a8286a561527456956951ead1c29245511ca90" summary = "Default template for PDM package" dependencies = [ "PyYAML>=6.0.2", diff --git a/pyproject.toml b/pyproject.toml index cefed70d..16db0a33 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,7 @@ dependencies = [ "pyyaml>=6.0.2", "typer>=0.15.3", "xarray-validate>=0.0.2", - "noob @ git+https://github.com/miniscope/noob.git@scheduler-optimize", + "noob @ git+https://github.com/miniscope/noob.git", "natsort>=8.4.0", ] keywords = [ diff --git a/src/cala/config.py b/src/cala/config.py index d705c1a7..be3131fc 100644 --- a/src/cala/config.py +++ b/src/cala/config.py @@ -36,7 +36,7 @@ class LogConfig(BaseModel): """ Severity for stream-based logging. If unset, use ``level`` """ - dir: Path = _dirs.user_log_dir + dir: Path = Path(_dirs.user_log_dir) """ Directory where logs are stored. """ @@ -48,6 +48,7 @@ class LogConfig(BaseModel): """ Maximum size of log files (bytes) """ + model_config = SettingsConfigDict(validate_default=True) @field_validator("level", "level_file", "level_stdout", mode="before") @classmethod @@ -75,6 +76,7 @@ class Config(BaseSettings, YAMLMixin): nested_model_default_partial_update=True, yaml_file="cala_config.yaml", pyproject_toml_table_header=("tool", "cala", "config"), + validate_default=True, ) logs: LogConfig = LogConfig() diff --git a/src/cala/logging.py b/src/cala/logging.py index 56879609..d6949081 100644 --- a/src/cala/logging.py +++ b/src/cala/logging.py @@ -115,7 +115,6 @@ def _init_root( stream_handlers = [ handler for handler in root_logger.handlers if isinstance(handler, RichHandler) ] - if log_dir is not False and not file_handlers: root_logger.addHandler( _file_handler( diff --git a/tests/test_config.py b/tests/test_config.py index a6a4549f..2e41ee60 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -8,7 +8,7 @@ def test_config(tmp_path): """ Config should be able to make directories and set sensible defaults """ - config = Config(user_dir=tmp_path) + config = Config(user_dir=tmp_path, logs={"dir": tmp_path / "log"}) assert config.user_dir.exists() assert config.logs.dir.exists()