Make world and regional labeled maps based on voting. Most commonly used for representing UN General Assembly votes.
kaartmaker -C ./kaartmaker/datasets/UN_general_assembly/russia_ceasefire/world_ukraine_votes.csv -t "UNGA vote on ceasefire in Ukraine" -s "gadebate.un.org"
kaartmaker -C ./kaartmaker/datasets/UN_general_assembly/israel_ceasefire/world_palestine_votes.csv -t "UNGA on Ceasefire in Gaza" -s "gadebate.un.org" -r world
kaartmaker -C ./kaartmaker/datasets/UN_general_assembly/israel_ceasefire/world_palestine_votes.csv -t "UNGA on Ceasefire in Gaza" -s "gadebate.un.org" -r europe
kaartmaker -C ./kaartmaker/datasets/UN_general_assembly/russia_ceasefire/world_ukraine_votes.csv -t "UNGA vote on ceasefire in Ukraine" -s "gadebate.un.org" -r europe
If you'd like to see more examples, please check them out here.
-
Use your own csv datasets to generate maps for the world, or specific regions
-
Generate geojson files for specific regions with your vote data :)
-
Colors are colorblind friendly, selected from here can also be reversed for vote types
-
Use sovereignty (default) or subunits to get more granularity on countries e.g. Scotland, North Ireland, Wales, and Isle of Man distinguished from the United Kingdom
We recommend using pipx to install kaartmaker into an isolated python environment.
pipx install kaartmaker
This will break your system packages on Debian.
pip install kaartmaker --break-system-packages
Clone the repo and cd into the root directory of the repo, then run:
# install kaartmaker
poetry install
# open a virtual env and then you can run kaartmaker
poetry shell
kaartmaker --help
Maps (sovereignty, units, subunits, and disputed areas) can be downloaded from: https://www.naturalearthdata.com/downloads/10m-cultural-vectors/10m-admin-0-details/
You can also download geojson files with the download_geojson.sh or download_geojson.py scripts in this repo.
To use kaartmaker
, you'll need to provide a CSV file with columns called NAME_EN
and VOTE
. Valid votes are YES
|NO
or AGAINST
|ABSTENTION
|IN FAVOR
Example when documenting :
NAME_EN,VOTE
Brazil,IN FAVOR
Czechia,AGAINST
Germany,ABSTENTION
Mostly stable, but happy to take a look at Issues and Pull Requests :)
Please star the repo if you find it interesting!