Add pixi support - #132
Conversation
stephane-caron
left a comment
There was a problem hiding this comment.
Thank you for putting this together. Pixi as a development tool is a welcome addition.
I see a few things to address at present:
- I don't see the rationale for not keeping the dynamic version (which avoids duplicating version numbers in several files).
- Let's scope the PR to pixi as a dev tool only and drop the packaging side (
tool.pixi.package.*and pixi-build), since the project publishes to PyPI, with a conda-forge feedstock taking care of bringing releases to conda on its own. - Since this switches the development workflow to pixi, it should go all the way and replace tox, i.e. removing
tox.iniandenvironment.yaml, and updating the GitHub Actions workflows to run the pixi tasks accordingly.
| {name = "Stéphane Caron", email = "stephane.caron@normalesup.org"}, | ||
| ] | ||
| dynamic = ['version', 'description'] | ||
| dynamic = ['description'] |
There was a problem hiding this comment.
Could you explain why switching to a static version in this context? Avoiding the double-bookkeeping in general is better, and dynamic version works with pixi in other projects.
There was a problem hiding this comment.
pixi does not seem to support it:
╰─▶ × There was no version defined for the recipe
| qpax = "*" | ||
|
|
||
| # Pixi Package | ||
| [tool.pixi.package.build.backend] |
There was a problem hiding this comment.
| [tool.pixi.package.build.backend] |
Let's scope this PR to pixi as a development tool, and drop the packaging side for now. The project publishes to PyPI via flit, and the qpbenchmark feedstock takes care of bringing PyPI releases to conda-forge already.
There was a problem hiding this comment.
This feature is very useful when developping.
Other consumers (like maros-meszaros) can pull qpbenchmark dep via:
[dependencies]
qpbenchmark = { path="../somewhere/qpbenchmark-fork" }Or even:
[dependencies]
qpbenchmark = { url="https://github.com/somewhere/qpbenchmark.git" }Super useful to work on multiple repos that depend on each other.
Without it, the dev workflow is not clear to me.
Hi,
This PR adds
pixisupport. It aims to replacetoxcompletely.Few remarks:
pixi-buildto integrate the tests viaqpbenchmark = { path = "." }. Which builds a conda package, and allows toimport qpbenchmark. You can build the conda package withpixi build(<0.68) or nowpixi publish(>= 0.68).pixi-buildintegration needs to be duplicated ( by design). Right now it's a dumb copy paste, I don't thinkk for examplematplotlibis needed as apackage.run-dependencies.win-64support is broken now (error: jaxlib >=0.1.69, for which no candidates were found.)