Diffify – the anniversary update!

This article was first published on The Jumping Rivers Blog , and kindly contributed to python-bloggers. (You can report issue about the content on this page here)
Want to share your content on python-bloggers? click here.

Diffify - the anniversary update!

We’ve just passed an important milestone for diffify:
our app for tracking Python and R package releases has just turned 1 year old!
To mark this exciting occasion we are delighted to announce an “anniversary
update” featuring numerous quality of life improvements. This post will outline
the latest changes and tease at some exciting developments in the works…

First, though, we would like to take this opportunity to thank everyone that
continues to use the app and welcome any new users to the service.
Your continued feedback via social media and
GitHub has played a major
role in shaping the last year of development.

Data comes in all shapes and sizes. It can often be difficult to know where to start. Whatever your problem, Jumping Rivers can help.

Anniversary update

Let’s start by going through the changes introduced by today’s anniversary

Latest package releases

When you navigate to the R and
Python homepages, you will notice a new
window titled “Latest Releases and Updates”:

A screenshot of the R packages homepage: As before, there is a dropdown to the left for selecting an R package. There is also a new window to the right titled “Latest Releases and Updates”, which shows a list of new and updated packages that have been published in the past day or so.

This lists any new or updated packages that have been published in the past day
or so. See a package that you’re using? Just click on it and you will be
redirected to the diffify summary with the latest changes.

Package dependencies

In response to user feedback, we have added cross-links for package
dependencies. Let’s check out the changes
between versions 3.6.3 and 3.7.1 of the matplotlib package:

A screenshot of the package dependencies window: This is showing changes to the required dependencies between versions 3.6.3 and 3.7.1 of the matplotlib package. A new link icon is visible next to the name of each package. Clicking this would redirect users to the diffify summaries for those packages.

We see that the version requirement has changed for the numpy and
pyparsing packages. You may now be wondering what’s changed in the latest
versions of those packages? Just click the link icons and that will open a new
tab with the two latest versions diffed.

Quick disclaimer that not all package dependencies will have cross-links. We can
only provide cross-links for packages that are actually tracked by diffify,
which includes:

  • All R packages published on CRAN (this does
    not include base-R packages)
  • Any Python package that is in the top 5000 PyPI packages
    list and has an accessible wheel file on PyPI

News layout

We have made some changes to the way we display news for R packages. Let’s check
out the changes between versions
1.0.7 and 1.0.10 of {dplyr}. As before, the news can be accessed for all
versions since (but not including) the earlier version:

A screenshot of the updated news window: Tabs are displayed for versions 1.0.8, 1.0.9 and 1.0.10 for the {dplyr} package. The 1.0.8 and 1.0.10 tabs have been expanded so that the news for these versions is displayed.

However, you’ll notice we now have an accordion layout with the version tabs
listed vertically. You are now free to have as many of these versions open as
you like, and scrolling through these will feel just like scrolling through a
NEWS.md file.

Dark theme

Last but not least … we now have a dark theme! Just click the theme dropdown
at the top of the page, select “Theme: Dark” and enjoy this lower-light setting:

A screenshot of the diffify webpage with the new dark theme applied: The webpage displays some changes between versions 1.1.0 and 1.1.2 of the {dplyr} package. With the dark theme applied, the background is now darkened and the colour of the text has been changed to white to maintain a high contrast.

On the topic of themes, we have also improved the default theme by incorporating
beneficial features from the old boosted contrast theme.

Other recent changes

In case you missed them, here are some other improvements that have been made
over the past six months or so.

Maintainer section

Just below the version dropdowns you will notice a new maintainer section:

A screenshot of the expanded maintainer section located below the version dropdowns: This contains links to raise an issue and get a badge.

If you maintain a package that is featured on diffify, you can generate a
diffify badge to copy into your GitHub repository. Simply click “Get a badge”,
then paste the copied HTML code directly into an HTML or Markdown file (perhaps
your package README).

As an example, here’s the badge generated for the {dplyr} package:

The diffify page for the R package {dplyr}

Clicking this icon will redirect users to the {dplyr} page on diffify.

Python content

We have expanded the list of Python packages that are tracked by diffify to
cover the top 5000 packages on PyPI
according to download counts. We are still only tracking packages that have a
wheel file on PyPI, but will look to expand this to zips and tars within the
next month.


We are continuing to optimise the usability and performance of the app. Recent
improvements include:

  • text wrapping on narrow screens
  • smoother transitions using the backward and forward navigation buttons
  • improvements to keyboard navigation.

Exciting times ahead…

In the coming months we will be releasing two public APIs to accompany diffify.
We will release dedicated blogs to coincide with those releases, but here’s a
quick overview to whet your appetite:

  • Next month we will release an API which will allow R package authors to submit
    development versions to diffify. Package authors and users will then be able
    to use diffify to view changes between published versions and the latest
    development version.
  • The second API, which will take a little longer to develop, will act as a
    command-line interface for submitting queries to diffify. This will allow you
    to check whether installing the latest version of a package could break your

We can’t wait to share more when these release!

Wrapping up

That’s all from us for today. Thanks again for your continued feedback on the
app, and please stay tuned for more updates…

For further reading, you can check out our previous blog posts

For updates and revisions to this article, see the original post

To leave a comment for the author, please follow the link and comment on their blog: The Jumping Rivers Blog .

Want to share your content on python-bloggers? click here.