Skip to content


Switch branches/tags

Latest commit


Git stats


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


People's Archive of Rural India

Build Status

This repository contains the source code of the main website deployed for public consumption at

Developer Guide



Clone both pari and pari-ansible repositories (ideally in the same parent directory).

$ git clone
$ git clone
$ cd pari
$ vagrant up   # You'll be prompted for SUDO password of your host machine for the first time.

Ansible 2.2.1

Make sure that you have installed Ansible 2.2.1. You can install Ansible 2.2.1 with the following command

$ pip install ansible==2.2.1

If, however, you have already installed some other version of Ansible you will need to uninstall it

$ sudo -H pip uninstall ansible
$ #OR
$ brew uninstall ansible # Only if you used homebrew to install ansible
$ pip install ansible==2.2.1
$ git checkout master
$ git pull 
$ rm -rf pari_env (if present)
$ vagrant destroy ( Delete the old version of the box )
$ rm -rf .vagrant (Delete old vagrant cache)
$ vagrant up

Development-specific commands

The above set-up will get the vagrant box up. That is, it will start the virtual machine that pretends to be a remote server at "". The django development server also will be started and available at the same URL. You should see a working PARI installation at

To work with your django environment, you will need to login via ssh into this pretend-remote virtual machine and follow the following steps for this.

$ vagrant ssh                                     # Login to vagrant box
$ cd /vagrant && source ~/pari_env/bin/activate   # Change to project directory and activate project virtualenv
$ python runserver                      # Local instance available at

Admin console can be accessed at (username: admin, password: admin)

$ python shell                        # Access django shell
$ python dbshell                      # Access postgres DB. Password: pari
$ python test --keepdb                # Run all the tests
$ deactivate                                    # Exit from project virtualenv

Tech stack:

Python, Django, Wagtail, PostgreSQL, Nginx, Gunicorn, Supervisor, Elasticsearch, Bootstrap, jQuery

How to Contribute?

Sign up for stories

Choose any card in Ready for Dev lane from Github Projects and assign it to yourself. Move it to In Dev lane. Add Dev tasks to that story briefly so that others who want to understand the work being done can get a overview.

Use the Collaboration Channels to get any questions clarified.

In case of UI stories, follow UX Mockups instructions below.

Completion of stories

Once done, check if all the In Scope items are covered and make a commit with the issue number. Also move the issue to Ready For QA column.

##UX Mockups Download PARI mockup from following google drive link. Drive contains visual designs in three formats Images, PDF and Sketch files. Use Sketch application(Only for mac) to open .sketch files.

Collaboration channels

To keep in tech with technical team and the pari team,you can use the google group. If you thought of contributing to PARI this is one of the media that you can use. In the case of doubts and queries you can use the group. And you can participate in the IPM's and showcase for the PARI project.

Roadmap of features


  • Increase discoverability of Pari's content
  • Increase interactions on social media
  • Increase donations on the site
  • Increasing content contributed by existing volunteers
  • Sign up of new volunteers who contribute content


Realease 1 features
CI/CD setup
Make Development OSS Friendly
CMS - Data structure
Information architecture of website
Website UI revamp
Setting the default style
Optimising SEO for regional language translations for articles
SEO for pari website
Realease 2 features
Talking albums
Albums (pics, talking pics)
Realease 3 features
Language selection
Improve elastic search
Improve search for specifc data on website
Social Sharing
PARI Analytics
Editing articles for publishing
Realease 4 features
Editing articles for publishing
CMS - Bulk upload
CMS - Data language
CMS - Editing
Showcase grindmill content
Manage Grindmill Content


Licensed under the 3-clause BSD License. Please refer to LICENSE.txt for details.