Skip to content

DEPR: self-triggered deprecation warnings in 3.2.4 #352

@neutrinoceros

Description

@neutrinoceros

ref: #336

If I understand correctly, UFloat.error_components() is equivalent to UFloat.derivatives. 3.2.4 deprecated both, and unfortunately the migration path isn't straight forward:

  • there is no way to write code that will work with both uncertainties 3.x and 4.x. As a result, the only way to protect users of a library that already depends on uncertainties against breaking upgrades is to introduce an upper bound <4 on the requirement, whith is an infamous antipattern
  • even if I set an upper bound and restrict my own usage to UFloat.error_components() for now, I'll still get FutureWarnings from it because it is wired to use UFloat.derivatives internally. I can ignore the warnings in my own CI, but cannot protect my users against it without resorting to an even worse upper bound (<3.2.4).

One way to fix both problems, would be to instead deprecate the error_components method in favor of the existing derivatives property.
I would also advise yanking 3.2.4 for good measure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions