Skip to content
This repository was archived by the owner on Feb 14, 2023. It is now read-only.

BLD Uses pyproject.toml build dependencies in posix #58

Closed

Conversation

thomasjpfan
Copy link
Collaborator

Partially resolves #57

multibuild internally uses pip wheel ... which takes advantage of pyproject.toml

The windows case use more involved since it needs to run vendor_vcomp140.py.

Copy link
Collaborator

@adrinjalali adrinjalali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this doesn't change anything in practice, since multiuild was calling pip wheel? Trying to think if this would need a new RC or not.

@@ -64,7 +61,7 @@ jobs:
- bash: |
set -e
pip install virtualenv
BUILD_DEPENDS="$NP_BUILD_DEP $CYTHON_BUILD_DEP $SCIPY_BUILD_DEP"
BUILD_DEPENDS="$CYTHON_BUILD_DEP"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if multibuild is calling pip wheel, then do we need to specify a build depend here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Particularly that if it uses PEP517, this would have no effect. Maybe we should change pin the cython version in pyproject.toml to "Cython>=0.28.5,<3.0.0" ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if multibuild is calling pip wheel, then do we need to specify a build depend here?

Wheel is already specified in pyproject.toml.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should change pin the cython version in pyproject.toml to "Cython>=0.28.5,<3.0.0" ?

This was my concern as well.

multibuild does something equivalent to this:

pip install $BUILD_DEPENDS
pip wheel --no-deps .

Copy link
Collaborator

@adrinjalali adrinjalali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this LGTM, should we merge? Our proposed release date is tomorrow :)

@jnothman
Copy link
Collaborator

But the runs in this PR are installing the latest numpy compatible with the Py version, not the earliest. That could run us into trouble if we are not testing those earlier versions elsewhere...?

@adrinjalali
Copy link
Collaborator

Does it? I don't think so, our pyproject.toml has:

    "numpy==1.13.3; python_version=='3.6' and platform_system!='AIX'",
    "numpy==1.14.5; python_version=='3.7' and platform_system!='AIX'",
    "numpy==1.17.3; python_version>='3.8' and platform_system!='AIX'",
    "numpy==1.16.0; python_version=='3.6' and platform_system=='AIX'",
    "numpy==1.16.0; python_version=='3.7' and platform_system=='AIX'",
    "numpy==1.17.3; python_version>='3.8' and platform_system=='AIX'",

@ogrisel
Copy link
Contributor

ogrisel commented Nov 9, 2020

I think we can close this as this is now done in:

https://github.com/scikit-learn/scikit-learn/blob/master/.github/workflows/wheels.yml

and it does use the pinned build dependencies defined in pyproject.toml.

@ogrisel ogrisel closed this Nov 9, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use pyproject.toml for build dependencies
5 participants