We’re heavily developing a tool called pixi that will change the way you can make virtual environments using the conda ecosystem.
No more apt, pip, brew, nuget, just one tool that is shared over all platforms (Windows, MacOS and Linux).
Do you want multiple versions of ROS on your computer without them breaking each other installation? And not just ROS1 and ROS2 but even different versions of the same ROS. Then you should definitely give it a try.
Don’t go through the pain of developing in a Docker container.
This looks quite nice. However, RoboStack has a quite limited subset of the released ROS packages. Does pixi somehow improve on this?
Also, does it run on conda-forge? I was always a bit concerned of putting all the development effort on servers run by a private commercial company (Anaconda). What if they decide they’ll stop funding conda-forge servers?
Robostack should be growing in the close future. We have interest from large companies like the MoveIt maintainers. We would really like to see more contributes to add more packages. Often its as easy as adding it to the vinca yaml. This is something we’re very eager to help with. As it is community run, it simply needs more users and contributes to become even greater.
Pixi itself will not extend this list but the user experience will hopefully start to pull in more users into the conda, thus RoboStack, eco-system.
By default pixi runs from the conda-forge channel but is able to use any channel, private or public. Next to that the data of conda-forge is also stored on GitHub and the bots are completely open source. So if Anaconda would fail to continue supporting conda-forge it would be relatively easy to let another company take over the work. We (prefix.dev) are for that fact also running our own mirror as it is not that hard to backup.
Our company’s mission is to improve the package management with the use of the conda ecosystem. We got public funding to do these improvements.
Right now we’re mainly looking for users that want to use pixi and give constructive feedback on how to improve it. But the experience we had at our previous company really makes us believe this is the direction that is going to help the ROS community immensely.
Thanks for the clarification. So there’s no plan to “mirror” whatever gets into rosdistro? I know not all dependencies are packaged, but what about “building the subset of rosdistro that has all dependencies packaged”?
Yeah we’ve consistently had conversations at the past ROSCONs with OSRF. Packaging is a hard topic and it takes a lot of time and effort. I think with the RoboStack project we’re demonstrating that there is an interesting opportunity! We’ve definitely seen growing interest.
At prefix we’re also committed to improve the tooling around creating these packages: rattler-build is a new tool that is written from the ground up in Rust that builds conda-packages in high-speed. This should help ease the maintenance of RoboStack in the future … we will get there!