Geomancer is a project with a simple goal: to create a prototype tool that will help journalists easily mash up data based on shared geography. It’s such a common task for data-savvy journalists that it’s easy to underestimate the difficulty. But on deadline, it can become daunting. It requires locating the right data set to provide context, getting it into shape and into place to join it with the data in hand and then merging the two data sets — all before the reporter can even get started with the analysis.
We aim to take some of that complexity out of the way by providing an intuitive interface to discover available data sets for a given geography and supplement the data in hand with the relevant values. We’ll know it’s working when it appears too easy.
Read more: AP wins Knight grant to build data journalism tool
Install OS level dependencies:
- Python 2.7
- Redis
- libxml2
- libxml2-dev
- libxslt1-dev
- zlib1g-dev
Install app requirements
We recommend using virtualenv and virtualenvwrapper for working in a virtualized development environment. Read how to set up virtualenv.
Once you have virtualenvwrapper set up,
mkvirtualenv geomancer
git clone https://github.com/associatedpress/geomancer.git
cd geomancer
pip install -r requirements.txt
cp geomancer/app_config.py.example geomancer/app_config.py
NOTE: Mac users might need this lxml workaround.
Afterwards, whenever you want to work on geomancer,
workon geomancer
There are three components that should be running simultaneously for the app to work: Redis, the Flask app, and the worker process that appends to the spreadsheets. For debugging purposes, it is useful to run these three processes in separate terminal sessions.
redis-server # This command may differ depending on your OS
python runworker.py # starts the worker for processing files
python runserver.py # starts the web server
Open your browser and navigate to http://localhost:5000
If something is not behaving intuitively, it is a bug, and should be reported. Report it here: https://github.com/associatedpress/geomancer/issues
- Fork the project.
- Make your feature addition or bug fix.
- Commit, do not mess with version or history.
- Send a pull request. Bonus points for topic branches.
Copyright (c) 2014 Associated Press. Released under the MIT License.