{"adoption": {"forks": 797, "observed_at": "2026-08-28T04:10:48.935896+00:00", "stars": 11602}, "canonical_url": "https://ross.abutalabs.com/products/libvips", "card": {"archived": false, "artifact_type": "library", "description": "A fast image processing library with low memory needs.", "domain": ["image-processing", "graphics", "media", "cross-platform"], "enriched": true, "function": ["image-processing", "cli", "sdk"], "health_score": 100, "homepage": "https://libvips.org", "language": "C", "license": "LGPL-2.1", "license_family": "copyleft", "maturity": "stable", "member_repos": ["libvips/libvips"], "name": "libvips/libvips", "platform": ["windows", "cross-platform", "cli", "python", "rust", "go", "ruby", "php", "jvm", "dotnet", "lua", "elixir"], "pushed_at": "2026-08-25T15:34:01+00:00", "repo": "libvips/libvips", "stars": 11602, "tags": ["image-formats", "thumbnailing", "low-memory", "streaming-pipeline", "bindings", "jpeg", "png", "tiff", "webp", "heic", "avif", "pdf", "svg", "gif", "hdr", "openslide", "linux", "macos"], "topics": ["libvips", "jpeg", "openslide", "imagemagick", "tiff", "gif", "webp", "graphicsmagick", "openexr", "c", "pdfium", "heic", "cpp", "svg", "pdf", "png", "nifti", "image-processing", "hdr"], "urls": [], "use_cases": ["resize and thumbnail images quickly with low memory usage", "convert images between formats like JPEG, PNG, WebP, HEIC, AVIF, and TIFF", "process very large images such as whole-slide microscopy scans via OpenSlide", "rasterize PDFs and SVGs to images", "build an image processing backend for a web service or CMS", "batch-process image pipelines from the command line with vips and vipsthumbnail", "compose, crop, rotate, and colour-correct images programmatically", "handle animated GIFs and multipage TIFFs"], "what_it_is": "libvips is a fast, demand-driven, horizontally threaded image processing library with low memory needs, offering around 300 operations across arithmetic, convolution, resampling, colour, and more. It supports a wide range of formats (JPEG, PNG, TIFF, WebP, HEIC, AVIF, PDF, SVG, GIF, OpenEXR, OpenSlide, etc.) and provides C/C++ APIs, a CLI, and bindings for many languages.", "when_to_avoid": ["you need advanced drawing, text rendering, or creative design features better served by ImageMagick or a graphics editor", "you need GPU-accelerated image processing", "you require a permissive license, since libvips is LGPL-2.1-or-later", "you need a pure-language implementation without native dependencies"], "when_to_choose": ["you need fast image processing with much lower memory use than ImageMagick", "you need broad format support including scientific formats like FITS, NIfTI, and OpenSlide", "you are building a high-throughput image service (e.g. thumbnails, imgproxy-style resizing)", "you want bindings for Python, Ruby, PHP, .NET, Go, Lua, Elixir, Java, or Nim", "you need a lightweight CLI for scripted image conversions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/libvips", "repo": "libvips/libvips", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:48.935896+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:15:28.616100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6b904938f52f6971f6945476547538c4381295a0ed3224a47ec2ff87ea807f8", "fetched_at": "2026-08-28T04:10:48.935896+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libvips/libvips"}, {"content_hash": "c68b3be407aac7ee4e25b6651f8f8c58c0e53d892b95421c46ae859a58fba34c", "fetched_at": "2026-08-29T08:13:56.038742+00:00", "kind": "homepage", "missing": false, "url": "https://libvips.org"}, {"content_hash": "c99c20eb7f0b5200f4ad5fd90a090407bb9946bcbc66523b3282ce7b2f3eee76", "fetched_at": "2026-08-29T08:13:56.041532+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/install.html"}, {"content_hash": "c8b31ffcdebde435fe02236bca09a888eddd27aa6bda2d04fcb3dd26dda622b7", "fetched_at": "2026-08-29T08:13:56.043598+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/API/current"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:48.935896+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:15:28.616100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6b904938f52f6971f6945476547538c4381295a0ed3224a47ec2ff87ea807f8", "fetched_at": "2026-08-28T04:10:48.935896+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libvips/libvips"}, {"content_hash": "c68b3be407aac7ee4e25b6651f8f8c58c0e53d892b95421c46ae859a58fba34c", "fetched_at": "2026-08-29T08:13:56.038742+00:00", "kind": "homepage", "missing": false, "url": "https://libvips.org"}, {"content_hash": "c99c20eb7f0b5200f4ad5fd90a090407bb9946bcbc66523b3282ce7b2f3eee76", "fetched_at": "2026-08-29T08:13:56.041532+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/install.html"}, {"content_hash": "c8b31ffcdebde435fe02236bca09a888eddd27aa6bda2d04fcb3dd26dda622b7", "fetched_at": "2026-08-29T08:13:56.043598+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/API/current"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:15:28.616100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6b904938f52f6971f6945476547538c4381295a0ed3224a47ec2ff87ea807f8", "fetched_at": "2026-08-28T04:10:48.935896+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libvips/libvips"}, {"content_hash": "c68b3be407aac7ee4e25b6651f8f8c58c0e53d892b95421c46ae859a58fba34c", "fetched_at": "2026-08-29T08:13:56.038742+00:00", "kind": "homepage", "missing": false, "url": "https://libvips.org"}, {"content_hash": "c99c20eb7f0b5200f4ad5fd90a090407bb9946bcbc66523b3282ce7b2f3eee76", "fetched_at": "2026-08-29T08:13:56.041532+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/install.html"}, {"content_hash": "c8b31ffcdebde435fe02236bca09a888eddd27aa6bda2d04fcb3dd26dda622b7", "fetched_at": "2026-08-29T08:13:56.043598+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/API/current"}], "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:10:48.935896+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:48.935896+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:48.935896+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:15:28.616100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6b904938f52f6971f6945476547538c4381295a0ed3224a47ec2ff87ea807f8", "fetched_at": "2026-08-28T04:10:48.935896+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libvips/libvips"}, {"content_hash": "c68b3be407aac7ee4e25b6651f8f8c58c0e53d892b95421c46ae859a58fba34c", "fetched_at": "2026-08-29T08:13:56.038742+00:00", "kind": "homepage", "missing": false, "url": "https://libvips.org"}, {"content_hash": "c99c20eb7f0b5200f4ad5fd90a090407bb9946bcbc66523b3282ce7b2f3eee76", "fetched_at": "2026-08-29T08:13:56.041532+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/install.html"}, {"content_hash": "c8b31ffcdebde435fe02236bca09a888eddd27aa6bda2d04fcb3dd26dda622b7", "fetched_at": "2026-08-29T08:13:56.043598+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/API/current"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:48.935896+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:48.935896+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:15:28.616100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6b904938f52f6971f6945476547538c4381295a0ed3224a47ec2ff87ea807f8", "fetched_at": "2026-08-28T04:10:48.935896+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libvips/libvips"}, {"content_hash": "c68b3be407aac7ee4e25b6651f8f8c58c0e53d892b95421c46ae859a58fba34c", "fetched_at": "2026-08-29T08:13:56.038742+00:00", "kind": "homepage", "missing": false, "url": "https://libvips.org"}, {"content_hash": "c99c20eb7f0b5200f4ad5fd90a090407bb9946bcbc66523b3282ce7b2f3eee76", "fetched_at": "2026-08-29T08:13:56.041532+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/install.html"}, {"content_hash": "c8b31ffcdebde435fe02236bca09a888eddd27aa6bda2d04fcb3dd26dda622b7", "fetched_at": "2026-08-29T08:13:56.043598+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/API/current"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:48.935896+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:48.935896+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:48.935896+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:15:28.616100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6b904938f52f6971f6945476547538c4381295a0ed3224a47ec2ff87ea807f8", "fetched_at": "2026-08-28T04:10:48.935896+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libvips/libvips"}, {"content_hash": "c68b3be407aac7ee4e25b6651f8f8c58c0e53d892b95421c46ae859a58fba34c", "fetched_at": "2026-08-29T08:13:56.038742+00:00", "kind": "homepage", "missing": false, "url": "https://libvips.org"}, {"content_hash": "c99c20eb7f0b5200f4ad5fd90a090407bb9946bcbc66523b3282ce7b2f3eee76", "fetched_at": "2026-08-29T08:13:56.041532+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/install.html"}, {"content_hash": "c8b31ffcdebde435fe02236bca09a888eddd27aa6bda2d04fcb3dd26dda622b7", "fetched_at": "2026-08-29T08:13:56.043598+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/API/current"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:48.935896+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:48.935896+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:15:28.616100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6b904938f52f6971f6945476547538c4381295a0ed3224a47ec2ff87ea807f8", "fetched_at": "2026-08-28T04:10:48.935896+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libvips/libvips"}, {"content_hash": "c68b3be407aac7ee4e25b6651f8f8c58c0e53d892b95421c46ae859a58fba34c", "fetched_at": "2026-08-29T08:13:56.038742+00:00", "kind": "homepage", "missing": false, "url": "https://libvips.org"}, {"content_hash": "c99c20eb7f0b5200f4ad5fd90a090407bb9946bcbc66523b3282ce7b2f3eee76", "fetched_at": "2026-08-29T08:13:56.041532+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/install.html"}, {"content_hash": "c8b31ffcdebde435fe02236bca09a888eddd27aa6bda2d04fcb3dd26dda622b7", "fetched_at": "2026-08-29T08:13:56.043598+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/API/current"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:15:28.616100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6b904938f52f6971f6945476547538c4381295a0ed3224a47ec2ff87ea807f8", "fetched_at": "2026-08-28T04:10:48.935896+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libvips/libvips"}, {"content_hash": "c68b3be407aac7ee4e25b6651f8f8c58c0e53d892b95421c46ae859a58fba34c", "fetched_at": "2026-08-29T08:13:56.038742+00:00", "kind": "homepage", "missing": false, "url": "https://libvips.org"}, {"content_hash": "c99c20eb7f0b5200f4ad5fd90a090407bb9946bcbc66523b3282ce7b2f3eee76", "fetched_at": "2026-08-29T08:13:56.041532+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/install.html"}, {"content_hash": "c8b31ffcdebde435fe02236bca09a888eddd27aa6bda2d04fcb3dd26dda622b7", "fetched_at": "2026-08-29T08:13:56.043598+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/API/current"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:15:28.616100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6b904938f52f6971f6945476547538c4381295a0ed3224a47ec2ff87ea807f8", "fetched_at": "2026-08-28T04:10:48.935896+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libvips/libvips"}, {"content_hash": "c68b3be407aac7ee4e25b6651f8f8c58c0e53d892b95421c46ae859a58fba34c", "fetched_at": "2026-08-29T08:13:56.038742+00:00", "kind": "homepage", "missing": false, "url": "https://libvips.org"}, {"content_hash": "c99c20eb7f0b5200f4ad5fd90a090407bb9946bcbc66523b3282ce7b2f3eee76", "fetched_at": "2026-08-29T08:13:56.041532+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/install.html"}, {"content_hash": "c8b31ffcdebde435fe02236bca09a888eddd27aa6bda2d04fcb3dd26dda622b7", "fetched_at": "2026-08-29T08:13:56.043598+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/API/current"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:15:28.616100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6b904938f52f6971f6945476547538c4381295a0ed3224a47ec2ff87ea807f8", "fetched_at": "2026-08-28T04:10:48.935896+00:00", "kind": "readme", "missing": false, "url": "https://github.com/libvips/libvips"}, {"content_hash": "c68b3be407aac7ee4e25b6651f8f8c58c0e53d892b95421c46ae859a58fba34c", "fetched_at": "2026-08-29T08:13:56.038742+00:00", "kind": "homepage", "missing": false, "url": "https://libvips.org"}, {"content_hash": "c99c20eb7f0b5200f4ad5fd90a090407bb9946bcbc66523b3282ce7b2f3eee76", "fetched_at": "2026-08-29T08:13:56.041532+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/install.html"}, {"content_hash": "c8b31ffcdebde435fe02236bca09a888eddd27aa6bda2d04fcb3dd26dda622b7", "fetched_at": "2026-08-29T08:13:56.043598+00:00", "kind": "site_page", "missing": false, "url": "https://www.libvips.org/API/current"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 87}, "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": 5699, "days_push": 8, "days_rel": 8, "gap_med": 47, "n_releases_24m": 14}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}