A Python module for downloading and analyzing multi-year trends from the American Community Survey — contributed to the censusdis package in March 2025.

When I began using the ACS to analyze demographic changes over time, I ran into two problems that anyone working with this data will eventually encounter:

  1. The Census API only lets you download data for one year at a time.
  2. Variables sometimes change meaning across years — silently, with no warning.

I built a module called multiyear to solve both problems. It started as personal tooling for my own projects, but the problems it solved turned out to be common enough that I contributed it to censusdis, a popular Python package for working with the Census API that is downloaded around 5,000 times a month from PyPI.

You can learn more about the module and its origins here:

Ari Lamstein

Ari Lamstein

I build open source tools for exploring public data — and teach others to do the same. I teach data app development for O’Reilly and have written tutorials for RealPython.