-
Notifications
You must be signed in to change notification settings - Fork 33
Build requirements are too strict #147
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
Comments
We can certainly update it (and possibly relax the pins). What versions do you have/need? |
I prefer requirements without upper bounds, or something obvious, for example setuptools-scm<8 (or python<4). I do not care about lower bounds, because I can always upgrade. The aim of OpenIndiana is to provide latest versions of all projects so any lower bounds is okay. BTW, our currently packaged versions are these: setuptools-65.5.1, setuptools-scm-7.0.5, wheel-0.38.4. Thank you. |
Thanks! |
PEP 517 (AFAIK) does not require strictly isolated build environment. We build in real (current) environment because built packages will be run in real environment too[1]. This is the reason why we cannot easily provide multiple versions of single package (e.g. setuptools) to fulfill strict requirements of packages like Since we build in real (current) environment we are able to access anything we want (including PyPI). We also test in real (current) environment too to make sure the package integration is correct on works as expected. For tox based testing (this will include Thank you. [1] I believe other distros like Fedora or Ubuntu does it similarly. |
FWIW, this project does not depend on any of its build dependencies at runtime.
Avoiding this is an expressly stated goal of PEP 517 isolation:
Anyways... Give |
Yes, sure, but for building the build dependencies needs to be installed on a build machine so build dependencies are de facto runtime dependencies needed during the build.
Yes, exactly, the "global environment" is the key here. To solve that we would need to build in isolated/virtualized environment and we want to try to avoid that because it would make the build environment too complex. And so far it looks viable because vast majority of Python projects seems to be already flexible enough with their deps. Where it is not the case (like it was for
It is in queue waiting for its dependencies to get packaged, namely |
NP, thanks for reaching out! I've not had much experience with OS packaging before.
What exactly is the build process? Do you use
It's definitely a controversial practice. I'll give you that 😋
This is a trade-off, though, because it means builds that use the latest available versions will start to fail once the build tools make a backwards-incompatible release. |
The build process exactly is this: https://github.com/OpenIndiana/oi-userland/blob/f3877e672d82783b9d41a0c81f55d3dd01a85067/make-rules/pyproject.mk#L72.
Maybe, but that's on discretion of every particular project. And, as I said, majority of them are not very strict.
Sure. To avoid that a project could set some reasonable upper boundary and once it is crossed (by setuptools, for example) the project could (should) adapt and set new upper boundary. I think the best way how to handle that is to use a build backend with strict semver (I'm not sure if setuptools uses semver or not) to avoid surprises. Thank you. |
I'd like to package
pytest-mypy
for OpenIndiana, but it is very hard to do so because build requirements forpytest-mypy
are these (frompyproject.toml
):The latest acceptable versions of required tools are about two years old now.
Could you please update
pytest-mypy
to relax its build requirements?Thank you.
The text was updated successfully, but these errors were encountered: