{"adoption": {"forks": 400, "observed_at": "2026-08-28T04:07:50.013836+00:00", "stars": 3227}, "canonical_url": "https://ross.abutalabs.com/products/shapeofview", "card": {"archived": false, "artifact_type": "library", "description": "Give a custom shape to any android view, Material Design 2 ready", "domain": ["mobile-development", "android-tools", "web-design"], "enriched": true, "function": ["ui-components", "graphics"], "health_score": 26, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["florent37/ShapeOfView"], "name": "florent37/ShapeOfView", "platform": ["jvm"], "pushed_at": "2025-03-07T21:04:51+00:00", "repo": "florent37/ShapeOfView", "stars": 3227, "tags": ["custom-shapes", "view-masking", "material-design", "androidx", "xml-layouts", "android", "mobile"], "topics": ["android", "custom", "view", "shape", "mask", "layout", "xml", "material", "androidx"], "urls": [], "use_cases": ["give a custom shape to any android view", "create circular image or card views in android", "apply diagonal or arc cutouts to layouts for material design 2", "mask android views with custom shapes in xml", "add borders and elevation to shaped views", "build bottom arc or cutout view containers"], "what_it_is": "An Android library that lets developers apply custom shapes (circle, round rect, arc, diagonal, cutout, and more) to any Android view via XML layouts. It is designed with Material Design 2 in mind and supports elevation, borders, and custom shape definitions.", "when_to_avoid": ["you are not developing for Android", "you only need simple rounded corners, which standard CardView or MaterialCardView already provide", "you need Jetpack Compose shapes rather than XML view-based layouts"], "when_to_choose": ["you need shaped views (circles, arcs, diagonals, cutouts) on Android without writing custom View code", "you want Material Design 2 style shaped components defined directly in XML", "you need per-corner rounded rectangles or bordered shaped views with elevation support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/shapeofview", "repo": "florent37/ShapeOfView", "role": "main", "score": 37}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.013836+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:44:10.070331+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0445affcd739f758bf5a8dfef3aff7a24d855725acd45268973cfcdfbd8acc55", "fetched_at": "2026-08-28T04:07:50.013836+00:00", "kind": "readme", "missing": false, "url": "https://github.com/florent37/ShapeOfView"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.013836+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:44:10.070331+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0445affcd739f758bf5a8dfef3aff7a24d855725acd45268973cfcdfbd8acc55", "fetched_at": "2026-08-28T04:07:50.013836+00:00", "kind": "readme", "missing": false, "url": "https://github.com/florent37/ShapeOfView"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:44:10.070331+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0445affcd739f758bf5a8dfef3aff7a24d855725acd45268973cfcdfbd8acc55", "fetched_at": "2026-08-28T04:07:50.013836+00:00", "kind": "readme", "missing": false, "url": "https://github.com/florent37/ShapeOfView"}], "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:07:50.013836+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.013836+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.013836+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:44:10.070331+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0445affcd739f758bf5a8dfef3aff7a24d855725acd45268973cfcdfbd8acc55", "fetched_at": "2026-08-28T04:07:50.013836+00:00", "kind": "readme", "missing": false, "url": "https://github.com/florent37/ShapeOfView"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.013836+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.013836+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:44:10.070331+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0445affcd739f758bf5a8dfef3aff7a24d855725acd45268973cfcdfbd8acc55", "fetched_at": "2026-08-28T04:07:50.013836+00:00", "kind": "readme", "missing": false, "url": "https://github.com/florent37/ShapeOfView"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.013836+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.013836+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.013836+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:44:10.070331+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0445affcd739f758bf5a8dfef3aff7a24d855725acd45268973cfcdfbd8acc55", "fetched_at": "2026-08-28T04:07:50.013836+00:00", "kind": "readme", "missing": false, "url": "https://github.com/florent37/ShapeOfView"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.013836+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.013836+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:44:10.070331+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0445affcd739f758bf5a8dfef3aff7a24d855725acd45268973cfcdfbd8acc55", "fetched_at": "2026-08-28T04:07:50.013836+00:00", "kind": "readme", "missing": false, "url": "https://github.com/florent37/ShapeOfView"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:44:10.070331+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0445affcd739f758bf5a8dfef3aff7a24d855725acd45268973cfcdfbd8acc55", "fetched_at": "2026-08-28T04:07:50.013836+00:00", "kind": "readme", "missing": false, "url": "https://github.com/florent37/ShapeOfView"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:44:10.070331+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0445affcd739f758bf5a8dfef3aff7a24d855725acd45268973cfcdfbd8acc55", "fetched_at": "2026-08-28T04:07:50.013836+00:00", "kind": "readme", "missing": false, "url": "https://github.com/florent37/ShapeOfView"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:44:10.070331+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0445affcd739f758bf5a8dfef3aff7a24d855725acd45268973cfcdfbd8acc55", "fetched_at": "2026-08-28T04:07:50.013836+00:00", "kind": "readme", "missing": false, "url": "https://github.com/florent37/ShapeOfView"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 10, "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": 3118, "days_push": 544, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 37, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}