{"adoption": {"forks": 676, "observed_at": "2026-08-28T04:09:48.396735+00:00", "stars": 6772}, "canonical_url": "https://ross.abutalabs.com/products/geolibre", "card": {"archived": false, "artifact_type": "application", "description": "A lightweight, cloud-native GIS platform for visualizing, exploring, and analyzing geospatial data. It runs in the web browser, on the desktop, on mobile, and inside Jupyter notebooks.", "domain": ["data-visualization", "data-science", "cross-platform"], "enriched": true, "function": ["data-visualization", "geospatial", "image-processing", "plugin-system", "developer-tools"], "health_score": 100, "homepage": "https://geolibre.app", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["opengeos/GeoLibre"], "name": "opengeos/GeoLibre", "platform": ["cross-platform", "browser", "windows", "wasm", "python"], "pushed_at": "2026-08-26T16:08:57+00:00", "repo": "opengeos/GeoLibre", "stars": 6772, "tags": ["gis", "maplibre", "tauri", "duckdb", "geoprocessing", "remote-sensing", "lidar", "jupyter", "cloud-native-gis", "qgis-alternative", "geospatial", "maps", "web-server", "desktop", "mobile", "macos", "linux", "android", "ios"], "topics": ["data-science", "geospatial", "maplibre", "maplibre-gl-js", "tauri-app", "duckdb", "geolibre", "gis"], "urls": [], "use_cases": ["visualize geospatial vector and raster data on an interactive map", "analyze LiDAR point clouds and terrain in the browser", "load cloud-optimized geotiffs and STAC catalogs like Planetary Computer", "edit and style map layers and export to GeoJSON, GeoParquet, or GeoPackage", "run geoprocessing tools like hydrology and remote sensing analysis locally without a server", "embed interactive maps in Jupyter notebooks with Python", "capture GPS field observations with custom forms", "connect to WMS, WFS, XYZ tiles, and Overture Maps data"], "what_it_is": "GeoLibre is a free, open-source, lightweight cloud-native GIS platform for visualizing, exploring, and analyzing geospatial data. Built with Tauri, React, MapLibre GL JS, and DuckDB-WASM Spatial, it runs in the browser, on desktop and mobile, and inside Jupyter notebooks, with 1,000+ geoprocessing tools executing client-side via WebAssembly.", "when_to_avoid": ["you need advanced desktop-GIS features like full PostGIS topology editing or print layouts", "you require server-side heavy batch geoprocessing on very large datasets", "you depend on ArcGIS-specific proprietary tooling or extensions", "you need the sandboxed Mac App Store build's excluded features like Python sidecars or external plugins"], "when_to_choose": ["you need a free, lightweight QGIS alternative that runs entirely client-side", "you want your geospatial data to stay local and private with no server processing", "you need one GIS tool across web, desktop, mobile, and notebooks", "you work with cloud-native formats like COG, PMTiles, GeoParquet, and STAC", "you want browser-based geoprocessing without installing heavy GIS software"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/geolibre", "repo": "opengeos/GeoLibre", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.396735+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:42:24.672774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f155783005826389c9b749b8f0bdb9af2731f09332fc0f0ebf59dfd044d20c43", "fetched_at": "2026-08-28T04:09:48.396735+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opengeos/GeoLibre"}, {"content_hash": "922216626c3f00a1725440526cb4f9d2b743f58045fe8c21de9a966ba7821f2a", "fetched_at": "2026-08-29T08:38:50.602728+00:00", "kind": "homepage", "missing": false, "url": "https://geolibre.app"}, {"content_hash": "02a63712fea785b12bd6d846ddd22350b880fbfa258dd810849c65bf614f42ba", "fetched_at": "2026-08-29T08:38:50.665716+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/getting-started"}, {"content_hash": "6a0fd493b584042a03748d9d0950763b5ab570c3d14061757e7938acebb73392", "fetched_at": "2026-08-29T08:38:50.699884+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/features"}, {"content_hash": "09d41c6e28d1e1aeeda39c705aeea65da305101a1f2184f4421a162f77a1d38e", "fetched_at": "2026-08-29T08:38:50.732164+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/user-guide/data-integrations"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.396735+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:42:24.672774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f155783005826389c9b749b8f0bdb9af2731f09332fc0f0ebf59dfd044d20c43", "fetched_at": "2026-08-28T04:09:48.396735+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opengeos/GeoLibre"}, {"content_hash": "922216626c3f00a1725440526cb4f9d2b743f58045fe8c21de9a966ba7821f2a", "fetched_at": "2026-08-29T08:38:50.602728+00:00", "kind": "homepage", "missing": false, "url": "https://geolibre.app"}, {"content_hash": "02a63712fea785b12bd6d846ddd22350b880fbfa258dd810849c65bf614f42ba", "fetched_at": "2026-08-29T08:38:50.665716+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/getting-started"}, {"content_hash": "6a0fd493b584042a03748d9d0950763b5ab570c3d14061757e7938acebb73392", "fetched_at": "2026-08-29T08:38:50.699884+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/features"}, {"content_hash": "09d41c6e28d1e1aeeda39c705aeea65da305101a1f2184f4421a162f77a1d38e", "fetched_at": "2026-08-29T08:38:50.732164+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/user-guide/data-integrations"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:42:24.672774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f155783005826389c9b749b8f0bdb9af2731f09332fc0f0ebf59dfd044d20c43", "fetched_at": "2026-08-28T04:09:48.396735+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opengeos/GeoLibre"}, {"content_hash": "922216626c3f00a1725440526cb4f9d2b743f58045fe8c21de9a966ba7821f2a", "fetched_at": "2026-08-29T08:38:50.602728+00:00", "kind": "homepage", "missing": false, "url": "https://geolibre.app"}, {"content_hash": "02a63712fea785b12bd6d846ddd22350b880fbfa258dd810849c65bf614f42ba", "fetched_at": "2026-08-29T08:38:50.665716+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/getting-started"}, {"content_hash": "6a0fd493b584042a03748d9d0950763b5ab570c3d14061757e7938acebb73392", "fetched_at": "2026-08-29T08:38:50.699884+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/features"}, {"content_hash": "09d41c6e28d1e1aeeda39c705aeea65da305101a1f2184f4421a162f77a1d38e", "fetched_at": "2026-08-29T08:38:50.732164+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/user-guide/data-integrations"}], "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:09:48.396735+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.396735+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.396735+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:42:24.672774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f155783005826389c9b749b8f0bdb9af2731f09332fc0f0ebf59dfd044d20c43", "fetched_at": "2026-08-28T04:09:48.396735+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opengeos/GeoLibre"}, {"content_hash": "922216626c3f00a1725440526cb4f9d2b743f58045fe8c21de9a966ba7821f2a", "fetched_at": "2026-08-29T08:38:50.602728+00:00", "kind": "homepage", "missing": false, "url": "https://geolibre.app"}, {"content_hash": "02a63712fea785b12bd6d846ddd22350b880fbfa258dd810849c65bf614f42ba", "fetched_at": "2026-08-29T08:38:50.665716+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/getting-started"}, {"content_hash": "6a0fd493b584042a03748d9d0950763b5ab570c3d14061757e7938acebb73392", "fetched_at": "2026-08-29T08:38:50.699884+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/features"}, {"content_hash": "09d41c6e28d1e1aeeda39c705aeea65da305101a1f2184f4421a162f77a1d38e", "fetched_at": "2026-08-29T08:38:50.732164+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/user-guide/data-integrations"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.396735+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.396735+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:42:24.672774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f155783005826389c9b749b8f0bdb9af2731f09332fc0f0ebf59dfd044d20c43", "fetched_at": "2026-08-28T04:09:48.396735+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opengeos/GeoLibre"}, {"content_hash": "922216626c3f00a1725440526cb4f9d2b743f58045fe8c21de9a966ba7821f2a", "fetched_at": "2026-08-29T08:38:50.602728+00:00", "kind": "homepage", "missing": false, "url": "https://geolibre.app"}, {"content_hash": "02a63712fea785b12bd6d846ddd22350b880fbfa258dd810849c65bf614f42ba", "fetched_at": "2026-08-29T08:38:50.665716+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/getting-started"}, {"content_hash": "6a0fd493b584042a03748d9d0950763b5ab570c3d14061757e7938acebb73392", "fetched_at": "2026-08-29T08:38:50.699884+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/features"}, {"content_hash": "09d41c6e28d1e1aeeda39c705aeea65da305101a1f2184f4421a162f77a1d38e", "fetched_at": "2026-08-29T08:38:50.732164+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/user-guide/data-integrations"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.396735+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.396735+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.396735+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:42:24.672774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f155783005826389c9b749b8f0bdb9af2731f09332fc0f0ebf59dfd044d20c43", "fetched_at": "2026-08-28T04:09:48.396735+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opengeos/GeoLibre"}, {"content_hash": "922216626c3f00a1725440526cb4f9d2b743f58045fe8c21de9a966ba7821f2a", "fetched_at": "2026-08-29T08:38:50.602728+00:00", "kind": "homepage", "missing": false, "url": "https://geolibre.app"}, {"content_hash": "02a63712fea785b12bd6d846ddd22350b880fbfa258dd810849c65bf614f42ba", "fetched_at": "2026-08-29T08:38:50.665716+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/getting-started"}, {"content_hash": "6a0fd493b584042a03748d9d0950763b5ab570c3d14061757e7938acebb73392", "fetched_at": "2026-08-29T08:38:50.699884+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/features"}, {"content_hash": "09d41c6e28d1e1aeeda39c705aeea65da305101a1f2184f4421a162f77a1d38e", "fetched_at": "2026-08-29T08:38:50.732164+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/user-guide/data-integrations"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.396735+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.396735+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:42:24.672774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f155783005826389c9b749b8f0bdb9af2731f09332fc0f0ebf59dfd044d20c43", "fetched_at": "2026-08-28T04:09:48.396735+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opengeos/GeoLibre"}, {"content_hash": "922216626c3f00a1725440526cb4f9d2b743f58045fe8c21de9a966ba7821f2a", "fetched_at": "2026-08-29T08:38:50.602728+00:00", "kind": "homepage", "missing": false, "url": "https://geolibre.app"}, {"content_hash": "02a63712fea785b12bd6d846ddd22350b880fbfa258dd810849c65bf614f42ba", "fetched_at": "2026-08-29T08:38:50.665716+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/getting-started"}, {"content_hash": "6a0fd493b584042a03748d9d0950763b5ab570c3d14061757e7938acebb73392", "fetched_at": "2026-08-29T08:38:50.699884+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/features"}, {"content_hash": "09d41c6e28d1e1aeeda39c705aeea65da305101a1f2184f4421a162f77a1d38e", "fetched_at": "2026-08-29T08:38:50.732164+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/user-guide/data-integrations"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:42:24.672774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f155783005826389c9b749b8f0bdb9af2731f09332fc0f0ebf59dfd044d20c43", "fetched_at": "2026-08-28T04:09:48.396735+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opengeos/GeoLibre"}, {"content_hash": "922216626c3f00a1725440526cb4f9d2b743f58045fe8c21de9a966ba7821f2a", "fetched_at": "2026-08-29T08:38:50.602728+00:00", "kind": "homepage", "missing": false, "url": "https://geolibre.app"}, {"content_hash": "02a63712fea785b12bd6d846ddd22350b880fbfa258dd810849c65bf614f42ba", "fetched_at": "2026-08-29T08:38:50.665716+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/getting-started"}, {"content_hash": "6a0fd493b584042a03748d9d0950763b5ab570c3d14061757e7938acebb73392", "fetched_at": "2026-08-29T08:38:50.699884+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/features"}, {"content_hash": "09d41c6e28d1e1aeeda39c705aeea65da305101a1f2184f4421a162f77a1d38e", "fetched_at": "2026-08-29T08:38:50.732164+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/user-guide/data-integrations"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:42:24.672774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f155783005826389c9b749b8f0bdb9af2731f09332fc0f0ebf59dfd044d20c43", "fetched_at": "2026-08-28T04:09:48.396735+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opengeos/GeoLibre"}, {"content_hash": "922216626c3f00a1725440526cb4f9d2b743f58045fe8c21de9a966ba7821f2a", "fetched_at": "2026-08-29T08:38:50.602728+00:00", "kind": "homepage", "missing": false, "url": "https://geolibre.app"}, {"content_hash": "02a63712fea785b12bd6d846ddd22350b880fbfa258dd810849c65bf614f42ba", "fetched_at": "2026-08-29T08:38:50.665716+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/getting-started"}, {"content_hash": "6a0fd493b584042a03748d9d0950763b5ab570c3d14061757e7938acebb73392", "fetched_at": "2026-08-29T08:38:50.699884+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/features"}, {"content_hash": "09d41c6e28d1e1aeeda39c705aeea65da305101a1f2184f4421a162f77a1d38e", "fetched_at": "2026-08-29T08:38:50.732164+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/user-guide/data-integrations"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:42:24.672774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f155783005826389c9b749b8f0bdb9af2731f09332fc0f0ebf59dfd044d20c43", "fetched_at": "2026-08-28T04:09:48.396735+00:00", "kind": "readme", "missing": false, "url": "https://github.com/opengeos/GeoLibre"}, {"content_hash": "922216626c3f00a1725440526cb4f9d2b743f58045fe8c21de9a966ba7821f2a", "fetched_at": "2026-08-29T08:38:50.602728+00:00", "kind": "homepage", "missing": false, "url": "https://geolibre.app"}, {"content_hash": "02a63712fea785b12bd6d846ddd22350b880fbfa258dd810849c65bf614f42ba", "fetched_at": "2026-08-29T08:38:50.665716+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/getting-started"}, {"content_hash": "6a0fd493b584042a03748d9d0950763b5ab570c3d14061757e7938acebb73392", "fetched_at": "2026-08-29T08:38:50.699884+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/features"}, {"content_hash": "09d41c6e28d1e1aeeda39c705aeea65da305101a1f2184f4421a162f77a1d38e", "fetched_at": "2026-08-29T08:38:50.732164+00:00", "kind": "site_page", "missing": false, "url": "https://geolibre.app/user-guide/data-integrations"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 7, "rhythm": 99}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 98, "days_push": 7, "days_rel": 11, "gap_med": 2, "n_releases_24m": 28}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}