{"adoption": {"forks": 342, "observed_at": "2026-08-28T04:05:59.780957+00:00", "stars": 1965}, "canonical_url": "https://ross.abutalabs.com/products/opentimelineio", "card": {"archived": false, "artifact_type": "library", "description": "Open Source API and interchange format for editorial timeline information.", "domain": ["media", "developer-tools", "graphics"], "enriched": true, "function": ["serialization", "sdk", "parser"], "health_score": 94, "homepage": "http://opentimeline.io", "language": "C++", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["AcademySoftwareFoundation/OpenTimelineIO"], "name": "AcademySoftwareFoundation/OpenTimelineIO", "platform": ["cpp", "python", "cross-platform"], "pushed_at": "2026-08-07T21:08:35+00:00", "repo": "AcademySoftwareFoundation/OpenTimelineIO", "stars": 1965, "tags": ["editorial-timeline", "interchange-format", "vfx", "film-editing", "nle", "opentime", "aswf", "video"], "topics": ["editorial", "timeline", "interchange-format", "animation", "vfx", "cut", "film", "otio", "editing", "video-editing", "film-editing", "interchange", "nle"], "urls": [], "use_cases": ["convert edit timelines between NLE applications like Premiere, Avid, and Resolve", "read and write editorial cut lists programmatically in Python", "integrate timeline data into VFX or animation pipelines", "manipulate clip timing and sequence structure in C++", "exchange cut information between game engines and editorial tools"], "what_it_is": "OpenTimelineIO (OTIO) is an open-source API and interchange format for editorial timeline/cut information, with a C++ core library, in-memory data model, and official Python bindings. It represents clip order, timing, and references to external media, but is not a media container format.", "when_to_avoid": ["you need to store or transcode actual media - OTIO only references media, it is not a container format", "you need a full video editing application rather than a timeline data library", "you need frame-accurate rendering of timelines on its own - OTIO delegates playback/rendering to other tools"], "when_to_choose": ["you need a stable, industry-adopted interchange format for editorial timeline data across film/TV tools", "you want Python or C++ APIs to inspect and transform cut/timing metadata", "you're building pipeline tooling that must move edit decisions between applications"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/opentimelineio", "repo": "AcademySoftwareFoundation/OpenTimelineIO", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.780957+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:05:27.842944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f5df0c9ef4ba155a2beb118cde33e97ac4ef64d9b6921e6faa3a21dcea3a765", "fetched_at": "2026-08-28T04:05:59.780957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AcademySoftwareFoundation/OpenTimelineIO"}, {"content_hash": "3cacef7f9066da1659ff511e002c78d47b8929fb7d9fc2ea475a5671a7529b57", "fetched_at": "2026-08-29T10:45:04.339184+00:00", "kind": "homepage", "missing": false, "url": "http://opentimeline.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.780957+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:05:27.842944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f5df0c9ef4ba155a2beb118cde33e97ac4ef64d9b6921e6faa3a21dcea3a765", "fetched_at": "2026-08-28T04:05:59.780957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AcademySoftwareFoundation/OpenTimelineIO"}, {"content_hash": "3cacef7f9066da1659ff511e002c78d47b8929fb7d9fc2ea475a5671a7529b57", "fetched_at": "2026-08-29T10:45:04.339184+00:00", "kind": "homepage", "missing": false, "url": "http://opentimeline.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:05:27.842944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f5df0c9ef4ba155a2beb118cde33e97ac4ef64d9b6921e6faa3a21dcea3a765", "fetched_at": "2026-08-28T04:05:59.780957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AcademySoftwareFoundation/OpenTimelineIO"}, {"content_hash": "3cacef7f9066da1659ff511e002c78d47b8929fb7d9fc2ea475a5671a7529b57", "fetched_at": "2026-08-29T10:45:04.339184+00:00", "kind": "homepage", "missing": false, "url": "http://opentimeline.io"}], "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:05:59.780957+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.780957+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.780957+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:05:27.842944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f5df0c9ef4ba155a2beb118cde33e97ac4ef64d9b6921e6faa3a21dcea3a765", "fetched_at": "2026-08-28T04:05:59.780957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AcademySoftwareFoundation/OpenTimelineIO"}, {"content_hash": "3cacef7f9066da1659ff511e002c78d47b8929fb7d9fc2ea475a5671a7529b57", "fetched_at": "2026-08-29T10:45:04.339184+00:00", "kind": "homepage", "missing": false, "url": "http://opentimeline.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.780957+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.780957+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:05:27.842944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f5df0c9ef4ba155a2beb118cde33e97ac4ef64d9b6921e6faa3a21dcea3a765", "fetched_at": "2026-08-28T04:05:59.780957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AcademySoftwareFoundation/OpenTimelineIO"}, {"content_hash": "3cacef7f9066da1659ff511e002c78d47b8929fb7d9fc2ea475a5671a7529b57", "fetched_at": "2026-08-29T10:45:04.339184+00:00", "kind": "homepage", "missing": false, "url": "http://opentimeline.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.780957+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.780957+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.780957+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:05:27.842944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f5df0c9ef4ba155a2beb118cde33e97ac4ef64d9b6921e6faa3a21dcea3a765", "fetched_at": "2026-08-28T04:05:59.780957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AcademySoftwareFoundation/OpenTimelineIO"}, {"content_hash": "3cacef7f9066da1659ff511e002c78d47b8929fb7d9fc2ea475a5671a7529b57", "fetched_at": "2026-08-29T10:45:04.339184+00:00", "kind": "homepage", "missing": false, "url": "http://opentimeline.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.780957+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.780957+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:05:27.842944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f5df0c9ef4ba155a2beb118cde33e97ac4ef64d9b6921e6faa3a21dcea3a765", "fetched_at": "2026-08-28T04:05:59.780957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AcademySoftwareFoundation/OpenTimelineIO"}, {"content_hash": "3cacef7f9066da1659ff511e002c78d47b8929fb7d9fc2ea475a5671a7529b57", "fetched_at": "2026-08-29T10:45:04.339184+00:00", "kind": "homepage", "missing": false, "url": "http://opentimeline.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:05:27.842944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f5df0c9ef4ba155a2beb118cde33e97ac4ef64d9b6921e6faa3a21dcea3a765", "fetched_at": "2026-08-28T04:05:59.780957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AcademySoftwareFoundation/OpenTimelineIO"}, {"content_hash": "3cacef7f9066da1659ff511e002c78d47b8929fb7d9fc2ea475a5671a7529b57", "fetched_at": "2026-08-29T10:45:04.339184+00:00", "kind": "homepage", "missing": false, "url": "http://opentimeline.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:05:27.842944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f5df0c9ef4ba155a2beb118cde33e97ac4ef64d9b6921e6faa3a21dcea3a765", "fetched_at": "2026-08-28T04:05:59.780957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AcademySoftwareFoundation/OpenTimelineIO"}, {"content_hash": "3cacef7f9066da1659ff511e002c78d47b8929fb7d9fc2ea475a5671a7529b57", "fetched_at": "2026-08-29T10:45:04.339184+00:00", "kind": "homepage", "missing": false, "url": "http://opentimeline.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:05:27.842944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f5df0c9ef4ba155a2beb118cde33e97ac4ef64d9b6921e6faa3a21dcea3a765", "fetched_at": "2026-08-28T04:05:59.780957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AcademySoftwareFoundation/OpenTimelineIO"}, {"content_hash": "3cacef7f9066da1659ff511e002c78d47b8929fb7d9fc2ea475a5671a7529b57", "fetched_at": "2026-08-29T10:45:04.339184+00:00", "kind": "homepage", "missing": false, "url": "http://opentimeline.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 56}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["prerelease_only"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3662, "days_push": 26, "days_rel": 297, "gap_med": 2, "n_releases_24m": 2}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}