Make tccbox an optional dependency - #752
Conversation
There was a problem hiding this comment.
No quality gates enabled for this code.
See analysis details in CodeScene
Quality Gate Profile: Custom Configuration
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.
|
Can you instead modify pyproject.toml requires to "tccbox; sys_platform == 'win32'" ? |
|
Hmm, I'm a bit confused as why tinybox is a |
|
The wheel includes the docs which includes a png for each model which is created by running the model. This requires either a compiler or opencl/cuda, hence tccbox is a build requirement. Doc build is also run as part of CI so tccbox may be needed there as well. bumps isn't required. I mock the necessary symbols so that bumps_model can be imported during doc build and doc test, but with bumps in the requirements this code path never gets tested. Since sasview independently requires bumps this isn't much of an issue. Note: For a list of packages that depend on sasmodels, see the sasmodels pypimap |
|
Thanks for the explanation! I did test building without tccbox in build-requires on a windows runner https://github.com/MridulS/sasmodels-windows-ci/actions/runs/32279909247/job/96155969517 and it seems happy. I'm happy to just put it back in pyproject.toml but I am biased towards removing deps if not absolutely required :) |
|
Does modifying the requirements file with "tccbox; sys_platform == 'win32'" to limit tccbox to windows solve the feedstock problem? Or does the feedstock have its own version of a requirements file that has to be kept in sync with pyproject.toml + build_tools/requirements.txt*?
Check by adding python -m sasmodels.models -models
python -m sasmodels.list_parsFeel free to remove the dependency from the code and requirements. It isn't used by sasview. |
Trying to fix conda-forge/sasmodels-feedstock#19
From what I understand tccbox is only an optional dep for windows codepath? This PR exposes it through the Windows-only tinycc extra, and update CI to validate the resulting wheel metadata.