tinkoff-ai / etna

ETNA – Time-Series Library

Home Page:https://etna.tinkoff.ru

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Change warning condition on loading object saved under different library version

Mr-Geekman opened this issue Β· comments

πŸš€ Feature Request

Currently we have this condition on loading object saved under different library version:

        if current_etna_version[0] != saved_etna_version[0] or current_etna_version[:2] < saved_etna_version[:2]:
            current_etna_version_str = ".".join([str(x) for x in current_etna_version])
            saved_etna_version_str = ".".join([str(x) for x in saved_etna_version])
            warnings.warn(
                f"The object was saved under etna version {saved_etna_version_str} "
                f"but running version is {current_etna_version_str}, this can cause problems with compatibility!"
            )

We should simplify this condition and give a warning if version is different: current_etna_version != saved_etna_version, because we don't have forward or backward compatibility for saving.

Proposal

Change the condition in

  • etna.core.mixins.SaveMixin._validate_metadata

Test cases

Fix tests:

  • tests.test_core.test_mixins.test_save_mixin_load_warning
    • Add params (1, 5, 0), (1, 3, 0)
    • Add params (1, 5, 0), (1, 5, 1)
    • Add params (1, 5, 1), (1, 5, 0)
  • tests.test_pipeline.test_save_mixin_load_warning
    • Same
  • tests.test_ensembles.test_save_mixin_load_warning
    • Same
  • tests.test_models.test_save_mixin_load_warning
    • Same

Additional context

No response