diff --git a/pyproject.toml b/pyproject.toml index 2af3eee..60660f8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ dependencies = [ "torch>=1.13.1,<2.5.0", "torchaudio>=1.13.1,<2.5.0", "torchvision>=0.14.0", - "soundevent[audio,geometry,plot]>=2.6.5", + "soundevent[audio,geometry,plot]>=2.7.0", "click>=8.1.7", "netcdf4>=1.6.5", "tqdm>=4.66.2", @@ -84,6 +84,7 @@ dev = [ "pytest-cov>=6.1.1", "ty>=0.0.1a12", "rust-just>=1.40.0", + "pandas-stubs>=2.2.2.240807", ] dvclive = ["dvclive>=3.48.2"] mlflow = ["mlflow>=3.1.1"] diff --git a/src/batdetect2/targets/terms.py b/src/batdetect2/targets/terms.py index 9f82b84..9932860 100644 --- a/src/batdetect2/targets/terms.py +++ b/src/batdetect2/targets/terms.py @@ -45,7 +45,6 @@ data_source = data.Term( ), ) - call_type = data.Term( name="soundevent:call_type", label="Call Type", @@ -79,6 +78,24 @@ generic_class = data.Term( ) """Generic term representing a classification model's output class label.""" +terms.register_term_set( + terms.TermSet( + terms=[ + generic_class, + individual, + call_type, + data_source, + ], + aliases={ + "class": generic_class.name, + "individual": individual.name, + "event": call_type.name, + "source": data_source.name, + }, + ), + override_existing=True, +) + class TermRegistry(Mapping[str, data.Term]): """Manages a registry mapping unique keys to Term definitions. @@ -278,6 +295,11 @@ def get_term_from_key( KeyError If the key is not found in the specified registry. """ + term = terms.get_term(key) + + if term: + return term + term_registry = term_registry or default_term_registry return term_registry.get_term(key)