VERSION 1.1 INCLUDES BREAKING CHANGES THAT COULD LEAD TO DATA LOSS! The previous working version is tagged working
If you would like to update to the current version, which supports multiple cycles, and you have data in your donors table, please update to v1.0, run the sql updates described here, and then go up to v1.1. Also strongly recommended to backup your whole database before doing any of this.
App is still kind of in the scratchpad phase, absolutely no promises that it works or I won't make breaking changes.
This app allows for importing and searching expenditures, independent expenditures and contributions from electronic FEC filings. It relies on the NYT's fec2json library.
The FEC website has been substantially improved recently, but it still lacks several main features we desire.
- It takes several days for itemizations to be processed, so it is impossible to search transactions right away
- There are some search fields that are important to me that do not exist in the FEC
- We want to be able to do more with independent expenditure summing and categorizing
- We want to be able to add additional data, such as our own donor ids
If you don't really need to deploy and maintain your own standalone campaign finance infrastructure, however, I recommend using tools developped by the FEC including their site, their api or their bulk data. Or use ProPublica's site or api.
- pull this repo
mkvirtualenv fec --python $(which python3)
- get a FEC API key here
- email [email protected] and ask them to upgrade you to 120 api calls per minute
- add the following to your
$VIRTUAL_ENV/bin/postactivate
:export DJANGO_SETTINGS_MODULE=config.dev.settings export fec_DB_NAME=nyt_dev_fec export fec_DB_USER=nyt_dev_fec export FEC_API_KEY=your-api-key
pip install -r requirements.txt
createuser -s nyt_dev_fec
createdb -U nyt_dev_fec nyt_dev_fec
add2virtualenv . && add2virtualenv config && add2virtualenv fec
django-admin migrate