Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to flit build backend #705

Merged
merged 13 commits into from
May 6, 2022
Merged

Switch to flit build backend #705

merged 13 commits into from
May 6, 2022

Conversation

blink1073
Copy link
Contributor

@blink1073 blink1073 commented May 4, 2022

Fixes #704

  • Make sure the labextension and nbextension are properly installed from sdist and wheel

@blink1073
Copy link
Contributor Author

@minrk, interesting limitation here. setuptools allows prereleases to satisfy version constraints, which is not technically correct. flit uses the more correct version constraint. So, we end up with a pyzmq constraint that we cannot satisfy. We could potentially install without --pre and then have a script that explicitly installs all of the direct dependencies with --pre . That script could go in maintainer-tools, similar to the minimum version handler. WDYT?

@minrk
Copy link
Member

minrk commented May 6, 2022

I don't quite understand how flit is involved in resolving prereleases. Isn't pip used for install?

I don't care too much about preleases (certainly not prerelease pyzmq which isn't used) in the build step, but I do think it's important to test against prereleases.

I also think it's just not true that allowing prereleases to satisfy constraints is incorrect. According to PEP440, inclusive ordering (>=) should accept prereleases. Prereleases are only excluded for exclusive ordering (>). Whatever code is rejecting that is not doing the right thing.

@minrk
Copy link
Member

minrk commented May 6, 2022

Looks like the bug is already reported in pip: pypa/pip#10222

minrk added 2 commits May 6, 2022 13:29
`build:prod` builds the extension (and dependencies) and `build` is dev + dependencies
@minrk minrk marked this pull request as ready for review May 6, 2022 13:25
@minrk
Copy link
Member

minrk commented May 6, 2022

Tested the wheel from the actions artifacts. Extensions are working as before.

Thanks!

@minrk minrk merged commit ccc5476 into ipython:main May 6, 2022
@blink1073
Copy link
Contributor Author

Sweet, thanks for the assist!

@blink1073 blink1073 deleted the use-flit branch May 6, 2022 13:58
@minrk
Copy link
Member

minrk commented May 6, 2022

Thanks! Going to make a release next week with the various build fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use a flit-based backend?
2 participants