Skip to content

Separate build/host and run dependencies in meta.yaml #1476

Closed
@rth

Description

In meta.yaml I think it would make sense to differentiate between build/host and run dependencies, same as conda does https://conda-forge.org/docs/maintainer/adding_pkgs.html#build-host-and-run

This would,

  • improve the parallelism for building packages. Since for instance, a number of packages depend on scipy, by few actually need scipy to build, and right now all those packages are waiting for scipy to build.
  • allow us to explicitly check that build dependencies are available (and if necessary install them). Which should address issues like Flaky scipy build #936

Currently the problem for this migration is that we are using setup.py build which doesn't have a --no-deps version as far as I can tell, and so will fetch all dependencies at this step.

Another possible workaround I considered would be to monkeypatch socket.socket at install time to prevent internet access, but I think it's able to escape that as setuptools uses subprocess internally.

Also related to #795

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions