Skip to main content

A Django-based model of the OpenGovernment context, compliant with the Popolo data specifications.

Project description

Welcome to the documentation for django-popolo!

django-popolo is a django-based implementation of the Popolo’s open government data specifications.

It is developed as a django application to be deployed directly within django projects.

It will allow web developers using it to manage and store data according to Popolo’s specifications.

The standard sql-oriented django ORM will be used.

From release 1.2.0, django-popolo includes classes that extend the model, although compatibility with the standard is kept.

Release 2.0.0 introduces a change in how Sources and Links are referred to, that breaks compatibility with the popit importer.

See the file for more details.


To install django-popolo as a third party app within a django project, you need to add it to the django project’s requirements.txt. You can do this from GitHub in the usual way, or using the django-popolo package on PyPI.


Running the Tests

Set up the test environment with:

pip install -r tests_requirements.txt
python install

You can run the tests with:

python test



Notes on mysociety’s fork

mysociety/django-popolo is a fork of this project where integer IDs are used instead of slugs.

Our packages, since version 1.1 also uses numerical ids as primary keys for all entities. Slugs are available as non-primary fields, for the 4 main classes (Person, Organization, Post, Membership). Slugs are used through the Permalinkable behavior, that adds the slug field to the class, populating it according to rules defined in each class.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-popolo, version 2.0.0
Filename, size File type Python version Upload date Hashes
Filename, size django_popolo-2.0.0-py2.py3-none-any.whl (60.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size django-popolo-2.0.0.tar.gz (39.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page