A web API to geographic boundaries loaded from shapefiles, packaged as a Django app
Python HTML JavaScript
Pull request Compare This branch is 407 commits ahead, 33 commits behind newsapps:master.
Latest commit 51c86f2 Feb 24, 2017 @jpmckinney jpmckinney Update changelog


Represent Boundaries

PyPI version Build Status Dependency Status Coverage Status

Represent Boundaries is a web API to geographic areas, like electoral districts. It allows you to easily find the areas that cover your users' locations to display location-based information, like profiles of electoral candidates.

It's a Django app that's easy to integrate into an existing project or to deploy on its own. It uses a simple file format to control how data is loaded into the API, and it provides a command-line tool to easily manage data.

Notable uses include:

  • Represent helps people find the elected officials and electoral districts for any Canadian address or postal code, at any level of government.
  • OpenStates.org allows anyone to discover more about lawmaking in their state and uses Represent Boundaries to help them find their state legislators.
  • GovTrack.us helps track the activities of the United States Congress and uses Represent Boundaries to help people find their members of Congress.
  • ANCFinder.org helps Washington, DC residents discover and participate in their Advisory Neighborhood Commissions.

Public instances include:

Represent Boundaries is one of many Poplus Components: independent pieces of software developed to solve a range of common problems encountered when building civic and democratic websites. Check out the other components.



createdb travis_ci_test
psql travis_ci_test -c 'CREATE EXTENSION postgis;'
django-admin.py migrate --settings settings --noinput
python runtests.py


Represent Boundaries is based on the Chicago Tribune's django-boundaryservice.

Released under the MIT license