feat: Add the project itself as an editable dependency#1084
Conversation
|
Would this also work for projects that are compiled with maturin for example? |
If you would specify that correctly in the |
|
Would be nice if pixi read the |
|
Note this does not seem to work currently running then then yields a |
|
I just tested maturin with the regular editable install feature from Seems like |
|
Maybe having an option to turn off automatically adding |
|
@pavelzw , does automatic recompilation work with |
|
yeah it looks like maturin doesn't work that way. maybe adding somewhere in the docs that you should disable this feature (using |
|
We can also add a flag or maybe a boolean to always rebuild, although it does kind of have a bit of feature overlap with the |
|
@olivier-lacroix seems main wasn't merged in this branch yet, so there were no editable installs at all 😄 I've merged main and added some small changes. Hope you dont't mind me pushing on this. I believe it should now work. Also maybe we should use a proper more python directory structure for this example, even though this works with Even setuptools recommends having a seperate source folder: https://hatch.pypa.io/latest/plugins/builder/wheel/#default-file-selection |
|
Also, do we need to expand the CLI to include installing the local editable projects with extra's? |
🤦 Indeed, it works :-) |
Yeah. I have reorganised the folder into a proper python package |
@pavelzw , I do not see the harm in having it installed as editable, even without the rebuild trigger? |
Yes maybe. Also, in #1077, I propose to create pixi features & environments based on the extras automatically, which is another way to provide that feature |
|
Quick question @tdejager , I see the source dependency includes a sha256 in the lock file: when is this value re-rendered? In case that lockfile is used in a dockerfile, it may be useful to be able to opt-out of recording that hash: otherwise, you cannot cache the layer containing all the dependencies if the hash has changed. what do you think? |
0310421 to
01882a4
Compare
This is regenerated when the lock file is invalidated, I think there is the '--frozen' flag or something that bypasses this. |
8920c55 to
012d538
Compare
28f1bc5 to
012d538
Compare
I can think of some situations (for example in docker containers) where you would want to install the package in non-editable mode. So having an on/off switch might still help in these cases |
717f5c7 to
35595fe
Compare
|
Alright. message added @tdejager . I kept it short :-). |
tdejager
left a comment
There was a problem hiding this comment.
Sorry. meant to select Request changes.
3240863 to
4872965
Compare
4872965 to
22ffc49
Compare
|
I have added more details in the doc about the |
tdejager
left a comment
There was a problem hiding this comment.
I think this looks great! WDYT @ruben-arts?
|
Pushed a fix where it was using a wrong path in the test. Let's see if that solves things. |
|
@tdejager ,added platforms. now the downstream tests pass, but not the cargo tests on windows! any idea where that error could come from? |
|
It was passing before: is this just a temporary failure? |
|
He I've only followed this feature from the side line. What is the conclusion? Do we auto add the project itself or do we initialize with the |
|
@ruben-arts we initialise with the |
|
@tdejager , happy with this PR? all tests are 🆗 |
Fixes #1083