Web app that shows data about Knesset committees generated from knesset-data-pipelines
The source for most of the data are the official Knesset APIs
Behind the scenes it uses a static build pipeline which generates html files and related assets that are then served statically.
We use upv framework for a consistent docker-based build environment
Prerequisites: Docker, Bash, System Python 2.7 (The app pipelines use Python 3.6)
Pull the docker images (It will also try to install, but that may not always work)
./upv.sh --debug --pull
All upv framework commands should run from the root of the project.
Download and prepare the data
./upv.sh . dpp "run ./download" && ./upv.sh . dpp "run ./join-meetings"
Data generated by the pipelines is available under data directory.
Build the html pages and related assets into dist directpry
./upv.sh upv/static-files build
Serve the dist files on port 8000
./upv.sh upv/static-files serve
You can run the build only on a subset of items with local caching to speed-up re-running builds:
./upv.sh . provision_overrides
You can modify settings in the .env file
After you set the overrides you can run everything including a file watcher which rebuilds on changes
./upv.sh upv/static-files start
It will take a few seconds between making a change and the html file update.
Sometimes it can be useful to edit the dist/ html file directly - this will not trigger a rebuild and will allow to quickly see changes.
You can run the code from your local host (as opposed to from inside a docker container)
Try to install the local dependencies, if it fails, have a look at upv_sh_local_install and run manually for your environment
./upv.sh --local --install
Now you can run all upv.sh commands, just add --local
./upv.sh --local . dpp "run ./download"
Start a local pipenv bash terminal preconfigured with all configuration:
./upv.sh --local .
You can prepend --debug to any upv command to get more details
./upv.sh --debug .
Can be used locally as well
./upv.sh --local --debug .