Recipe for bringing local wheels into Pixi #968
Replies: 7 comments 5 replies
-
He @liquidcarbon, TL;DR: It's coming soon, tested it on Tuesday and the basis works. PR will be open soon! De-serialization of the pixi/src/project/manifest/python.rs Lines 137 to 154 in c26c897 That said, I'm not sure how flexible this project is but I would advice to try to build a conda package from that package using our |
Beta Was this translation helpful? Give feedback.
-
Oof can you pls explain how it helps use a preexisting wheel? |
Beta Was this translation helpful? Give feedback.
-
Surely people have been co-developing interdependent packages before. There's got to be more than one right answer, and I wonder what they did, and how Pixi can help. Private conda channel may be a great option that I can't fully appreciate, because I don't have experience there. May I be difficult for a moment and say "I don't want to?" What other options exist? |
Beta Was this translation helpful? Give feedback.
-
Maybe I'm not fully understanding your requirements, but could you just run:
either in a task (see https://github.com/prefix-dev/pixi/blob/main/examples/docker/pixi.toml#L27 or https://github.com/prefix-dev/pixi/blob/main/examples/docker/pixi.toml#L31) or in an activated I use some variant of this all of the time either in pixi or using mamba in a conda env. The only assumption is that the wheel files (or sdist) are being built my some other outside process. I guess finding whl files outside of the pixi project violates some ideas about reproducibility and isolation, but it's not an actual issue for development. I tend to build the whl and then copy it into the project directory that way if it's missing, it's clear that it should have been local, rather than depending on identical directory structures outside of the project. |
Beta Was this translation helpful? Give feedback.
-
I'm imagining a future...
suppose the requirements file asks for packages Union these three set of requirements and you get
Wouldn't it be convenient? and not too difficult to implement? Conda supports something similar, though it's not well-documented. https://stackoverflow.com/questions/57835528/how-to-install-local-library-with-pip-to-a-conda-environment-using-environtment |
Beta Was this translation helpful? Give feedback.
-
After
The
starting from scratch (only
Feels like I'm cheating again, like with |
Beta Was this translation helpful? Give feedback.
-
So with the source dependencies PR we are developing (which will need some refinement when it lands) you can at least point to a wheel file directly in the pypi-requirements section 😀 either through a url or a file path. See: #985 |
Beta Was this translation helpful? Give feedback.
-
There's a non-public package that is being developed internally on a shared server that uses poetry. It does not exist anywhere on the internet. It is updated at least once a week.
I am starting another package that will use the first package. There is a significant overlap in dependencies between the two: the first is a data processor and a FastAPI app, the second will be an orchestration package (Metaflow or Prefect) that will use the above processor.
How would you suggest to construct Pixi environment that makes it easy to stay current of the first package?
Can
uv
orrip
help?The only thing I'm thinking of now is to define and run as needed a Pixi task that would call something like
pip install --no-index --find-links /path/to/wheels/ package_name
, which seems likely to introduce dependency conflicts.There's probably more than one sensible option. Hoping to keep this discussion evergreen. To be honest, I don't know how to properly bring in local wheels into Poetry or Conda or any other tool, so please suggest non-Pixi options too, so that we can conclude in the end that Pixi is the best. :)
Beta Was this translation helpful? Give feedback.
All reactions