{"adoption": {"forks": 841, "observed_at": "2026-08-28T04:08:30.504904+00:00", "stars": 3955}, "canonical_url": "https://ross.abutalabs.com/products/mapnik", "card": {"archived": false, "artifact_type": "library", "description": "Mapnik is an open source toolkit for developing mapping applications", "domain": ["graphics", "web-development"], "enriched": true, "function": ["graphics", "image-processing", "sdk", "data-visualization"], "health_score": 100, "homepage": "http://mapnik.org", "language": "C++", "license": "LGPL-2.1", "license_family": "copyleft", "maturity": "active", "member_repos": ["mapnik/mapnik"], "name": "mapnik/mapnik", "platform": ["windows", "cpp", "python", "cross-platform"], "pushed_at": "2026-08-26T10:04:37+00:00", "repo": "mapnik/mapnik", "stars": 3955, "tags": ["gis", "cartography", "map-rendering", "spatial-data", "map-tiles", "bindings", "maps", "geospatial", "linux", "macos", "nodejs"], "topics": ["mapnik", "c-plus-plus", "mapping", "cartography", "gis", "wiki", "python", "rendering", "beautiful-maps"], "urls": [], "use_cases": ["render map tiles for web mapping applications", "generate static map images from geospatial data", "style maps with XML stylesheets", "render vector and raster data sources like PostGIS, GeoJSON, and shapefiles", "build server-side map rendering services", "create printable cartographic maps"], "what_it_is": "Mapnik is an open-source C++ toolkit for developing mapping applications, providing algorithms and patterns for spatial data access and high-quality cartographic rendering. It exposes bindings for C++, Python, and Node.js and renders maps from XML stylesheets to images like PNG.", "when_to_avoid": ["you need interactive slippy-map client-side rendering in the browser (use Leaflet or MapLibre instead)", "you want a full GIS desktop application rather than a rendering library", "you need simple basemap tiles without custom cartography"], "when_to_choose": ["you need pixel-perfect, fast server-side map rendering in C++, Python, or Node.js", "you want a library that works headlessly on any server without windowing systems", "you need to render many geospatial data formats (PostGIS, GeoJSON, Shapefile, GDAL rasters) with one toolkit"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mapnik", "repo": "mapnik/mapnik", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:24:29.568593+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c76b5515a1f32982bc55bc184caaff877aca70d6b75e98b8cb7d77b1140cfe86", "fetched_at": "2026-08-28T04:08:30.504904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mapnik/mapnik"}, {"content_hash": "77a3dba554fdefb7e0239e8df03e902eae73f6ad6b9b7cf19287844a3e1064b2", "fetched_at": "2026-08-29T09:18:01.087911+00:00", "kind": "homepage", "missing": false, "url": "http://mapnik.org"}, {"content_hash": "74097f06451b8bdd54426d3d96f4fbfabc60109ecde96f8ebd33c82180304288", "fetched_at": "2026-08-29T09:18:01.090570+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/node-mapnik/documentation"}, {"content_hash": "be9d9fc2c3f642824749937c29c3055c656a4f8d8e475acf45dd02a0c91b4f0c", "fetched_at": "2026-08-29T09:18:01.092538+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/docs/v2.2.0/api/python/index.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:24:29.568593+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c76b5515a1f32982bc55bc184caaff877aca70d6b75e98b8cb7d77b1140cfe86", "fetched_at": "2026-08-28T04:08:30.504904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mapnik/mapnik"}, {"content_hash": "77a3dba554fdefb7e0239e8df03e902eae73f6ad6b9b7cf19287844a3e1064b2", "fetched_at": "2026-08-29T09:18:01.087911+00:00", "kind": "homepage", "missing": false, "url": "http://mapnik.org"}, {"content_hash": "74097f06451b8bdd54426d3d96f4fbfabc60109ecde96f8ebd33c82180304288", "fetched_at": "2026-08-29T09:18:01.090570+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/node-mapnik/documentation"}, {"content_hash": "be9d9fc2c3f642824749937c29c3055c656a4f8d8e475acf45dd02a0c91b4f0c", "fetched_at": "2026-08-29T09:18:01.092538+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/docs/v2.2.0/api/python/index.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:24:29.568593+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c76b5515a1f32982bc55bc184caaff877aca70d6b75e98b8cb7d77b1140cfe86", "fetched_at": "2026-08-28T04:08:30.504904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mapnik/mapnik"}, {"content_hash": "77a3dba554fdefb7e0239e8df03e902eae73f6ad6b9b7cf19287844a3e1064b2", "fetched_at": "2026-08-29T09:18:01.087911+00:00", "kind": "homepage", "missing": false, "url": "http://mapnik.org"}, {"content_hash": "74097f06451b8bdd54426d3d96f4fbfabc60109ecde96f8ebd33c82180304288", "fetched_at": "2026-08-29T09:18:01.090570+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/node-mapnik/documentation"}, {"content_hash": "be9d9fc2c3f642824749937c29c3055c656a4f8d8e475acf45dd02a0c91b4f0c", "fetched_at": "2026-08-29T09:18:01.092538+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/docs/v2.2.0/api/python/index.html"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:24:29.568593+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c76b5515a1f32982bc55bc184caaff877aca70d6b75e98b8cb7d77b1140cfe86", "fetched_at": "2026-08-28T04:08:30.504904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mapnik/mapnik"}, {"content_hash": "77a3dba554fdefb7e0239e8df03e902eae73f6ad6b9b7cf19287844a3e1064b2", "fetched_at": "2026-08-29T09:18:01.087911+00:00", "kind": "homepage", "missing": false, "url": "http://mapnik.org"}, {"content_hash": "74097f06451b8bdd54426d3d96f4fbfabc60109ecde96f8ebd33c82180304288", "fetched_at": "2026-08-29T09:18:01.090570+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/node-mapnik/documentation"}, {"content_hash": "be9d9fc2c3f642824749937c29c3055c656a4f8d8e475acf45dd02a0c91b4f0c", "fetched_at": "2026-08-29T09:18:01.092538+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/docs/v2.2.0/api/python/index.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:24:29.568593+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c76b5515a1f32982bc55bc184caaff877aca70d6b75e98b8cb7d77b1140cfe86", "fetched_at": "2026-08-28T04:08:30.504904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mapnik/mapnik"}, {"content_hash": "77a3dba554fdefb7e0239e8df03e902eae73f6ad6b9b7cf19287844a3e1064b2", "fetched_at": "2026-08-29T09:18:01.087911+00:00", "kind": "homepage", "missing": false, "url": "http://mapnik.org"}, {"content_hash": "74097f06451b8bdd54426d3d96f4fbfabc60109ecde96f8ebd33c82180304288", "fetched_at": "2026-08-29T09:18:01.090570+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/node-mapnik/documentation"}, {"content_hash": "be9d9fc2c3f642824749937c29c3055c656a4f8d8e475acf45dd02a0c91b4f0c", "fetched_at": "2026-08-29T09:18:01.092538+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/docs/v2.2.0/api/python/index.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:24:29.568593+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c76b5515a1f32982bc55bc184caaff877aca70d6b75e98b8cb7d77b1140cfe86", "fetched_at": "2026-08-28T04:08:30.504904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mapnik/mapnik"}, {"content_hash": "77a3dba554fdefb7e0239e8df03e902eae73f6ad6b9b7cf19287844a3e1064b2", "fetched_at": "2026-08-29T09:18:01.087911+00:00", "kind": "homepage", "missing": false, "url": "http://mapnik.org"}, {"content_hash": "74097f06451b8bdd54426d3d96f4fbfabc60109ecde96f8ebd33c82180304288", "fetched_at": "2026-08-29T09:18:01.090570+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/node-mapnik/documentation"}, {"content_hash": "be9d9fc2c3f642824749937c29c3055c656a4f8d8e475acf45dd02a0c91b4f0c", "fetched_at": "2026-08-29T09:18:01.092538+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/docs/v2.2.0/api/python/index.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.504904+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:24:29.568593+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c76b5515a1f32982bc55bc184caaff877aca70d6b75e98b8cb7d77b1140cfe86", "fetched_at": "2026-08-28T04:08:30.504904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mapnik/mapnik"}, {"content_hash": "77a3dba554fdefb7e0239e8df03e902eae73f6ad6b9b7cf19287844a3e1064b2", "fetched_at": "2026-08-29T09:18:01.087911+00:00", "kind": "homepage", "missing": false, "url": "http://mapnik.org"}, {"content_hash": "74097f06451b8bdd54426d3d96f4fbfabc60109ecde96f8ebd33c82180304288", "fetched_at": "2026-08-29T09:18:01.090570+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/node-mapnik/documentation"}, {"content_hash": "be9d9fc2c3f642824749937c29c3055c656a4f8d8e475acf45dd02a0c91b4f0c", "fetched_at": "2026-08-29T09:18:01.092538+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/docs/v2.2.0/api/python/index.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:24:29.568593+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c76b5515a1f32982bc55bc184caaff877aca70d6b75e98b8cb7d77b1140cfe86", "fetched_at": "2026-08-28T04:08:30.504904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mapnik/mapnik"}, {"content_hash": "77a3dba554fdefb7e0239e8df03e902eae73f6ad6b9b7cf19287844a3e1064b2", "fetched_at": "2026-08-29T09:18:01.087911+00:00", "kind": "homepage", "missing": false, "url": "http://mapnik.org"}, {"content_hash": "74097f06451b8bdd54426d3d96f4fbfabc60109ecde96f8ebd33c82180304288", "fetched_at": "2026-08-29T09:18:01.090570+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/node-mapnik/documentation"}, {"content_hash": "be9d9fc2c3f642824749937c29c3055c656a4f8d8e475acf45dd02a0c91b4f0c", "fetched_at": "2026-08-29T09:18:01.092538+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/docs/v2.2.0/api/python/index.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:24:29.568593+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c76b5515a1f32982bc55bc184caaff877aca70d6b75e98b8cb7d77b1140cfe86", "fetched_at": "2026-08-28T04:08:30.504904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mapnik/mapnik"}, {"content_hash": "77a3dba554fdefb7e0239e8df03e902eae73f6ad6b9b7cf19287844a3e1064b2", "fetched_at": "2026-08-29T09:18:01.087911+00:00", "kind": "homepage", "missing": false, "url": "http://mapnik.org"}, {"content_hash": "74097f06451b8bdd54426d3d96f4fbfabc60109ecde96f8ebd33c82180304288", "fetched_at": "2026-08-29T09:18:01.090570+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/node-mapnik/documentation"}, {"content_hash": "be9d9fc2c3f642824749937c29c3055c656a4f8d8e475acf45dd02a0c91b4f0c", "fetched_at": "2026-08-29T09:18:01.092538+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/docs/v2.2.0/api/python/index.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:24:29.568593+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c76b5515a1f32982bc55bc184caaff877aca70d6b75e98b8cb7d77b1140cfe86", "fetched_at": "2026-08-28T04:08:30.504904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mapnik/mapnik"}, {"content_hash": "77a3dba554fdefb7e0239e8df03e902eae73f6ad6b9b7cf19287844a3e1064b2", "fetched_at": "2026-08-29T09:18:01.087911+00:00", "kind": "homepage", "missing": false, "url": "http://mapnik.org"}, {"content_hash": "74097f06451b8bdd54426d3d96f4fbfabc60109ecde96f8ebd33c82180304288", "fetched_at": "2026-08-29T09:18:01.090570+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/node-mapnik/documentation"}, {"content_hash": "be9d9fc2c3f642824749937c29c3055c656a4f8d8e475acf45dd02a0c91b4f0c", "fetched_at": "2026-08-29T09:18:01.092538+00:00", "kind": "site_page", "missing": false, "url": "http://mapnik.org/docs/v2.2.0/api/python/index.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 82}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5440, "days_push": 7, "days_rel": 40, "gap_med": 37, "n_releases_24m": 14}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}