[DEV]: add tools/pixi.toml and doc how to have a development environment for pixi#31384
[DEV]: add tools/pixi.toml and doc how to have a development environment for pixi#31384jklymak wants to merge 11 commits intomatplotlib:mainfrom
Conversation
|
.. I'm surprised the tests are running given I labelled this [ci doc] |
| depends-on = ["clean-build", "dev-install"] | ||
| description = "Clean and rebuild editable install" | ||
|
|
||
| [tasks.install-test] |
There was a problem hiding this comment.
We should make features for tests + docs.
There was a problem hiding this comment.
Yes we could do it that way, but I'm not sure of the pros and cons. It did not seem there was a way to make conditional install dependencies so I wasn't sure the advantage of having separate feature envs for a developer versus just having one env.
tools/pixi.toml
Outdated
| description = "No-op on non-mac platforms" | ||
|
|
||
| [target.osx-arm64.tasks.prepare-freetype] | ||
| cmd = "cp subprojects/packagefiles/freetype-2.6.1-meson/src/gzip/zconf.h subprojects/freetype-2.6.1/src/gzip" |
There was a problem hiding this comment.
I also don't understand this, is something going wrong with unpacking the subproject? This seems like something we should be fixing in the meson files rather than here?
There was a problem hiding this comment.
I don't think it's a general problem, but it's definitely a problem on macOS with the version of zconf
There was a problem hiding this comment.
OK< I think this was not necessary, as it now works fine without it.
|
It is my understanding that if you have metadata about the build you are (or will soon be able) to point to a repo as a conda dependency and pixi-build will build the conda-package on the fly (the same way it does with pypi-deps). Given that we are going to want That said, I agree we do not want to check in the |
|
I mean add a section like |
|
Ah I see. No that didn't work as I don't think it's compatible with build isolation. |
|
OK< my comment above was incorrect. The new pixi.toml has removed the font copying things, and uses which indeed seems to be fine. Still not sure if we should run with features or just a separate install steps? |
This is a suggested pixi.toml for Matplotlib development work. Using this will allow the user to have an isolated environment in their development directory.
I've included it in tools and then suggest people move it to their top level of the project (manually), and then added the pixi stuff to the .gitignore. That way we won't have people committing their changes to it.
Instructions are only good for linux and macOS. Happy to have someone extend to win64. I think the only issue is the clean-build task that removes previous builds.
It includes a kludge to allow macOS to compile the old freetype.. Not needed so removed.An alternative would be to just provide the text of the pixi.toml in the docs.
It would be great if someone else tried this and made sure it works, in particular if someone had a linux machine.
New tab is https://output.circle-artifacts.com/output/job/791084e4-16cb-4460-a13d-051575669b82/artifacts/0/doc/build/html/devel/development_setup.html#create-a-dedicated-environment