Posted in 2020

Advertising update and open sourcing our ad server

It’s been a while since our last advertising update and it felt like a good time to talk about what’s working with our advertising model and how things are getting better.

In our 2019 stats post, we broke out our advertising revenue which was fairly flat year over year. The way our ad business is structured, our revenue mostly grows with increases in traffic and Read the Docs is mature enough that it isn’t doubling in size every year.

Read more ...


Shipping a CDN on Read the Docs Community

You might have noticed that our Read the Docs Community site has gotten faster in the past few weeks. How much faster likely depends on how far away you live from Virginia, which is where our servers have traditionally lived.

We have recently enabled a CDN on all Read the Docs Community sites, generously sponsored by CloudFlare. This post will talk a bit more about how we implemented this, and why we’re excited about it.

Read more ...


Read the Docs 2019 Stats

2019 was another good year for Read the Docs. We continue to have a team of 5 folks working on the project, and we’ve rolled out a number of new features for the year.

Here are our stats for the past year, which we’ve published since 2013. This is part of our effort to be transparent in our organization, as well as our source code.

Read more ...


Automation Rules

A time ago we introduced a new feature to help users to automate some tasks on Read the Docs. Automation rules.

If you manage a project with several versions, you may have noticed that Read the Docs doesn’t always activate your new versions [1]. If you require to do any action over a new version, you’ll need to log in your Read the Docs account and manually do so.

Read more ...


Better support for scientific project documentation

In the past year, we’ve been having issues when building projects’ documentation using conda. Our build servers were running out of memory and failing projects’ builds. Read the Docs has this memory constraint to avoid misuse of the platform, causing a poor experience for other users.

Our first solution was a dedicated server for these kind of projects. We would manually assign them to this server on user requests. This workaround worked okay, but it involves a bad experience for the user and also us doing a manual step each time. Over time, we hit again the same issue of OOM, even giving all the memory available to one project to build its documentation. After some research, we found that this is a known issue in the conda community and there are some different attempts to fix it (like mamba). Unfortunately, none of them became the standard yet and the problem is still there.

Read more ...