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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions