Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status Test Coverage

SynthPop is a reimplementation of PopGen using the modern scientific Python stack, with a focus on performance and code reusability.

The SynthPop code is a completely new implementation of the algorithms described in this reference, and the paper as well as this repository should be cited if you use SynthPop:

Ye, Xin, Karthik Konduri, Ram Pendyala, Bhargava Sana and Paul Waddell. A Methodology to Match Distributions of Both Households and Person Attributes in the Generation of Synthetic Populations. Transportation Research Board 88th Annual Meeting Compendium of Papers DVD. January 11-15, 2009

The paper is available here:

# Installation

` virtualenv venv --python=python3.7 source venv/bin/activate pip install -r requierements.txt cd synthpop/ python develop ` To run Synthpop you need a Census API that you can get one from [here]( After you get and validate the API key you can add it as an enviromental variable to your environment as by adding to /venv/bin/activate the following line: export CENSUS='yourApiKey'