Install custom operating system packages (apt)¶
We are thrilled to announce that now Read the Docs users
can declare custom operating system packages in their project configuration
that will get installed in our Ubuntu-based builders using
This has been a long awaited feature,
and we think it will simplify the configuration of many projects,
especially scientific ones.
The Ubuntu images used by our builders contain lots of preinstalled system packages that we ship to all the projects to make the most common use cases possible. This includes compilers, development headers of common libraries, and others.
However, on one hand this makes our images way bigger than necessary, and it is still not enough to solve 100 % of the use cases. Fortunately, Read the Docs has supported the conda package manager for a long time already, and this has allowed users with special needs to add any non-Python libraries they needed. Still, interoperability between conda and pip is not perfect, and for users that are not used to conda this could feel like a hack.
To overcome all these problems, we have added a new configuration value,
build.apt_packages, that receive a list of APT packages
that will be installed in our Ubuntu-based images.
contains a simple example:
version: 2 build: image: latest apt_packages: - libclang - cmake
(Notice that at the moment our images are based Ubuntu 18.04, this will change in the near future)
And you can draw inspiration from some community projects that are using this feature already:
UCX-Py, a Python interface for the low-level networking library UCX, installs extra dependencies to temporarily work around upstream issues.
We are happy that this feature is already being used minutes after being deployed and are looking forward to seeing more projects make use of it.
Considering using Read the Docs for your next Sphinx or MkDocs project? Check out our documentation to get started!