{"id":25735947,"url":"https://github.com/small-hack/kaartmaker","last_synced_at":"2025-02-26T05:34:19.534Z","repository":{"id":222162421,"uuid":"750481267","full_name":"small-hack/kaartmaker","owner":"small-hack","description":"Make maps of world voting patterns, such as UN General Assembly votes.","archived":false,"fork":false,"pushed_at":"2024-12-13T08:01:05.000Z","size":29152,"stargazers_count":2,"open_issues_count":10,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-13T09:18:07.715Z","etag":null,"topics":["geojson","geopandas","mapmaking","maps","python","united-nations"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/small-hack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-30T18:15:47.000Z","updated_at":"2024-10-20T18:14:27.000Z","dependencies_parsed_at":"2024-07-10T01:01:24.354Z","dependency_job_id":"e2e17ac4-a3fc-4367-871b-77c7dcdce231","html_url":"https://github.com/small-hack/kaartmaker","commit_stats":null,"previous_names":["small-hack/kaartmaker"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/small-hack%2Fkaartmaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/small-hack%2Fkaartmaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/small-hack%2Fkaartmaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/small-hack%2Fkaartmaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/small-hack","download_url":"https://codeload.github.com/small-hack/kaartmaker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240800730,"owners_count":19859725,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geojson","geopandas","mapmaking","maps","python","united-nations"],"created_at":"2025-02-26T05:34:16.965Z","updated_at":"2025-02-26T05:34:19.458Z","avatar_url":"https://github.com/small-hack.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kaartmaker\n\u003ca href=\"https://github.com/small-hack/kaartmaker/releases\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/release/small-hack/kaartmaker?style=plastic\u0026labelColor=484848\u0026color=3CA324\u0026logo=GitHub\u0026logoColor=white\"\u003e\n\u003c/a\u003e\n\nMake world and regional labeled maps based on voting. Most commonly used for representing UN General Assembly votes.\n\n```bash\nkaartmaker -C ./kaartmaker/datasets/UN_general_assembly/russia_ceasefire/world_ukraine_votes.csv -t \"UNGA vote on ceasefire in Ukraine\" -s \"gadebate.un.org\"\n```\n![Map of world Ukraine votes](./examples/world_UNGA_on_Ceasefire_in_Ukraine.png)\n\n```bash\nkaartmaker -C ./kaartmaker/datasets/UN_general_assembly/israel_ceasefire/world_palestine_votes.csv -t \"UNGA on Ceasefire in Gaza\" -s \"gadebate.un.org\" -r world\n```\n![Map of world Gaza votes](./examples/world_UNGA_on_Ceasefire_in_Gaza.png)\n\n```bash\nkaartmaker -C ./kaartmaker/datasets/UN_general_assembly/israel_ceasefire/world_palestine_votes.csv -t \"UNGA on Ceasefire in Gaza\" -s \"gadebate.un.org\" -r europe\n```\n![Map of Europe Gaza votes](./examples/europe_UNGA_on_Ceasefire_in_Gaza.png)\n\n```bash\nkaartmaker -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\n```\n\n![Map of Europe Ukraine votes](./examples/europe_UNGA_on_Ceasefire_in_Ukraine.png)\n\nIf you'd like to see more examples, please check them out [here](./examples/README.md).\n\n\n* [Features](#features)\n* [Installation](#installation)\n    * [Prereqs](#prereqs)\n    * [pipx (recommended for end users)](#install-with-pipx-recommended-for-end-users)\n    * [pip (not recommended))](#install-with-pip)\n    * [poetry (recommended for development)](#install-with-poetry-recommended-for-development)\n* [How To](#how-to)\n    * [Donwload your geojson data](#donwload-your-geojson-data)\n    * [Using a comma separated list (CSV) file](#using-a-comma-separated-list-csv-file)\n* [status](#status)\n\n\n## Features\n\n- Use your own csv datasets to generate maps for the world, or specific regions\n\n- Generate geojson files for specific regions with your vote data :)\n\n- Colors are colorblind friendly, selected from [here](https://davidmathlogic.com/colorblind) can also be reversed for vote types\n\n- 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\n\n\n## Installation\n\n#### Prereqs\n- Python 3.12 or higher\n- [pip], [pipx], or [poetry]\n\n### Install with pipx (recommended for end users)\n\nWe recommend using [pipx] to install kaartmaker into an isolated python environment.\n\n```bash\npipx install kaartmaker\n```\n\n### Install with pip\nThis will break your system packages on Debian.\n\n```bash\npip install kaartmaker --break-system-packages\n```\n\n### Install with poetry (recommended for development)\n\nClone the repo and cd into the root directory of the repo, then run:\n\n```bash\n# install kaartmaker\npoetry install\n\n# open a virtual env and then you can run kaartmaker\npoetry shell\n```\n\n## How To\n\n```bash\nkaartmaker --help\n```\n![SVG showing the full help text when you run kaartmaker --help](./examples/help_text.svg)\n\n\n### Donwload your geojson data\n\nMaps (sovereignty, units, subunits, and disputed areas) can be downloaded from:\nhttps://www.naturalearthdata.com/downloads/10m-cultural-vectors/10m-admin-0-details/\n\nYou can also download geojson files with the [download_geojson.sh](./download_geojson.sh) or [download_geojson.py](./download_geojson.py) scripts in this repo.\n\n\n### Using a comma separated list (CSV) file\n\nTo 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 :\n\n```csv\nNAME_EN,VOTE\nBrazil,IN FAVOR\nCzechia,AGAINST\nGermany,ABSTENTION\n```\n\n\n# status\nMostly stable, but happy to take a look at Issues and Pull Requests :)\n\nPlease star the repo if you find it interesting!\n\n\n\u003c!--- ref links --\u003e\n[pipx]: https://github.com/pypa/pipx \"pipx is a python installer that uses virtual environments\"\n[pip]: https://pip.pypa.io/en/stable/installation/ \"default installer for python\"\n[poetry]: https://python-poetry.org/docs/#installation \"development tool for python installations in virtual envs\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmall-hack%2Fkaartmaker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmall-hack%2Fkaartmaker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmall-hack%2Fkaartmaker/lists"}