Wednesday, March 10, 2021

PyPy's blog has moved

For many years, PyPy has been publishing blog posts here at From now on, the posts will be at The RSS feed has moved to The original content has been migrated to the newer site, including comments.

Among the motivations for the move were:

One site to rule them all

Adding the blog posts on seems like a natural extension of the web site rather than outsourcing it to a third-party. Since the site is generated using the static site generator nikola from the github repo, we now have good source control for the content.

CI previews, and github

Those of you who follow PyPy may note something new in the URL for the repo: until now PyPy has been using mercurial as hosted on While heptapod (a community driven effort to bring mercurial support to GitLab™) does provide a GitLab CI runner for the open source offering, it is easier to use netlify for previews on github. Hopefully the move to the more popular github platform will encourage new contributors to publish their success stories around using PyPy and the RPython toolchain.


Comments to blog posts are generated via the utterances javascript plugin. The comments appear as issues in the repo. When viewing the site, a query is made to fetch the comments to the issue with that name. To comment, users must authorize the utterances app to post on their behalf using the GitHub OAuth flow. Alternatively, users can comment on the GitHub issue directly. The interaction with github for authentication and moderation seems more natural than the manual moderation required on blogspot.

Please prove to us that the move is worth it

Help us with guest blog posts, and PRs to improve the styling of the site. One already open issue is that the navbar needlessly uses javascript, help to keep the responsive style in pure CSS is welcome.

The PyPy Team