We’ve just dropped one of the biggest releases of mamba (the fast conda package manager)— along with some nice improvements in libsolv!
This is a quick update on some new and improved features in mamba 0.15.0. The full changelog can be found here.
2020 has been a busy year for the RoboStack project: we collaboratively published ros-noetic on four platforms (Windows, macOS, Linux x64 and ARM64) and revamped how ROS packages can be released on conda! We now maintain a stack of fully-integrated automatic builds that can be used to release packages for any ROS distribution. This allowed us to release experimental packages for ros-foxy without major changes in the build process.
As a robotics researcher (but also in many other fields) computations on geometric primitives are used very frequently— but it’s harder than anticipated to find the right abstractions in a nice Python library. The C++ ecosystem has a very mature library that implements the basic geometric types very nicely: the Computational Geometry Algorithms Library. scikit-geometry is a Python library that has nice wrappers around many of the CGAL types, thanks to the awesome pybind11.
The repository can be found on GitHub https://github.com/scikit-geometry/scikit-geometry and the docs are here: http://scikit-geometry.github.io/scikit-geometry/
Some of the basic types are:
Jupyter and Voilà are two popular packages in the data science ecosystem. But the Jupyter plugins jupyter-ros and jupyter-amphion make them more interesting than ever for robotics applications. This blog post shows how to use them and how to create your first cloud-deployed application using rapyuta.io, the robotics cloud.
Update 2021! We’ve been working hard on the RoboStack distribution and the conda-forge ROS packages are now deprecated. Please check out our new blog post for all the ROS Noetic packages: https://medium.com/robostack/cross-platform-conda-packages-for-ros-fa1974fd1de3
ROS is a fantastic and very large suite of software tools for Robotics. It’s used in many applications and with great success, ranging from the hobbyist market to industrial use cases. Most people these days use ROS on Ubuntu, which is a popular choice and works very well — as long as you don’t have a good reason to use another operating system. Then it’s often necessary to…
Mamba is a drop-in replacement for conda, the awesome cross-platform package manager. In our opinion, conda has one tiny problem: it’s too slow when many packages are installed, or when installing multiple packages at the same time. Mamba still uses conda for almost everything, except for the dependency resolution part. We swapped out the conda solver for a different implementation called
libsolv, a C library that already powers package managers on Linux systems such as Fedora’s dnf or OpenSuse’s zypper.
The command line interface, the environment handling, the package file format, installation process, the repodata format and everything else is…
Concourse is a continuous integration software, and we use it for two purposes: multi-project continuous integration, and continuous benchmarking. It’s easy to setup on a low cost server, using docker-compose. One can, for example, run it on the cheapest OVH server, that costs around 3 Euro a month — but you can run it on any cheap server that you have root access to.
Each job in Concourse runs in it’s own docker environment, on the same server (since we have gone the easy way and run the Concourse “worker” on the same server and start it with the same…
Historically, the ROS (Robot Operating System) community has relied on Qt for building complex user interfaces. Nowadays, the Jupyter notebook and the ipywidgets framework offer a compelling alternative for several reasons:
You might have seen the announcement on Twitter: at QuantStack we’ve been working on making a prototype of a conda-compatible package manager called mamba. Conda is a great tool to distribute data science packages. The community-led conda-forge comprises tons of awesome packages. The Anaconda company supplies us with recent and well integrated compilers. And conda-build is simply amazing to build binaries across different platforms (Windows, Linux and OS X). At QuantStack we use conda all the time to package Python, C++, Julia and R packages, and ship them to clients around the world.
However, due to the growth of conda-forge…