RAPIDS 0.7 Release Drops PIP Packages — and sticks with Conda

Keith Kraus
May 21, 2019 · 3 min read
Image for post
Image for post

Like many projects, it has been a struggle for to integrate with the ecosystem without introducing all sorts of dependency problems for end users. In order to maintain the best user experience, we’ve come to the conclusion that we’ll no longer be able to support PyPI. And beginning with the RAPIDS v0.7 release, we will deprecate PIP installation packages. We did not make this decision lightly, and we strongly feel this is the best path forward for our end users and the Python ecosystem.

Currently, there isn’t a reliable way to integrate modern C++ or code into the PyPI and PIP ecosystem. The current PIP packaging ecosystem requires a build environment called “” which is based on CentOS 5 with GCC 4.8.2 which supports C++11 and older. In addition to CentOS 5 no longer being supported by CUDA, RAPIDS is a C++14 codebase which makes the manylinux build environment impossible for us to use to build compliant PIP packages. Other libraries making use of CUDA or modern C++ features, such as Tensorflow, do not use the manylinux build environment. However, they labeling their packages as manylinux compliant. This causes very erratic behavior and errors for end users. For example:

The Python community is eager to find a solution to these current limitations and issues. The RAPIDS team is also actively working with the community towards finding a viable and sustainable solution. There are numerous discussions on Twitter, Github, and the official on this topic with developers voicing their support to help address the problem. For example, check out this thread with Core Python, Apache Arrow, and PyTorch maintainers:

Additionally, here’s another active discussion on GitHub related to PyPI rejecting non-compliant packages from being uploaded:

We will continue to re-evaluate PIP packages and look forward to finding a new specification defined and accepted by the Python community that we can conform to. In the meantime, we strongly encourage other developers to stop publishing non-compliant packages to PyPI and to join the ongoing discussions in driving towards a solution.

If you are looking to use RAPIDS today, we strongly encourage you to check out using as it has been designed from the ground up as a package manager able to handle a combination of Python and modern C++ libraries. We’d love to get your on this topic or others. We encourage you to download our and and today!


RAPIDS Everywhere

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store