-
-
Notifications
You must be signed in to change notification settings - Fork 465
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
package in rye workspace cannot depend on another workspace package for build-system requirements #813
Comments
This may be a problem with |
@ischaojie rye 0.31.0 exhibits the same issue - I think this is very specific to
|
This should be addressed upstream in the latest release of uv (0.1.27). |
Yeah I don't think we support this. I don't know how we would know to find |
Just to say it (ignoring the implementation details and philosophies of rye/uv) - it's in the configured workspace so it could be found. Since it's a build-system dependency instead of a runtime dependency I think conceptually it'd require an initial pass of the workspace to find package names + build dependencies prior to actually building each package, then properly sorting packages so they are built in the right order with respect to build dependencies. Something similar would be required if build dependencies were supported in lockfiles which I don't think they are right now - correct me if I'm wrong. |
Anecdotally here is how I do this without rye: $ uv pip install -U pip
$ .venv/bin/pip wheel \
-w .venv/wheels \
-r requirements/01-setup.in -c requirements/01-setup.txt
$ uv pip install \
--color always \
--find-links .venv/wheels \
--refresh \
--reinstall \
-r requirements/02-src.in -c requirements/02-src.txt \
-r requirements/03-dev.in -c requirements/03-dev.txt We use pip-tools to lock a 01-setup, then build wheels of those into a wheelhouse. Then that wheelhouse is used via edit I had to update this to use A workspace would help a lot here to avoid needing the |
Steps to Reproduce
pyproject.toml
src/my-setuptools-extension/pyproject.toml
src/my-app/pyproject.toml
src/my-app/setup.py
This step is optional and here for completeness.
Expected Result
The workspace should support
build-system.requires
such that it is built and made available for other packages in the workspace to use.Actual Result
Rye isn't solving this problem and assuming the requirements are in a remote registry.
Version Info
Additional info
In our current repo, we do this by running a specific build step plus find-links:
The text was updated successfully, but these errors were encountered: