| Tue 22 July 2014 Alexis Tabary is proud to introduce a new feature: changelogs for your requirements!

Knowing that a dependency is outdated is only the first step towards upgrading: you also want to check the changelog before moving forward, unless of course your CI is top notch. brings these changelogs right on your requirements page!

Changelog of Kenneth Reitz' requests.

You can check any public project monitored by to see what it looks like, for instance:

It is not quite perfect yet: some changelogs are not parsed correctly, or are missing because we do not know how to find them automatically. Expect incremental improvements as we refine the crawling/parsing.

For Package Maintainers

This is a short guide for package maintainers who wish to have the changelog of their library on in case it isn't there already.

We look for changelogs in two different places:

  1. PyPI Descriptions

    We look at the description of the package hosted on pypi. It is encoded in reStructuredText.

    An example that works very well for us is Kenneth Reitz' requests.

  2. Changelog Files on GitHub/Bitbucket

    We look for files named changes or changelog (case insensitive), with or without extension, at the root of the package directory if it is hosted on BitBucket or GitHub.

    Of course for us to find the file, you first need to make sure we actually know where your project is hosted! This can be done by setting the url in the metadata of the project (for instance as home_url), or by putting a link in the description of the project: we will find it providing the project name on GitHub/Bitbucket matches the name of the package on pypi.

    We then parse the file as reStructuredText or Markdown according to the file extension: so will be parsed as markdown while changes.rst will be parsed as reStructuredText. If there is no extension, we try to guess... with varying degrees of success.

    Example of projects that works well for us are:

    • lxml (it would be even better with .rst as an extension rather than .txt),
    • six (as you can see it works even without any extension at all).

I just updated my Changelog, how do I update it on

Drop us an email here:! We will do a re-run of the crawling and parsing of your package.

Made with love: Tomotcha