Skip to content

Add info about why constraints exist and how/policy #917

@TimMonko

Description

@TimMonko

Thanks! I admit I have no clue about what these files are used for. I imagine to create the bundle?

Constraint files are used to set up test environments (docs build environment is test environments).
In the past we have had situations where a new release of package crashed our test suite, preventing work on any PR until someone debugged and solved the failure.
With constraints, such failure happens only on the update branch.

An example of such a failure is the problem with PySide6 that, since version 6.10, segfaults on part of mocking (see #8560).

Unfortunately, it is not protective of nondeterministic fails like PyQt6 ones.

The constraint could be used to install older versions of napari (eg, reproduction of some older research).

Constraints are not used for bundles, as bundles are built using conda packages, not PyPI ones. And there is no clear translation between thems.

Originally posted by @Czaki in napari/napari#8581 (comment)

  1. We should also comment on our policy (we are happy to update constraints for folks, especially since its fiddly)
  2. We should add info about how things work after #8505

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