{"adoption": {"forks": 1024, "observed_at": "2026-08-28T04:08:54.662325+00:00", "stars": 4590}, "canonical_url": "https://ross.abutalabs.com/products/imutils", "card": {"archived": false, "artifact_type": "library", "description": "A series of convenience functions to make basic image processing operations such as translation, rotation, resizing, skeletonization, and displaying Matplotlib images easier with OpenCV and Python.", "domain": ["image-processing", "computer-vision"], "enriched": true, "function": ["image-processing", "computer-vision"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["PyImageSearch/imutils"], "name": "PyImageSearch/imutils", "platform": ["python", "cross-platform"], "pushed_at": "2024-06-24T13:34:47+00:00", "repo": "PyImageSearch/imutils", "stars": 4590, "tags": ["opencv", "convenience-functions", "image-manipulation"], "topics": [], "urls": [], "use_cases": ["resize images with opencv without computing aspect ratios", "rotate an image around a point in python", "translate an image with a single function call", "find opencv function names quickly", "display matplotlib images in an opencv window", "build a document scanner with opencv"], "what_it_is": "A Python library of convenience functions that simplify common OpenCV image processing tasks such as translation, rotation, resizing, skeletonization, and displaying Matplotlib images. It wraps verbose OpenCV calls into simple one-line helpers.", "when_to_avoid": ["you need advanced or cutting-edge image processing features beyond OpenCV's basics", "you want a library with frequent updates and active development", "you're not using OpenCV or Python"], "when_to_choose": ["you use OpenCV in Python and want shorter, more readable code for common image operations", "you're learning computer vision and want simpler APIs over raw OpenCV", "you need quick helpers for resizing, rotating, or translating images"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/imutils", "repo": "PyImageSearch/imutils", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.662325+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:19:50.877179+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "496a10ce865bd4e76a4140a927af17e8eb33312e520a76a193e18e5bcb4f2121", "fetched_at": "2026-08-28T04:08:54.662325+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyImageSearch/imutils"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.662325+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:19:50.877179+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "496a10ce865bd4e76a4140a927af17e8eb33312e520a76a193e18e5bcb4f2121", "fetched_at": "2026-08-28T04:08:54.662325+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyImageSearch/imutils"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:19:50.877179+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "496a10ce865bd4e76a4140a927af17e8eb33312e520a76a193e18e5bcb4f2121", "fetched_at": "2026-08-28T04:08:54.662325+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyImageSearch/imutils"}], "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:54.662325+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.662325+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.662325+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:19:50.877179+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "496a10ce865bd4e76a4140a927af17e8eb33312e520a76a193e18e5bcb4f2121", "fetched_at": "2026-08-28T04:08:54.662325+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyImageSearch/imutils"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.662325+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.662325+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:19:50.877179+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "496a10ce865bd4e76a4140a927af17e8eb33312e520a76a193e18e5bcb4f2121", "fetched_at": "2026-08-28T04:08:54.662325+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyImageSearch/imutils"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.662325+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.662325+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.662325+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:19:50.877179+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "496a10ce865bd4e76a4140a927af17e8eb33312e520a76a193e18e5bcb4f2121", "fetched_at": "2026-08-28T04:08:54.662325+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyImageSearch/imutils"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.662325+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.662325+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:19:50.877179+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "496a10ce865bd4e76a4140a927af17e8eb33312e520a76a193e18e5bcb4f2121", "fetched_at": "2026-08-28T04:08:54.662325+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyImageSearch/imutils"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:19:50.877179+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "496a10ce865bd4e76a4140a927af17e8eb33312e520a76a193e18e5bcb4f2121", "fetched_at": "2026-08-28T04:08:54.662325+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyImageSearch/imutils"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:19:50.877179+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "496a10ce865bd4e76a4140a927af17e8eb33312e520a76a193e18e5bcb4f2121", "fetched_at": "2026-08-28T04:08:54.662325+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyImageSearch/imutils"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:19:50.877179+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "496a10ce865bd4e76a4140a927af17e8eb33312e520a76a193e18e5bcb4f2121", "fetched_at": "2026-08-28T04:08:54.662325+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyImageSearch/imutils"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4252, "days_push": 800, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}