transparentdemocracy / voting-data

Voting behavior data extracted from plenary reports of the Belgian federal government.
5 stars 1 forks source link
belgium politics

Visualizing voting in the Belgian federal parliament (chamber)

We believe that in a democracy, it should be transparent and easily understandable what politicians, who represent the people, voted for.

This project currently visualizes the voting behavior of the politicians in the Belgian federal parliament (Chamber) in the past 5 years.

The data

We built watdoetdepolitiek.be to let you browse the data we extracted freely, according to your interests.

You can also check out the data yourself in data/output.

Convinced of this project's potential?

We are looking for software developers, designers, marketeers, translators,...

To get an idea of the ideas we have planned on a high-level, have a look at our board of planned ideas.

Of course, concrete implementation ideas, details and discussions related to this voting-data project, are tracked in this project's issues.

If you are interested to work on a certain feature, let us know via the above links. When done, and when needing to set up this project to run locally, check the contributing.md.

If you want to bring ideas too, welcome!

You can create Github issues if they are relevant to this repository. We also have a public discussion channel here on Github and a private discussion channel on Slack.

Local development

Execute these three steps to get started as a developer (details below):

This will install the python modules so you can import them in your own projects and install command-line tools (see setup.py, look for td-...).

Create virtual environment

Create a virtual environment and install the project in development mode. Note: if you're familiar with it you can also use conda or other environment management tools.

python -mvenv venv
. venv/bin/activate

Note that you should run . venv/bin/activate (or equivalent) whenever you want to work in a new shell.

Install requirements

pip install -r requirements.txt
pip install setuptools

Install the project in developer mode

pip install -e .

Set up OpenAI

Sign up for the OpenAI API at https://openai.com/index/openai-api.

Create a new secret ket at https://platform.openai.com/api-keys

Set the OPENAI_API_KEY environment variable to the secret key you just created.

export OPENAI_API_KEY=sk-...

Testing

Run ./test.sh to run unit tests.

Note: one of the tests is rather slow, you can skip it by setting the SKIP_SLOW environment variable: SKIP_SLOW=1 ./test.sh

Downloading and generating data

First, run ./download-reports.sh and ./download-actors.sh to download plenary html reports and json information about politicians

Next, run ./run-all.sh to generate all the data used the downstream projects (data is written to data/output/...)